PDA

Просмотр полной версии : beep


criminalorange
09.02.2010, 20:59
тут задание появилось, вывести свою "любимую песню" на встроенный динамик, то бишь Beep.
в делфи есть процедура windows.beep, в которой проставляется частота пика и его длительность

теперь по сабжу)если ли какие-то анализаторы, способные из подгруженного файла(например однодорожного midi ) расписать длительность последовательности пиков и их частоты?)
ну или можно весь этот процесс организовать менее геморрно?)мб другой язык использовать?

gold-goblin
09.02.2010, 21:11
Думаю тут выбор языка не сильно поможет.
теперь по сабжу)если ли какие-то анализаторы, способные из подгруженного файла(например однодорожного midi ) расписать длительность последовательности пиков и их частоты?)
Врятли есть что то готовое. А для личного написания надо знать форматы файлов (мп3 и т.д.) Или схитрить и брать эти данные из винампа (к примеру), но дляэтого надо написать плагин для него.

Kaimi
09.02.2010, 21:20
теперь по сабжу)если ли какие-то анализаторы, способные из подгруженного файла(например однодорожного midi ) расписать длительность последовательности пиков и их частоты?)
ну или можно весь этот процесс организовать менее геморрно?)мб другой язык использовать?

Посмотри http://johnath.com/beep/ , может поможет

slesh
09.02.2010, 21:35
Когдато видел исходник для паскаля и там можно было проигрывать простые midi файлы.
И играть с помошью sound и delay

Но вообще внутренний динамик - это фу

WNZRS
09.02.2010, 21:55
имперский марш (http://www.swgalaxy.ru/galery/music/files/empire.mid)

Если посмотреть midi в нотепаде, то там чёткая структура и с его разбором проблем быть не должно
Описание midi (http://www.opennet.ru/base/muzfaq/MIDIDESC.TXT.txt.html)

criminalorange
09.02.2010, 22:31
всем спасибо,будем думать...
прекрасным муз.слухом увы обделен )

nerezus
09.02.2010, 23:15
открываешь в гитарпро gtp и тупо подставляешь частоты и длительности.

criminalorange
10.02.2010, 23:53
появилась мысль взять мелодию в нотах, + к этому есть таблицы соответствия нот частотам. тока тайминги придется самому проставлять(
c gtp тоже испробую

Jingo Bo
11.02.2010, 16:08
А для личного написания надо знать форматы файлов (мп3 и т.д.) Или схитрить и брать эти данные из винампа (к примеру), но дляэтого надо написать плагин для него.
Не, это не нужно.

По сабжу : берешь DirectShow, соединяешь нужные фильтры и получаешь поток или берешь любой звуковой движок и так же получешь поток.
Полученый поток квантуешь и делаешь дискретицацию(до 20 мс), всё. Дискретизация нужна что бы файлик меньше весил и у windows.beep есть такая проблема что при длительности меньшей 10 мс звука нет вообще.

criminalorange
21.02.2010, 12:15
в итоге я пошел путем в лоб)
http://www.gitaristam.ru/school/frequency.htm
+
нотный ряд песни

criminalorange
24.02.2010, 22:25
история получила продолжения
увы надо описать все действия с 61 портом,то бишь открытие его,закрытие,команды
http://kaf401.rloc.ru/DSP/systdevprog.htm
вот нагуглилась лаба,но тут две микросхемы i8253/i8254 соединены в одну. нету ли у кого принципиальных схем каждой из них ?