Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Музыкальный звонок
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Sugar
Еще в книге Сташина за 90г. были описаны принципы нот и тональностей на МК. Меня интересуют ссылки на звонки сделанные на AVR с современніми мелодиями. В нете я видел звонки на PIC с редактором мелодий (мелодия загружается в EEPROM AT24C... PIC читает и проигрывает.
Хотелось бы такое и на AVR сделать.
Сначала думал на ISD2590 записать мелодию и проигрівать, но там стоит фильт на 3КГц, не очень хорошее качество.
В последнем номере Радиоамматро (или Радиомир) есть пример по использованию звука на ПЗУ (там уже простенькое подобие ЦАП на резисторах) автор говорит что качество звука хорошее.
Кто что может сказать по теме, если можно ссылки???
vet
В 90-х для озвучки самой разной микропроцессорной техники широко применялась микросхема AY-3-8910/12 (YM2149F) - полифонический синтезатор. Простой интерфейс, подключается куда угодно, а уж мелодий под неё написано - не переслушать wink.gif
Описание микросхемы на русском лежит тут: http://home.udmnet.ru/vog/index.htm, там же - конструкция звонка; правда, под управлением Z80, но без особых проблем адаптируется для любых м/к, благо форматы музыки, которые этот звонок понимает, есть в Сети.
SPS
Когда-то делал такой звонок на АТ90S8535. Ноты синтезировал сам. Известно,что каждая последующая нота отличается от предудущей в
2^(1/12) раз (1,05946309436). Например, если нота ля (А) соответствует частоте 440Гц, то следующая си-бемоль (Bb) равна 466,2 Гц и. т.д. Вычисляется ряд частот, задаются интервалы звучания и паузы, выводится в порт на динамик - получается простой синтезатор мелодий.
Если интересует, могу скинуть свой исходник на 35-й AVR.
Ljubitel
Писал тут себе звоночек
http://pol-sem.narod.ru/muson/muson.htm
Alex_St
Посмотри еще вот такой звоночек:
DoorBell
Sugar
Спасибо все кто откликнулся,
я думаю что остановлюсь на
http://pol-sem.narod.ru/muson/muson.htm
UserM
ftp://83.228.49.238/Books/Magazines/Elekt...003/e039032.pdf
Полифонический звонок, но на 16F84 с исходниками.
Sugar
не с PIC я не дружу.
Господа, есть ли программы которые позволяют из мелодий (допустим мобильных телефонов или любых других) сформировать нотный ряд. А уж ноты затем можно загнать в AVR.????
Ljubitel мелодия Ва-Банк супер!!!!
NickB
Цитата(Sugar @ Mar 1 2005, 09:57)
не с PIC я не дружу.
Господа, есть ли программы которые позволяют из мелодий (допустим мобильных телефонов или любых других) сформировать нотный ряд. А уж ноты затем можно загнать в AVR.????
Ljubitel мелодия Ва-Банк супер!!!!
*

Так из любого МИДИ можно нотки получить
Программ куча Например Melody assistant(www.myriad.com)
Finale, Sibelius, Anvil Studio etc. кое-что можно взять на www.websound.ru
Ljubitel
Цитата(Sugar @ Mar 1 2005, 09:57)
Ljubitel мелодия Ва-Банк супер!!!!
*


Угу. "От скуки на все руки".
Вообще то это кусочек другого проекта оформленный в "звонок".
SPS
Цитата(Sugar @ Mar 1 2005, 08:57)
не с PIC я не дружу.
Господа, есть ли программы которые позволяют из мелодий (допустим мобильных телефонов или любых других) сформировать нотный ряд. А уж ноты затем можно загнать в AVR.????
Ljubitel мелодия Ва-Банк супер!!!!
*

С мобильника можно сохранить мелодию в формате *.mid.
Любой программой редактирования midi, например cakewalk можно просмотреть ноты. Далее необходимо продумать алгоритм дампа памяти, из которого будут читатся данные: нота, интервал, длительность, например:
.dw 440,10,20, 261,10,10, ... и.т.д, где первое значение - частота тона, второе и третье - длительность звучания и пауза соответственно. Для упрощения задачи можно написать макрос, а частоты нот на разных октавах можно получать умножением на число кратное 2. Т.о. можно изменять тональность всей мелодии.
Что касается программы преобразования в нотный ряд, то можно попробовать напрямую преобразовать midi-файл в уникальный нотный ряд, понятный МК, правда не знаю оправдается ли затраты на написание такой программы ради нескольких мелодий.
Sugar
поставил на закачку cakewalk
я неплохо владею С++Builder, поєтому думаю смогу написать программку которая будет брать ноты из cakewalk и генерировать С код под AVR.
Может кто-то такое уже делал???
SPS
Цитата(Sugar @ Mar 3 2005, 15:47)
поставил на закачку cakewalk
я неплохо владею С++Builder, поєтому думаю смогу написать программку которая будет брать ноты из cakewalk и генерировать С код под AVR.
Может кто-то такое уже делал???
*

Я вскрывал формат миди файла и читал ноты простенькой одноголосой мелодии с помощью проги на ассемблере.
Sugar, а каким образом вы думаете получать ноты из cakewalk?
vet
Цитата(Sugar @ Mar 3 2005, 16:47)
поставил на закачку cakewalk
я неплохо владею С++Builder, поєтому думаю смогу написать программку которая будет брать ноты из cakewalk и генерировать С код под AVR.
Может кто-то такое уже делал???
*

Делал, в рамках разработки устройства со встроенной полифонией, только ноты брались не из MIDI, а из MOD (в проекте было удобнее работать с ним), и преобразовывались во внутренний формат устройства.
Ljubitel
Цитата(Sugar @ Mar 3 2005, 16:47)
поставил на закачку cakewalk
я неплохо владею С++Builder, поєтому думаю смогу написать программку которая будет брать ноты из cakewalk и генерировать С код под AVR.
Может кто-то такое уже делал???
*


рекомендую почитать
http://www.borg.com/~jglatt/tech/midifile.htm

А зачем cakewalk то ?

Жаль Dream Sound от Atmel`а днем с огнем не сыщешь...
Sugar
--Делал, в рамках разработки устройства со встроенной полифонией, только ноты брались не из MIDI, а из MOD (в проекте было удобнее работать с ним), и преобразовывались во внутренний формат устройства.

Так может поделитесь с "коллегами" опытом, на чем писали?, может примерчик скините, или хотя бы что использовали для читания нот (какую программу).

--рекомендую почитать
--http://www.borg.com/~jglatt/tech/midifile.htm
Почитал.
--Жаль Dream Sound от Atmel`а днем с огнем не сыщешь...
На atmel о таком что то не слышали.
Ljubitel
Цитата(Sugar @ Mar 4 2005, 09:58)
--Жаль Dream Sound от Atmel`а днем с огнем не сыщешь...
На  atmel о таком что то не слышали.
*


В смысле ? Где не слышали ?
http://www.atmel.com/dyn/products/devices.asp?family_id=618

Хочу такую микросхему !!! :-)
Sugar
Скачал пару программ по midi.
Загружаю файл, а там крючечки и т.д.
Есть программа на русском языке, которая будет записывать midi в текстовый файл нотами (ля, ми и т.д.).
Я крючки эти не понимаю sad.gif
SPS
Цитата(Sugar @ Mar 9 2005, 12:49)
Скачал пару программ по midi.
Загружаю файл, а там крючечки и т.д.
Есть программа на русском языке, которая будет записывать midi в текстовый файл нотами (ля, ми и т.д.).
Я крючки эти не понимаю sad.gif
*


Наткнулся прогу MIDI-TXT, но скачать не получилось.
Sugar,
1. Прога должна выдавать как минимум 3 параметра, а не просто набор нот.
2. Желательно сразу преобразовывать данные в двоичный вид для заливки в МК, без проделывания двойной работы.
3. Советую разобратся со структурой *.mid файла, т.к. случай уникальный и найти соответствующую программу сложно.

P.S. А вообще-то вручную за это время поисков можно было бы написать с десяток мелодий, уже давно прошить МК и наслаждаться достигнутым.
vet
Цитата(Sugar @ Mar 4 2005, 09:58)
--Делал, в рамках разработки устройства со встроенной полифонией, только ноты брались не из MIDI, а из MOD (в проекте было удобнее работать с ним), и преобразовывались во внутренний формат устройства.

Так может поделитесь с "коллегами" опытом, на чем писали?, может примерчик скините, или хотя бы что использовали для читания нот (какую программу).
*

1) В редакторе (ModPlug) набиралась мелодия, использовались 3 канала в силу аппаратного ограничения разрабатываемого устройства; набранное сохранялось в формате MOD (своего рода упрощённый аналог MIDI, формат прилагается);
2) запускалась утилита, формировавшая строку символов, в которой закодированы высота, инструмент, громкость каждой ноты, темп мелодии;
3) полученная строка записывалась в память устройства, которое её и проигрывало при надобности.
NickB
Цитата(Sugar @ Mar 9 2005, 13:49)
Скачал пару программ по midi.
Загружаю файл, а там крючечки и т.д.
Есть программа на русском языке, которая будет записывать midi в текстовый файл нотами (ля, ми и т.д.).
Я крючки эти не понимаю sad.gif
*


Посмотрите на программу http://www.borg.com/~jglatt/midi/software/mididsm.exe
и еще http://www.borg.com/~jglatt/midi/software/miditype.exe

А если хотите иметь ноты - скачайте Harmony Assistant с www.myriad-online.com
Sugar
Посмотрите на программу http://www.borg.com/~jglatt/midi/software/mididsm.exe
и еще http://www.borg.com/~jglatt/midi/software/miditype.exe
Скачал и обе выдают
Must install the GenMidi library!
sad.gif
попытаюсь скачать Harmony Assistant .
SPS
Цитата(Sugar @ Mar 11 2005, 13:59)
Посмотрите на программу http://www.borg.com/~jglatt/midi/software/mididsm.exe
и еще http://www.borg.com/~jglatt/midi/software/miditype.exe
Скачал и обе выдают
Must install the GenMidi library!
sad.gif
попытаюсь скачать Harmony Assistant .
*


Аналогичное наблюдение.
NickB
[Скачал и обе выдают
Must install the GenMidi library!
sad.gif
попытаюсь скачать Harmony Assistant .
*

[/quote]

Аналогичное наблюдение.
*

[/quote]

Это там же http://www.borg.com/~jglatt/midi/software/midifile.exe
и еще надо http://www.borg.com/~jglatt/midi/software/genmidi.exe
Можете сами зайти на сайт и посмотреть http://www.borg.com/~jglatt/progs/software.htm
aal
У holteк есть HT36xx, HT38xx. И прога миди2бин для них.
(Статья в компонентах и технологиях 6 за 2004).
валера
Цитата(Ljubitel @ Feb 23 2005, 20:12)
Писал тут себе звоночек
http://pol-sem.narod.ru/muson/muson.htm
*




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


#include <ioavr.h>
#include <inavr.h> - таких файлов вообще не нахожу ни в ICC,ни в Code Vision AVR, ни в GCC


Ljubitel помоги. cranky.gif
IgorKossak
Цитата(валера @ Mar 17 2005, 02:00)
...на чем написана программа, что то я не пойму,
хотелось бы попробовать и другие мелодии поставить в звонок.
#include <ioavr.h>
#include <inavr.h> - таких файлов вообще не нахожу ни в ICC,ни в Code Vision AVR, ни в GCC
*

Хоть я и не Ljubitel, но, судя по *.h файлам, программа написана в среде IAR EWAVR, а вот какой версии - не скажу.
Ljubitel
Цитата(валера @ Mar 17 2005, 02:00)
Прекрасная программа, спасибо автору Ljubitel, но у меня один вопрос
на чем написана программа, что то я не пойму,
хотелось бы попробовать и другие мелодии поставить в звонок.


EWAVR 3.20C
Вы ж на Си пишете,какая разница на чем написано ? :-)
валера
Цитата(Ljubitel @ Mar 17 2005, 23:03)
Цитата(валера @ Mar 17 2005, 02:00)

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


EWAVR 3.20C
Вы ж на Си пишете,какая разница на чем написано ? :-)
*





А где взять EWAVR 3.20C и желательно крякнутый?
Alex_St
Возьмите на сайте www.iar.com версию 4.10.
После регистрации Вам вышлют бесплатную 30-дневную лицензию.
Проект, сделанный в версии 3.20 переносится на 4.10 без проблем.
UserM
Цитата(Alex_St @ Mar 19 2005, 11:14)
Возьмите на сайте www.iar.com версию 4.10.
После регистрации Вам вышлют бесплатную 30-дневную лицензию.
Проект, сделанный в версии 3.20 переносится на 4.10 без проблем.
*


Если не сложно, напишите, как это нужно сделать?

Я скачал и проинсталлировал версию 4.10а.
Распаковал файлы проекта и открыл файл 1.eww

Программа сообщила что проект в старом формате и предложила пере конвертировать в новый формат.
После конвертации выдала сообщение:

Consistency warning
Driver setting can not be preserved.
Please check driver settings manually


После открыла проект, но при компиляции выдаётся сообщение о ошибке:

Building configuration: 1 - Debug
Linking
Error[e12]: Unable to open file 'Debug\Exe\1.hex'

Total number of errors: 1
Total number of warnings: 0

Если можно напишите, по шагам, как правильно нужно создавать проект в ИАР.
Ljubitel
Цитата(UserM @ Mar 19 2005, 19:33)
Building configuration: 1 - Debug
Linking
Error[e12]: Unable to open file 'Debug\Exe\1.hex'

Total number of errors: 1
Total number of warnings: 0

Если можно напишите, по шагам, как правильно нужно создавать проект в ИАР.

В секции "Linker\Extra Optoins" замените пути на абсолютные. Т.е. типа
C:\MyFolder\Debug\Exe
UserM
Цитата(Ljubitel @ Mar 19 2005, 20:48)
В секции "Linker\Extra Optoins" замените пути на абсолютные. Т.е. типа
C:\MyFolder\Debug\Exe
*


Спасибо, попробую.
валера
Цитата(Alex_St @ Mar 19 2005, 12:14)
Возьмите на сайте www.iar.com версию 4.10.
После регистрации Вам вышлют бесплатную 30-дневную лицензию.
Проект, сделанный в версии 3.20 переносится на 4.10 без проблем.
*


установил 4.10 а он не открывает корректно проект "1.eww" - звонок на 5 мелодий
и не компилирует помогите как открыть и откомпилировать? cranky.gif
Alex_St
Надо при открытии файла открывать его как Workspace files (*.eww).
Тогда он сконвертирует его в свой формат и позволит скомпилировать. О доработке для компилирования читайте выше.
Ljubitel
Не ожидал такой популярности у этой примитивной программки.
Пересобрал под 4.10А
Убрал отладку. Теперь на выходе сразу *.hex
Удачи :-)
валера
Цитата(Ljubitel @ Mar 29 2005, 20:27)
Не ожидал такой популярности у этой примитивной программки.
Пересобрал под 4.10А
Убрал отладку. Теперь на выходе сразу *.hex
Удачи :-)
*



А можешь пределать эту программу для AT90S2343 чтобы без кварца, используя внутренний RC-генератор? cranky.gif
валера
Спасибо Павел за столь прекрасную программу теперь и под Code Vision AVR, но хочу заметить что у меня сильно быстро проигрывались мелодии поэтому я в программе на строке 226 исправил delay_ms(25); на delay_ms(50);
alecsvg
Предлагаю сделать звонок на ISP1210. Звук можно приписать.
Схема заимствована из РадиоМир 10-2004г. Немного изменил под свои детали.
Выполнено в деревянном корпусе в виде домика. Труба регулирует громкость.
С другой стороны крышы дырка (отверстие, по конструкторски) под разъем
аудио IN. Микрофон размещен сзади. Ошибки схемы: кондесатор Вишки нужно разряжать
через диод шоттки (не было). Кнопка включения икскрит.Трансформатор перегружен.
Может отрицательный терморезистор засобачить.
Хочу сделать часы с радиокоррекцией. Может кто подскажет на чем сделать синхонизацию
по радиоканалу?
Валерий, Минск (alecs_vg@tut.by)
aal
то alecsvg
Цитата
Хочу сделать часы с радиокоррекцией. Может кто подскажет на чем сделать синхонизацию.

В смехотехнике статьи были в 2001 или 2002.
Vrun
Цитата(SPS @ Feb 23 2005, 14:34) *
Когда-то делал такой звонок на АТ90S8535. Ноты синтезировал сам. Известно,что каждая последующая нота отличается от предудущей в
2^(1/12) раз (1,05946309436). Например, если нота ля (А) соответствует частоте 440Гц, то следующая си-бемоль (Bb) равна 466,2 Гц и. т.д. Вычисляется ряд частот, задаются интервалы звучания и паузы, выводится в порт на динамик - получается простой синтезатор мелодий.
Если интересует, могу скинуть свой исходник на 35-й AVR.



Мне подкинули почти такое задание только выполнить нужно на АТ90S8515.
Просьба, скинте, ежели чего остилось на pavsmo@list.ru буду рад полюбопытствовать чужое решение!
Спасибо! a14.gif
Dmitry Dubrovenko
Сорри, что поднимаю старую тему.
Есть неплохой и простой до безобразия девайс на ATtiny45. Вот первоисточник. Вот демка звучания.
Есть программа ("ConTiny45") позволяющая получать готовые прошивки (варианты схемотехники в хелпе программы), как из текстовых, так и из MIDI-файлов.
Варианты для Windows и Linux брать здесь.

Несколько готовых прошивок ("LoopPlay")
Нажмите для просмотра прикрепленного файла

МИДИ-файлы для проверки опций корректировки
Нажмите для просмотра прикрепленного файла

МИДИ-файлы скорректированные для прямой конвертации
Нажмите для просмотра прикрепленного файла
kovigor
Цитата(Dmitry Dubrovenko @ Jun 19 2012, 21:21) *
Есть неплохой и простой до безобразия девайс на ATtiny45.


Поздно. Я уже давно заставил китайскую машинку моей знакомой проигрывать "С чего начинается Родина ?", "В траве сидел кузнечик" и проч. Без всякой полифонии, но мне нравится, и малышу, который на этой машинке катается - тоже. sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.