17.02.2014, 20:48 | #51 |
Junior Member
Регистрация: 09.08.2013
Сообщений: 5
Вес репутации: 0 |
Re: Arduino и воспроизведение Wav
Хотя эта библиотека будет работать только с ATMega328.
Последний раз редактировалось BlockThor; 17.02.2014 в 20:51. |
17.12.2014, 04:16 | #52 |
Junior Member
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0 |
Re: Arduino и воспроизведение Wav
Уважаемый автор прекрасной библиотеки PlaySound! Не ругайся на меня! Я ее немного допилил и она теперь может воспроизводить звуки не только на 11-й вывод, но еще и на 3,9 и 10-й. Есть так же желание задавать уровень громкости звука. Не подскажите, как это сделать? Какие ассемблерные команды отвечают за эту функцию?
Заранее благодарю за ответ. С ув., Д. |
17.12.2014, 11:44 | #53 | ||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Arduino и воспроизведение Wav
Цитата:
Цитата:
|
||
17.12.2014, 14:11 | #54 |
Junior Member
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0 |
Re: Arduino и воспроизведение Wav
они тоже ШИМ (9,10), только используют другой таймер. Во вложении допиленная библиотека. В тексте все станет понятно.
А вот с уровнем звука я не понял ... Небольшой кусок кода не сложно будет Вам изобразить? Спасибо! с ув., Д. |
17.12.2014, 15:28 | #55 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Arduino и воспроизведение Wav
Цитата:
Для понимания этого процесса прикладываю изображение |
|
18.12.2014, 21:40 | #56 |
Junior Member
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0 |
Re: Arduino и воспроизведение Wav
Гуд. Это - просто. Спасибо за инфу. Теперь есть то, чем заняться в выходные!
Сделаю - обязательно отпишусь! Еще вопрос на засыпку: что за программа конвертирует WAV в массив и что она кушает на входе (понятно, что WAVe, но с какими характеристиками частота/битность и т.д.). Спасибо! С ув., Д. |
19.12.2014, 02:08 | #57 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Arduino и воспроизведение Wav
В программе настройки
Завтра поделюсь |
20.12.2014, 19:26 | #58 |
Junior Member
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0 |
Re: Arduino и воспроизведение Wav
Коллеги!
чего то как то не ладится с кодом ... На входе: old_data = pgm_read_byte(&wave[sample]); Уменьшаю громкость (myvol: 0,1 - 10% от исходника ... 0,5 - 50% от исходника, 1 - 100 % громкости...) либо так: if (old_data>0x7F) {old_data = (old_data-0x7F)*myvol+0x7F;} if (old_data<0x7F) {old_data = 0x7F - (0x7F-old_data)*myvol;} либо так: if (old_data>127) {old_data = (old_data-127)*myvol+127;} if (old_data<127) {old_data = 127 - (127-old_data)*myvol;} не работает в обоих случаях ... Подскажите, чайнику, что тут не так? примерно понимаю, что использую разные форматы чисел, но как вычислять в едином формате нет мыслей ... Спасибо! С ув., Д. |
20.12.2014, 19:43 | #59 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Arduino и воспроизведение Wav
Боюсь что операции с плавающей точкой здесь не приемлемы, так как они требуют много ресурсов. Еще нужно проверять семпл на минимум, так как семпл может быть меньше чем вычитаемое значение, при увеличении тоже самое только проверять на макс.
P.S. Уровень громкости имеет не линейную шкалу и простым операциями (+ и -) здесь не обойтись |
20.12.2014, 20:13 | #60 |
Junior Member
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0 |
Re: Arduino и воспроизведение Wav
как же быть .... у меня конечно все просто - слава Богу 4-ре вейва с разным уровнем громкости с легкостью помещаются в 30 кб памяти ... Но! есть и те, у кого один вейв еле-еле в 30 к пролазит, так еще и код программы память кушает.
Хочу ненавязчиво напомнить про программу, которая кушает вейвы и переваривает их в некую библиотеку, понятную PlaySound. Спасибо! С ув., Д. |
Здесь присутствуют: 4 (пользователей: 0 , гостей: 4) | |
|
|