Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.02.2014, 20:48   #51
BlockThor
Junior Member
 
Регистрация: 09.08.2013
Сообщений: 5
Вес репутации: 0
BlockThor is an unknown quantity at this point
По умолчанию Re: Arduino и воспроизведение Wav

Хотя эта библиотека будет работать только с ATMega328.

Последний раз редактировалось BlockThor; 17.02.2014 в 20:51.
BlockThor вне форума   Ответить с цитированием
Старый 17.12.2014, 04:16   #52
Deniska407
Junior Member
 
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0
Deniska407 is an unknown quantity at this point
По умолчанию Re: Arduino и воспроизведение Wav

Уважаемый автор прекрасной библиотеки PlaySound! Не ругайся на меня! Я ее немного допилил и она теперь может воспроизводить звуки не только на 11-й вывод, но еще и на 3,9 и 10-й. Есть так же желание задавать уровень громкости звука. Не подскажите, как это сделать? Какие ассемблерные команды отвечают за эту функцию?
Заранее благодарю за ответ.

С ув.,
Д.
Deniska407 вне форума   Ответить с цитированием
Старый 17.12.2014, 11:44   #53
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Arduino и воспроизведение Wav

Цитата:
Уважаемый автор прекрасной библиотеки PlaySound! Не ругайся на меня! Я ее немного допилил и она теперь может воспроизводить звуки не только на 11-й вывод, но еще и на 3,9 и 10-й
С 3-им пином понятно, а вот про 9 и 10 можно по подробней?

Цитата:
Есть так же желание задавать уровень громкости звука. Не подскажите, как это сделать?
нужно каждый воспроизводимый семпл, прогонять через определенную формулу уменьшения или увеличения уровня
Admin вне форума   Ответить с цитированием
Старый 17.12.2014, 14:11   #54
Deniska407
Junior Member
 
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0
Deniska407 is an unknown quantity at this point
По умолчанию Re: Arduino и воспроизведение Wav

они тоже ШИМ (9,10), только используют другой таймер. Во вложении допиленная библиотека. В тексте все станет понятно.

А вот с уровнем звука я не понял ... Небольшой кусок кода не сложно будет Вам изобразить?

Спасибо!

с ув.,
Д.
Вложения
Тип файла: zip PlaySound.zip (2.3 Кб, 275 просмотров)
Deniska407 вне форума   Ответить с цитированием
Старый 17.12.2014, 15:28   #55
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Arduino и воспроизведение Wav

Цитата:
А вот с уровнем звука я не понял ... Небольшой кусок кода не сложно будет Вам изобразить?
Примера нет, но там нужно относительно нулевой точки(127) производить вычитание и увеличение уровня семпла. Если значение больше чем 127, то вычитание. Если значение меньше чем 127 то прибавляем

Для понимания этого процесса прикладываю изображение
Нажмите на изображение для увеличения
Название: 800px-Pcm.svg.png
Просмотров: 151
Размер:	29.5 Кб
ID:	2100
Admin вне форума   Ответить с цитированием
Старый 18.12.2014, 21:40   #56
Deniska407
Junior Member
 
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0
Deniska407 is an unknown quantity at this point
По умолчанию Re: Arduino и воспроизведение Wav

Гуд. Это - просто. Спасибо за инфу. Теперь есть то, чем заняться в выходные!

Сделаю - обязательно отпишусь!

Еще вопрос на засыпку: что за программа конвертирует WAV в массив и что она кушает на входе (понятно, что WAVe, но с какими характеристиками частота/битность и т.д.).

Спасибо!

С ув.,
Д.
Deniska407 вне форума   Ответить с цитированием
Старый 19.12.2014, 02:08   #57
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Arduino и воспроизведение Wav

В программе настройки
Завтра поделюсь
Admin вне форума   Ответить с цитированием
Старый 20.12.2014, 19:26   #58
Deniska407
Junior Member
 
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0
Deniska407 is an unknown quantity at this point
По умолчанию 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;}

не работает в обоих случаях ...
Подскажите, чайнику, что тут не так? примерно понимаю, что использую разные форматы чисел, но как вычислять в едином формате нет мыслей ...

Спасибо!

С ув.,
Д.
Deniska407 вне форума   Ответить с цитированием
Старый 20.12.2014, 19:43   #59
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Arduino и воспроизведение Wav

Боюсь что операции с плавающей точкой здесь не приемлемы, так как они требуют много ресурсов. Еще нужно проверять семпл на минимум, так как семпл может быть меньше чем вычитаемое значение, при увеличении тоже самое только проверять на макс.

P.S.
Уровень громкости имеет не линейную шкалу и простым операциями (+ и -) здесь не обойтись
Admin вне форума   Ответить с цитированием
Старый 20.12.2014, 20:13   #60
Deniska407
Junior Member
 
Регистрация: 17.12.2014
Сообщений: 8
Вес репутации: 0
Deniska407 is an unknown quantity at this point
По умолчанию Re: Arduino и воспроизведение Wav

как же быть .... у меня конечно все просто - слава Богу 4-ре вейва с разным уровнем громкости с легкостью помещаются в 30 кб памяти ... Но! есть и те, у кого один вейв еле-еле в 30 к пролазит, так еще и код программы память кушает.
Хочу ненавязчиво напомнить про программу, которая кушает вейвы и переваривает их в некую библиотеку, понятную PlaySound.

Спасибо!

С ув.,
Д.
Deniska407 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 7 (пользователей: 0 , гостей: 7)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:35. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика