Страница 1 из 3

AVR & MIDI

Добавлено: Пт ноя 01, 2013 19:13:14
FreshMan
Имеется огромное желание воспроизводить midi мелодии на AVR
не могу понять как вытягивать ноты (определенной октавы), длительности нот, паузы между нотами из файла midi
в инете вразумительного ответа не сыскал :(
может кто уже занимался подобным вопросом и имеет опыт в данном деле ?
буду весьма признателен :))

Re: AVR & MIDI

Добавлено: Пт ноя 01, 2013 19:30:32
Шурики

Re: AVR & MIDI

Добавлено: Пт ноя 01, 2013 19:49:17
Dmitry Dubrovenko
FreshMan писал(а):как вытягивать ноты
Я же Вам уже давал ссылку на программу. Более вразумительного я пока не встречал.
Альтернативные пути:
- Открывать миди-файл в музыкальном редакторе, и переписывать ноты вручную,
- Изучить спецификацию миди-файлов, и написАть свою программу.

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 09:40:15
BCluster
http://www.last.h16.ru/file_format/
это описание формата midi-файла. Вообще файлы все равно придется перерабатывать скорее всего, ибо они в большинстве своем имеют несколько дорожек, а это я думаю авр не сможет :)

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 20:38:55
FreshMan
у меня стоит задача играть моно-мелодии
елы-палы неужели никто до сих пор не сделал прогу которая вытягивает ноты из миди ? неужто я первый кто задумал сие сделать ? :roll:
да......, трудно быть первопроходцем ! :))

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 22:42:13
Шурики
Ну дали же выше ссылку на формат MIDI.
И "дорожка" (трек называется) в данном случае никакого отношения к моно, стерео, квадро, 2.1, 5.1, 7.1 и какие ещё там есть не имеет.

Смысл подсказки в том, что нужно в любом нотном MIDI-редакторе открыть файл и будет видно, что или все инструменты в одном треке, или раскиданы по разным трекам ("дорожкам").
Можно ещё в НЕХ-редакторе открыть и по формату файла будет видно, к какому типу миди он относится.
Далее - ноты есть, в описании формата частоты звука есть.

А насчёт первопроходимца: стоите Вы один в чистом поле, все давно ушли вперёд, а следы снегом замело. И волки воют...

И ещё: так как миди просто описывает труд "простого" музыканта (куда нажать, когда дунуть/ стукнуть/ дёрнуть), то фактически, что можно оттуда вычленить - это частоты нот мелодии. А вот синтезировать шаблоны инструментов - это отдельно. их в миди-файле нет, поэтому он такой небольшой.

Прочтите документацию, выложите файл миди и можно дальше смотреть и обсуждать

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 22:59:55
FreshMan
Шурики писал(а):то фактически, что можно оттуда вычленить - это частоты нот мелодии.
а инфа о длительности нот, пауз между нотами там есть ?

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 23:17:45
Шурики
Там всё есть.

Задается музыкальный темп.
Задаётся музыкальный размер.
Далее музыкальная запись делится на такты. Один такт соответствует музыкальному размеру.
Каждая нота имеет свою длительность 1, 1/2, 1/4, 1/8, 1/16... (список ограничен)
Каждая пауза то же самое.
Ноты и паузы, находящиеся внутри такта, должны попасть в его границы.
Паузы между нотами задаются не отсутствием нот на данном месте, а именно указанием пауз разной длительности в этом месте.
Теперь, ноты написаны в англицкой интерпретации: А - до, В - ре и т.д.
Еще есть три знака бемоль, диез (#) и бекар. Первый понижение на пол-тона, второй - повышение на полтона, третий - играть ноту как есть.
Тона - это частоты "чистых" нот, без полутонов, т.е. от до до си. Частоты в описании.

Это коротенько, без нюансов.

Вообще, нотная азбука очень логична, просто находка для программистов. Нужно просто один раз уразуметь и приколоться (я сейчас всё это пишу из памяти, а изучал лет 25 назад). Кстати, много нюансов я не писал, дабы не загромождать текст.

Музыкальная тональность (типа си-бемоль или фа-диез), насколько я помню, внутри файла не задаётся, т.к. с неё толку нет.

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 23:24:37
FreshMan
Шурики писал(а):Вообще, нотная азбука очень логична, просто находка для программистов. Нужно просто один раз уразуметь и приколоться
можна у вас проконсультироваться по данному вопросу ?

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 23:32:49
Шурики
Так яж про тож.

Давайте для разбора выберем один миди файл и будем его пилить всем миром.

Попутно будет понятно о чём речь.
Сейчас куча документации может вогнать в ступор, а когда задачи будут решаться по мере поступления, будет яснее чего куда прикручено.

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 23:40:57
FreshMan
упс..... :oops:
я думал говоря о нотной азбуке вы имеете ввиду то как читать ноты с нотного стана :))
скажу вам откровенно, я начал читать о MIDI формате......, при чтении меня сразу бросает в ступор от такого большого количиства новой мне инфи аж спать охота :)

Re: AVR & MIDI

Добавлено: Сб ноя 02, 2013 23:44:31
Шурики
До завтра подождёт, а нотная азбука, она та, что читается с нотного стана и она очень плотно связана с миди. Поэтому в процессе будет видно.

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 18:13:52
FreshMan
Шурики, насколько я в курсе то в обсуждаемом формате есть партии разных инструментов (пинанино, флейта, барабан и т.д.)
какой же инструмент выбирать мне чтобы я на МК мог воспроизводить простенькие моно мелодии ?

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 18:56:17
pyzhman
Для начала выберем зуделку. Просто пищалку. :)) До фортепьяны еще доберемся. Если доберемся. Вернее, если у Шуриков хватит нервов. :))

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 19:02:36
metan
FreshMan писал(а):в инете вразумительного ответа не сыскал
В инете может и нету, а прям на этом сайте искали? Ключевые слова в наличии так-то...
Вот на мой взгляд, обалденный по качеству изложения и исполнения, и по полноте материал (мой пламенный респект и уважуха автору):
Midi player для AVR

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 20:56:44
Шурики
FreshMan писал(а):Шурики, насколько я в курсе то в обсуждаемом формате есть партии разных инструментов

какой же инструмент выбирать мне чтобы я на МК мог воспроизводить простенькие моно мелодии ?
Да, в одном миди файле могут быть различные инструменты.
На попробовать можно выбрать рояль (хорошо, пианино) без других инструментов.

Задача следующая:
1. Разобраться с общим форматом миди
2. Перевести кусок нотной записи в набор частот определённой положительности и паузы между ними.
3. проиграть эту мелодию на пищалке просто как набор частот

Пока так

Статья, кстати, действительно хорошая. Стоит посмотреть.

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 23:05:22
Dmitry Dubrovenko
FreshMan писал(а):насколько я в курсе то в обсуждаемом формате есть партии разных инструментов
Не так.
Есть просто "партии" (без "инструментов").
Каким тембром (инструментом) будет она воспроизводится, определяет специальная команда.
Но ещё это очень сильно зависит от оконечного устройства, на котором это всё будет воспроизводится.
И хотя сейчас соответствие в/у команд определённым инструментам стандартизировано, но не факт, что "гитара" с одного устройства, будет звучать также, как с другого.
Короче говоря, для "зуделки", Вам надо брать партию "Мелодия".
P.S.: А если нарвётесь на файл формата midi-0, так там всё в одну кучу свалено.

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 23:13:54
Шурики
Согласен, Это написано для упрощения картины, т.к. ранее уже говорилось о том, что в файле только ноты и действия, а какой инструмент это только указывается. Звучание самого инструмента находится отдельно в банках памяти у устройства-синтезатора.

Надо просто постепенно добраться до цели, поэтому некоторые подробности откладываются на потом.

Вот пока как раз задача добраться до мелодии - тоже раньше написано.

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 23:28:14
Dmitry Dubrovenko
Шурики писал(а):пока как раз задача добраться до мелодии
Вот если, в ранее указанной программе, выбрать режим ручного редактирования, то появится окно со списком всех треков, которые можно подключать-отключать. И, если автор миди-файла не поленился дать вразумительные названия трекам (обычно так и делается, ибо так удобнее в секвенсоре работать), остаётся выбрать трек "Мелодия", а остальные заглушить.
Правда программа выдаёт либо хекс, либо текстовой, но для чановского синтезатора, и, для других целей, его ещё обработать надо будет.
А ТС я бы всё-таки рекомендовал сперва изучить азы нотной грамотности. :)

Re: AVR & MIDI

Добавлено: Вс ноя 03, 2013 23:34:54
Шурики
И снова согласен, к тому и клоню. Как раз на основе нотной записи и начать разбираться что есть кто, а потом плавно перейти к нотам в миди-файле, понять соответствие этих двух типов записи партитуры музыки - нотный и компьютерный. Провести параллели, так сказать.