PDA

Просмотр полной версии : Простой сэмплер на Atmega8



Владимир_Ама
28.05.2010, 02:00
Здравствуйте.Нашел такую вот наработку от Hiser'a.

Вопросы:

Как доработать ее? На ммс заливается вавка с нулевого сектора,а можно ли несколько вавок залить(допустим 5-6)? и как программно сделать чтобы при нажатии определенной кнопки проигрывалась определенная мелодия?

Т.е хотелось бы получить простой сэмплер с 5-6 кнопками.

И еще,представленный ниже код WinAVR-ом почему-то не принимается.

http://my-avr.at.ua/_pu/0/09559979.png


МК настроен на внутренний генератор 8МГц, можно перестроить на другую частоту изменив значение Q_FREQ в Гц.
WAV заливается на флешку без файловой системы, т.е. с 0-го сектора вместе с заголовком.
Поддерживается WAV 8000-48000 8bit mono


МК и Карточка подключается к питанию 3.3V

Tadas
28.05.2010, 08:17
И еще,представленный ниже код WinAVR-ом почему-то не принимается.
Потому, что это ассемблерный текст.
Принимается AVR Studio.

Кукин Николай Николаевич
28.05.2010, 10:09
Это точно не Winavr.Ассемблерные вставки там выглядят совсем по-другому.
Очень похоже, что это CodeVisionAVR. Во всяком случае, в нем этот текст компилится. Кроме того, ассемблерные вставки там делаются именно таким способом.
По вопросу нескольких музык, тут ничего не могу сказать, но если Вы приступите к реализации своей мечты, то на мой взгляд, придется как минимум разбираться со структурой записи файлов на карте. Автор не стал заморачиваться этим вопросом и просто расположил всю запись начиная с самого начала памяти флэшки, а потом закольцевал воспроизведение. Таким образом, только одна музыка.
Николай.

Veka
28.05.2010, 11:27
Не так давно поднимали похожую тему... http://diod.ucoz.ru/publ/mikrokontrollery/skhemy_na_mk/wav_pleer_na_mikroko ntrollere_attiny85/4-1-0-128
Может будет полезно?
Первоисточник http://elm-chan.org/works/sd8p/report.html .
В этом проекте возможно проигрывание многих файлов.

Владимир_Ама
28.05.2010, 12:37
По вопросу нескольких музык, тут ничего не могу сказать, но если Вы приступите к реализации своей мечты, то на мой взгляд, придется как минимум разбираться со структурой записи файлов на карте. Автор не стал заморачиваться этим вопросом и просто расположил всю запись начиная с самого начала памяти флэшки, а потом закольцевал воспроизведение. Таким образом, только одна музыка.
Николай.


void playlooping() {
word i;
if (udbuff!=0&&sdi!=0) {
if (wavesize>127) wavesize-=128; else wavesize=0;
if (wavesize==0) {
stop();
play();
return;

Если я правильно понял,можно ли объединить несколько звуков в один вав файл, и при нажатии кнопки проигрывать его именно с определенного момента(от и до).Если да ,то как будет выглядеть код?

Может ли с этого одного вава считываться сразу несколько потоков(допустим 2 кнопки одновременно)?