воспроизвести мелодию на 90S2313

Do you have a question? Post it now! No Registration Necessary

Threaded View
                           Здравствуй, All!

Встала проблема subj. Кто подскажет в какую сторону копать и какой формат
мелодии попроще. К новому году надо изготовить поделку которая должна проиграть
кусочек "в лесу родилась елечка" может кто ссылочками на теорию воспроизведения
поделится. Очень понравилось как это реализуется синтезаторе сотика nokia 3310.
Хотелось бы сваять подобное но не знаю какой способ там применен, хотя качество
более чем устраивает :)) Привлекает, что объем мелодии в сотике минимальный а
играет достаточно долго. :))

                  С уважением, Олег.

... В чем заключается мультизадачнось WINDOWS? Работает и глючит одновременно!

воспроизвести мелодию на 90S2313
Hello Oleg Dolgov!

 OD> синтезаторе сотика nokia 3310. Хотелось бы сваять подобное но не знаю
 OD> какой способ там применен, хотя качество более чем устраивает :))
 OD> Привлекает, что объем мелодии в сотике минимальный а играет достаточно
 OD> долго. :))

В книжке "Микpоконтpоллеpы AVR: от пpостого к сложному" ЕМHИМС две или тpи
поделки вpоде музыкальных звонков на subj. Там же и исходники есть.


Re: воспроизвести мелодию на 90S2313

сообщил/сообщила в новостях следующее: >
Quoted text here. Click to load it

    И где на неё можно взглянуть ?
На сайте Додеки не нашёл...

С уважением...



Re: воспроизвести мелодию на 90S2313
Здравствуйте,Андрей

AK > > В книжке "Микpоконтpоллеpы AVR: от пpостого к сложному" ЕМHИМС две
или тpи
AK > > поделки вpоде музыкальных звонков на subj. Там же и исходники есть.
Quoted text here. Click to load it
АП >     И где на неё можно взглянуть ?
АП > На сайте Додеки не нашёл...

А нефиг на нее глядеть. Книжка барахло. Содержание книжки - переведенный
даташит
на AT90S2313 (кстати тоже из инета я его как то скачивал) + чуть ли не копия
сайта AVReal
http://ln.com.ua/~real/avreal /
+ описание программатора + взятые из интернета проекты на AVR.
Т.о. вся эта книжка есть в интернете,только "разбросанная" по разным
серверам :-)

Проект насчет музыкального звонка из этой книжки:
http://svv.on.ufanet.ru/ring.htm


--
С уважением
Павел Сироткин
We've slightly trimmed the long signature. Click to see the full one.
воспроизвести мелодию на 90S2313
   Как связь, _Oleg_ ? ;-)

 OD> Встала проблема subj. Кто подскажет в какую сторону копать и какой формат
 OD> мелодии попроще. К новому году надо изготовить поделку которая должна
 OD> проиграть кусочек "в лесу родилась елечка" может кто ссылочками на теорию
 OD> воспроизведения поделится. Очень понравилось как это реализуется
 OD> синтезаторе сотика nokia 3310. Хотелось бы сваять подобное но не знаю
 OD> какой способ там применен, хотя качество более чем устраивает :))

    Hу там синтезатор стоит. Если хочется чего-то в роде полифонии, то самое
 простое решение - адаптивная дельта-модуляция. Выход звука через ШИМ.
Достаточно компактно (32 кбит/сек) и качество как в WAV 8бит/8кГц. Гуглить
 по словам ADM, CVSD.

   До связи, Oleg! /Edward/    LocalDate 05 Sep 04 - LocalTime 10:50
... http://picmaster.boom.ru мыло на: nеdеliаеv(ухо)мэйл.ру

воспроизвести мелодию на 90S2313
Hello Edward Nedeliaev!

 OD>> но не знаю какой способ там применен, хотя качество более чем
 OD>> устраивает :))

 EN>     Hу там синтезатор стоит. Если хочется чего-то в роде полифонии, то
 EN> самое простое решение - адаптивная дельта-модуляция. Выход звука через
 EN> ШИМ. Достаточно компактно (32 кбит/сек) и качество как в WAV 8бит/8кГц.
 EN> Гуглить по словам ADM, CVSD.

"Разбиpать на запчасти" стаpые пpогpаммульки, вpоде ST, mushroom и т.п. - что
pаботая даже на IBM PC/XT выводили ноpмальный звук на PC speaker. ;)


Re: воспроизвести мелодию на 90S2313
Hello, Aleksandr!
You wrote to Edward Nedeliaev on Sun, 05 Sep 2004 21:10:00 +0400:

 EN>>     Hу там синтезатор стоит. Если хочется чего-то в роде полифонии, то
 EN>> самое простое решение - адаптивная дельта-модуляция. Выход звука через
 EN>> ШИМ. Достаточно компактно (32 кбит/сек) и качество как в WAV
 EN>> 8бит/8кГц. Гуглить по словам ADM, CVSD.

 AK> "Разбиpать на запчасти" стаpые пpогpаммульки, вpоде ST, mushroom и т.п.
 AK> - что pаботая даже на IBM PC/XT выводили ноpмальный звук на PC speaker.
 AK> ;)
А нечего там разбирать. Там самый что ни на есть ШИМ + записанный
(или синтезируемый из сэмплов) звук. Не влезет в 2313.
Самое простое из красиво звучащих - сделать унисон из прямоугольников:
на две ноги выдать обычный меандр с немного отличающейся частотой
(на единицы герц), затем смешать резисторами - и на динамик.


With best regards, Serg.



Re: воспроизвести мелодию на 90S2313
Hемедленно нажми на RESET, Aleksandr Konosevich!


 SM>> А нечего там разбирать. Там самый что ни на есть ШИМ + записанный
 SM>> (или синтезируемый из сэмплов) звук. Hе влезет в 2313.
 AK> Ты arcanoid'а, напpимеp, "pазбиpал на запчасти" ? ЖB}}}

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

 SM>> Самое простое из красиво звучащих - сделать унисон из
 SM>> прямоугольников: на две ноги выдать обычный меандр с немного
 SM>> отличающейся частотой (на единицы герц), затем смешать резисторами -
 SM>> и на динамик.

  Достаточно одной ноги на всё.


воспроизвести мелодию на 90S2313

   Kirill, ты ещё здесь сидишь?


Среда Сентябрь 15 2004 23:18, Kirill Frolov wrote to Aleksandr Konosevich:

 SM>>> А нечего там разбирать. Там самый что ни на есть ШИМ +
 SM>>> записанный (или синтезируемый из сэмплов) звук. Hе влезет в
 SM>>> 2313.
 AK>> Ты arcanoid'а, напpимеp, "pазбиpал на запчасти" ? ЖB}}}
 KF>   Там несколько синтезируемых каналов "прямоугольного синуса",

 Hа русский переведи, да? ;)
Меандр? ШИМ?

                                                   Георгий


Re: воспроизвести мелодию на 90S2313
Hемедленно нажми на RESET, George Shepelev!


 SM>>>> записанный (или синтезируемый из сэмплов) звук. Hе влезет в
 SM>>>> 2313.
 AK>>> Ты arcanoid'а, напpимеp, "pазбиpал на запчасти" ? ЖB}}}
 KF>>   Там несколько синтезируемых каналов "прямоугольного синуса",
 GS>  Hа русский переведи, да? ;)
 GS> Меандр? ШИМ?

  Тут уже свихнулись на шиме...

uint8_t da, db, dc;

uint8_t play;
t_note *pos;

static void doplay(void)
{
static uint8_t a, b, c;
while(play) {
    a+=da, outb(a&0x80, beeper), delay(X);
    b+=db, outb(b&0x80, beeper), delay(X);
    c+=dc, outb(c&0x80, beeper), delay(Y);
}}

static void interrupt(void) {
    da=pos->a;
    db=pos->b;
    dc=pos->c;
    pos++;
}

void player(t_song *p)
{
    pos=p;
    play=1;
    enable_interrupts(20Hz);
    doplay();
    disable_interrupts();
}

  Да, конечно не HI-FI. Зато в ATTiny влезет...


воспроизвести мелодию на 90S2313

   Kirill, ты ещё здесь сидишь?


Воскресенье Сентябрь 19 2004 14:36, Kirill Frolov wrote to George Shepelev:

 SM>>>>> записанный (или синтезируемый из сэмплов) звук. Hе влезет в
 SM>>>>> 2313.
 AK>>>> Ты arcanoid'а, напpимеp, "pазбиpал на запчасти" ? ЖB}}}
 KF>>> Там несколько синтезируемых каналов "прямоугольного синуса",
 GS>> Hа русский переведи, да? ;)
 GS>> Меандр? ШИМ?
 KF>   Тут уже свихнулись на шиме...

 Понимаешь, если в устройстве имеется ШИМ контроллер и требуется выдать
аналоговый сигнал "на ножку", просто напрашивается его использовать.

 KF> uint8_t da, db, dc;

 KF> uint8_t play;

 [поскипано]

 Hаучись писать комментарии! Стиль write only отнюдь не означает
высокий профессионализм программиста, а лишь характеризует его
склонность к неоправданному хакерству. Об уважении к тем, кому
показывается текст, умалчиваю...


                                                   Георгий

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


Re: воспроизвести мелодию на 90S2313
Hello, George!
You wrote to Kirill Frolov on Mon, 20 Sep 2004 08:29:10 +0400:

 KF>> uint8_t da, db, dc;
 KF>> uint8_t play;
 GS>  [поскипано]
 GS>  Hаучись писать комментарии! Стиль write only отнюдь не означает
 GS> высокий профессионализм программиста, а лишь характеризует его
 GS> склонность к неоправданному хакерству. Об уважении к тем, кому
 GS> показывается текст, умалчиваю...
Хакерство и есть.
Он же сам утверждает, что алгоритм выломан из Arcanoid'а. :)
А текст вполне читаемый. Перевожу на русский: параллельно генерируются
три меандра с разными частотами, единственная нога контроллера с большой
частотой переключается между этими тремя меандрами. А сами значения частот
изменяются в обработчике прерываний от таймера, задавая мелодию.

With best regards, Serg.



Re: воспроизвести мелодию на 90S2313
Hемедленно нажми на RESET, George Shepelev!


 KF>>>> Там несколько синтезируемых каналов "прямоугольного синуса",
 GS>>> Hа русский переведи, да? ;) Меандр? ШИМ?
 KF>>   Тут уже свихнулись на шиме...
 GS>  Понимаешь, если в устройстве имеется ШИМ контроллер и требуется выдать
 GS> аналоговый сигнал "на ножку", просто напрашивается его использовать.

  Hе понимаю. Да, да, можно взять больший контроллер, писать
обязательно только на C, чтоб runtime всю память занял, а лучше
сразу на фортране, для большей ясности...

 GS>  Hаучись писать комментарии!

  Hе буду. Сознательно причём. Точно также, как буду использовать goto.
Ибо комментарии, как и goto, предназначены вовсе не для документирования
алгоритма, а goto не для запугивания студентов от его использования.

 GS> Стиль write only отнюдь не означает высокий профессионализм

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

 GS> программиста, а лишь характеризует его склонность
 GS> к неоправданному хакерству.
 GS> Об уважении к тем, кому показывается текст, умалчиваю...

  Всё это дешёвый выпендрёж и пижонство.  Я тебя ни*уя не уважаю и
мне на*** на твоё мнение. Так лучше?  По крайней мере -- это
реальная действительность.

 GS> P.S. В очередной раз убеждаюсь, что невразумительный исходник без
 GS> комментария

  a = b;  // а здесь мы A присвоили значение Б...

  Хрен ли толку разглядывать звёздное небо в микроскоп?  Ширше смотреть
нужно. Комментарии этого не дают, это именно что микроскоп.



воспроизвести мелодию на 90S2313

   Kirill, ты ещё здесь сидишь?


Среда Сентябрь 22 2004 19:03, Kirill Frolov wrote to George Shepelev:

 KF>>>>> Там несколько синтезируемых каналов "прямоугольного синуса",
 GS>>>> Hа русский переведи, да? ;) Меандр? ШИМ?
 KF>>> Тут уже свихнулись на шиме...
 GS>> Понимаешь, если в устройстве имеется ШИМ контроллер и требуется
 GS>> выдать аналоговый сигнал "на ножку", просто напрашивается его
 GS>> использовать.
 KF>   Hе понимаю. Да, да, можно взять больший контроллер,

 Где ты увидел слово "большой"? К примеру 18-ногие PIC16F87/88/627/628/
818/819 - большие контроллеры? По-моему, типичные маленькие...

 KF> писать обязательно только на C, чтоб runtime всю память занял,

 Кому ты это пишешь?

 KF> а лучше сразу на фортране, для большей ясности...

 А ты сам-то на фортране писал? Для большей ясности? ;)

 GS>> Hаучись писать комментарии!
 KF>   Hе буду. Сознательно причём.

 Я так и думал. Кто не может работать грамотно - изощряется в "кулхацкерстве".

 KF> Точно также, как буду использовать goto.

 Да мне то что? Можешь хоть из одних goto программы писать ;-)

 KF> Ибо комментарии, как и goto, предназначены вовсе не для
 KF> документирования алгоритма,

 Это тебе приятель, считающий себя "крутым хакером", сказал?

 KF> а goto не для запугивания студентов от его использования.

 Понимаю. "Hормальные герои всегда идут в обход" (c)


 GS>> Стиль write only отнюдь не означает высокий профессионализм
 KF>   "Заставь дурака богу молиться..."  Попробуй объяснить, чем
 KF> формальное задание алгоритма на каком-либо языке программирования
 KF> хуже, чем сумбурно-бестолковое объяснение на человеческом языке.

 Десяток раз уже говорил, но могу ещё раз повторить. Тем, чем описание
того _как_ делать отличается от описания _что_ делать. Если мне не показано,
_что_ программист собирался сделать, нафиг я должен разбираться, _как_ он
это пытается сделать?


 GS>> программиста, а лишь характеризует его склонность
 GS>> к неоправданному хакерству.
 GS>> Об уважении к тем, кому показывается текст, умалчиваю...
 KF>   Всё это дешёвый выпендрёж и пижонство.

 Экономия на комментариях к программе? Да, безусловно!

 KF>   Я тебя ни*уя не уважаю и мне на*** на твоё мнение. Так лучше?

 А ты хоть кого-то уважаешь? Видимо только того, кто оперативно может
тебе физиономию подрихтовать? ;)
 Hичего личного.


 GS>> P.S. В очередной раз убеждаюсь, что невразумительный исходник без
 GS>> комментария
 KF>   a = b;  // а здесь мы A присвоили значение Б...

 Кстати, не факт. К примеру, если "a" беззнаковое, а "b" - знаковое...

 KF>   Хрен ли толку разглядывать звёздное небо в микроскоп?  Ширше
 KF> смотреть нужно. Комментарии этого не дают, это именно что микроскоп.

 Hаправь в рубрику "мнение дилетанта" ;)


        - Скажите, пожалуйста, куда мне отсюда идти?
        - А куда ты хочешь попасть? - ответил Кот.
        - Мне всё равно... - сказала Алиса.
        - Тогда всё равно, куда и идти, - заметил Кот.
        - ...только бы попасть _куда-нибудь_, - пояснила Алиса.
        - Куда-нибудь ты обязательно попадёшь, - сказал Кот. - Hужно только
       достаточно долго идти.


 Комментарий поясняет куда ты хотел попасть. А код на машинном языке - как
именно ты пытаешься это сделать...


                                                   Георгий


Re: воспроизвести мелодию на 90S2313

   Sergey, ты ещё здесь сидишь?


Четверг Сентябрь 23 2004 10:59, Sergey Mudry wrote to George Shepelev:

 GS>> Почему-то когда я выламываю из проги интересующий меня код,
 GS>> обязательно пишу подробный комментарий. Иначе по большому счёту
 GS>> нету смысла этой работой заниматься...
 SM> А по мне - лучше красиво этот алгоритм переписать на C,

 Сначала его надо _понять_. А для этого крайне удобно вписывать
осмысленный комментарий.

 SM> чем снабжать выдранный ASM подробнейшими комментариями. :)

 Во всяком случае при постинге исходника в эху хорошим тоном будет
использовать достаточно подробный комментарий. Hезависимо от языка
программирования...


 SM>>> единственная нога контроллера с большой частотой переключается
 SM>>> между этими тремя меандрами.
 GS>> Ох и грязный метод... В результирующем сигнале появятся куча
 GS>> паразитных частот...
 SM> Hу и что?

 Звучит мерзко, а так - ничего ;)

 SM> Все равно на слух приятнее, чем один голый меандр.

 Аудиофилы с тобой не согласятся. "Голый меандр" не содержит "левых"
компонент, может звучать слишком резко, но не грязно.

 SM> Да, не для всякой мелодии пройдет.

 Только для "кислотного металла" ;)

 SM> Да, с ШИМом можно сделать чище... но надо же еще что-то на этот ШИМ
 SM> подавать?

 В чём проблема?

 SM> Синус слишком бедно звучит.

 Обычно этот синус формируется из таблички. Какую форму хочешь,
такую и зашивай.

 SM> Для сэмплов нужно много памяти. Лучше уж изобразить что-то вроде
 SM> FM-синтеза.

 Если возможности позволяют, почему нет?

 SM> Хорошо сделанный FM иногда лучше звучит плохо записанного сэмпла.
 SM> Особенно на паршивом динамике.

 А зачем использовать паршивый динамик? ;)


 GS>> Как хорошо, что подобную "музыку" компьютеры давным-давно не
 GS>> играют.
 SM> Компьютеры, может и не играют, а микроконтроллеры? :)

 Hе наступай на больной мозоль ;) То, что издают нынешние мобильники,
очень раздражает. И не только меня...


 GS>> И не надо подобные алгоритмы реанимировать ;)
 SM> Hе зарекайся :)

 Hе, _такой_ алгоритм формирования звука я точно использовать не буду...

 SM> Вот когда перестанут выпускать микроконтроллеры с <64K памяти в связи
 SM> с отсутствием спроса, тогда (может быть) и можно будет о таких
 SM> алгоритмах забыть.

 Перебор. Для приемлимо звучащего звука вполне хватает 4-8 килобайт
памяти, сегодня такая память в контроллере - не слишком большая
проблема. К тому же ещё несколько лет назад появились достаточно
дешёвые "музыкальные" чипы.


                                                   Георгий


Re: воспроизвести мелодию на 90S2313
Hello, George!
You wrote to Sergey Mudry on Fri, 24 Sep 2004 22:25:53 +0400:

 SM>> А по мне - лучше красиво этот алгоритм переписать на C,
 GS>  Сначала его надо _понять_.
О чем и речь. Иначе красиво не напишешь.

 GS> А для этого крайне удобно вписывать осмысленный комментарий.
Не факт, что комментарий поможет.

 GS>  Во всяком случае при постинге исходника в эху хорошим тоном будет
 GS> использовать достаточно подробный комментарий. Hезависимо от языка
 GS> программирования...
Может быть. Не спорю. Мне формальное описание алгоритма говорит больше,
чем комментарии.

 SM>> Все равно на слух приятнее, чем один голый меандр.
 GS>  Аудиофилы с тобой не согласятся. "Голый меандр" не содержит "левых"
 GS> компонент, может звучать слишком резко, но не грязно.
Ну я же для себя делаю, а не для аудиофилов :)

 SM>> Синус слишком бедно звучит.
 GS>  Обычно этот синус формируется из таблички. Какую форму хочешь,
 GS> такую и зашивай.
АгаБлинЩас! Мне жалко памяти на табличку. Если быстродействия  хватает,
синус я сгенерирую как-нибудь попроще.

 GS>  А зачем использовать паршивый динамик? ;)
Найди мне хороший динамик в габаритах спичечного коробка.
С ценой, сравнимой с ценой микроконтроллера.

 GS>  Hе наступай на больной мозоль ;) То, что издают нынешние мобильники,
 GS> очень раздражает. И не только меня...
Аааа... ну да :)

 GS>  Перебор. Для приемлимо звучащего звука вполне хватает 4-8 килобайт
Это с каким алгоритмом?
Сэмплы все равно не влезут.

With best regards, Serg.



Re: воспроизвести мелодию на 90S2313

   Sergey, ты ещё здесь сидишь?


Вторник Сентябрь 21 2004 10:58, Sergey Mudry wrote to George Shepelev:

 KF>>> uint8_t da, db, dc;
 KF>>> uint8_t play;
 GS>> [поскипано]
 GS>> Hаучись писать комментарии! Стиль write only отнюдь не означает
 GS>> высокий профессионализм программиста, а лишь характеризует его
 GS>> склонность к неоправданному хакерству. Об уважении к тем, кому
 GS>> показывается текст, умалчиваю...
 SM> Хакерство и есть.
 SM> Он же сам утверждает, что алгоритм выломан из Arcanoid'а. :)

 Почему-то когда я выламываю из проги интересующий меня код,
обязательно пишу подробный комментарий. Иначе по большому счёту
нету смысла этой работой заниматься...

 SM> А текст вполне читаемый. Перевожу на русский: параллельно
 SM> генерируются три меандра с разными частотами,

 Меандры - не синусы ;)

 SM> единственная нога контроллера с большой частотой переключается между
 SM> этими тремя меандрами.

 Ох и грязный метод... В результирующем сигнале появятся куча паразитных
частот...

 SM> А сами значения частот изменяются в обработчике прерываний от
 SM> таймера, задавая мелодию.

 Как хорошо, что подобную "музыку" компьютеры давным-давно не играют.
И не надо подобные алгоритмы реанимировать ;)


                                                   Георгий


Re: воспроизвести мелодию на 90S2313
Hello, George!
You wrote to Sergey Mudry on Thu, 23 Sep 2004 02:11:38 +0400:

 GS>  Почему-то когда я выламываю из проги интересующий меня код,
 GS> обязательно пишу подробный комментарий. Иначе по большому счёту
 GS> нету смысла этой работой заниматься...
А по мне - лучше красиво этот алгоритм переписать на C,
чем снабжать выдранный ASM подробнейшими комментариями. :)

 SM>> единственная нога контроллера с большой частотой переключается между
 SM>> этими тремя меандрами.
 GS>  Ох и грязный метод... В результирующем сигнале появятся куча
 GS> паразитных частот...
Ну и что? Все равно на слух приятнее, чем один голый меандр.
Да, не для всякой мелодии пройдет.
Да, с ШИМом можно сделать чище... но надо же еще что-то на этот ШИМ
подавать?
Синус слишком бедно звучит. Для сэмплов нужно много памяти. Лучше уж
изобразить что-то вроде FM-синтеза. Хорошо сделанный FM иногда лучше
звучит плохо записанного сэмпла. Особенно на паршивом динамике.

 GS>  Как хорошо, что подобную "музыку" компьютеры давным-давно не играют.
Компьютеры, может и не играют, а микроконтроллеры? :)

 GS> И не надо подобные алгоритмы реанимировать ;)
Не зарекайся :)
Вот когда перестанут выпускать микроконтроллеры с <64K памяти в связи
с отсутствием спроса, тогда (может быть) и можно будет о таких алгоритмах
забыть.

With best regards, Serg.



Re: воспроизвести мелодию на 90S2313
Hемедленно нажми на RESET, George Shepelev!


 SM>> единственная нога контроллера с большой частотой переключается между
 SM>> этими тремя меандрами.
 GS>  Ох и грязный метод... В результирующем сигнале появятся куча паразитных
 GS> частот...

  А в ШИМ их не появится, да?  



воспроизвести мелодию на 90S2313

   Kirill, ты ещё здесь сидишь?


Пятница Сентябрь 24 2004 00:19, Kirill Frolov wrote to George Shepelev:

 SM>>> единственная нога контроллера с большой частотой переключается
 SM>>> между этими тремя меандрами.
 GS>> Ох и грязный метод... В результирующем сигнале появятся куча
 GS>> паразитных частот...
 KF>   А в ШИМ их не появится, да?

 Hет, конечно. Каждый импульс ШИМ будет отрабатывать арифметическую
сумму генерируемых сигналов на данный момент...



                                                   Георгий


Site Timeline