Просмотр полной версии : beep
criminalorange
09.02.2010, 20:59
тут задание появилось, вывести свою "любимую песню" на встроенный динамик, то бишь Beep.
в делфи есть процедура windows.beep, в которой проставляется частота пика и его длительность
теперь по сабжу)если ли какие-то анализаторы, способные из подгруженного файла(например однодорожного midi ) расписать длительность последовательности пиков и их частоты?)
ну или можно весь этот процесс организовать менее геморрно?)мб другой язык использовать?
gold-goblin
09.02.2010, 21:11
Думаю тут выбор языка не сильно поможет.
теперь по сабжу)если ли какие-то анализаторы, способные из подгруженного файла(например однодорожного midi ) расписать длительность последовательности пиков и их частоты?)
Врятли есть что то готовое. А для личного написания надо знать форматы файлов (мп3 и т.д.) Или схитрить и брать эти данные из винампа (к примеру), но дляэтого надо написать плагин для него.
теперь по сабжу)если ли какие-то анализаторы, способные из подгруженного файла(например однодорожного midi ) расписать длительность последовательности пиков и их частоты?)
ну или можно весь этот процесс организовать менее геморрно?)мб другой язык использовать?
Посмотри http://johnath.com/beep/ , может поможет
Когдато видел исходник для паскаля и там можно было проигрывать простые midi файлы.
И играть с помошью sound и delay
Но вообще внутренний динамик - это фу
имперский марш (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
всем спасибо,будем думать...
прекрасным муз.слухом увы обделен )
открываешь в гитарпро 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 соединены в одну. нету ли у кого принципиальных схем каждой из них ?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot