Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   beep (https://forum.antichat.xyz/showthread.php?t=177576)

criminalorange 09.02.2010 20:59

beep
 
тут задание появилось, вывести свою "любимую песню" на встроенный динамик, то бишь 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

имперский марш

Если посмотреть midi в нотепаде, то там чёткая структура и с его разбором проблем быть не должно
Описание midi

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
+
нотный ряд песни


Время: 12:41