Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.12.20;
Скачать: CL | DM;

Вниз

Midi 2 Beep-код   Найти похожие ветки 

 
Дмитрий С ©   (2015-02-05 18:30) [0]

Кто-нибудь встречал преобразователь Midi файла (одной из его дорожек) в код из beep и sleep ?


 
Kilkennycat ©   (2015-02-05 20:13) [1]

перегони миди в ваф, ваф это практически бип-слип


 
brother ©   (2015-02-05 20:18) [2]

ну, если в дорожке нет аккордов, то че бы нет? думаю чтение из миди реализовать не сложно, а далее вообще все просто...)


 
Kerk ©   (2015-02-05 20:33) [3]

Beep не работает давно...


 
Дмитрий С ©   (2015-02-05 22:48) [4]


> Beep не работает давно...

Работает в w8.1 у меня, только щелкает что-то. Да и мне для мк в итоге надо.


> brother

Изучаю вот по вике :)


 
Kilkennycat ©   (2015-02-05 22:50) [5]


> для мк в итоге надо

там pwm есть для этих целей. в подавляющем большинстве мк.


 
Дмитрий С ©   (2015-02-05 23:05) [6]


> Kilkennycat

Им и воспользуюсь) алгоритм на винде отлаживаю.


 
Германн ©   (2015-02-06 01:57) [7]


> Дмитрий С ©   (05.02.15 23:05) [6]
>
>
> > Kilkennycat
>
> Им и воспользуюсь) алгоритм на винде отлаживаю.
>

Как можно отлаживать алгоритм не видя (точнее не слыша) результата?
Отлаживать алгоритм на самом мк религия запрещает?


 
Inovet ©   (2015-02-06 03:22) [8]

Может, правильнее будет попросить кого, из музыкально образованных, чтобы для этой мелодии назвали ноты с их длительностями и паузами между ними? Так сказать, в разовом случае. И в нём же (разовом случае) - загрузить в любой МИДИ редактор, да и содрать оттуда.


 
KSergey ©   (2015-02-06 09:29) [9]

А в самом деле - что за задача-то? и какого плата миди-файл?
Это разово конкретный мидик надо преобразовать или постоянно-периодически?


 
Dimka Maslov ©   (2015-02-06 11:18) [10]


> Kerk ©   (05.02.15 20:33) [3]
>
> Beep не работает давно...


Вроде я читал, что его сначала убрали вовсе, а потом сделали так, чтобы звук шёл не на внутренний динамик компа, а на звуковую плату. В этом случае преобразование midi в бип-слип (правильное) фактически приведёт к его воспроизведению "инструментом" SqrWave без множественных дорожек, аккордов и проч. радости.


 
Дмитрий С ©   (2015-02-06 12:10) [11]

У меня сложилось впечатление, что я из пушки по воробьям. Мне нужна была одна мелодия (В траве сидел кузнечик) и моей нотной грамотности вкупе с викой хватило "преобразовать" ее вручную. С интервалами в припеве напутал, кажется, но не критично, звучит нормально.

вот пример:
procedure TForm1.Button1Click(Sender: TObject);
const
                                 // a    b    c    d    e    f    g    h    i    j    k    l     m
                                 // do   do#  re   re#  mi   fa   fa#  so   so#  la   la#  si  4 do
 Freqs1: array[0..12] of Integer = (262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494,  523);
 Song = "4jejejii.ieieijj.jejejii.ieieij..jll8lll4mm8mmm4mljijj.jll8lll4mm8mmm4mljij..." ;
 L = 220;
var
 I, J, N: Integer;
 M: Integer;
begin
 Windows.Beep(1, 2000); // включение звуковой карты (можно убрать)
 M := 4;
 for J := 0 to 4 do
   for I := 1 to Length(Song) do
   begin
     if Song[I] = "." then
     begin
       Windows.Beep(20, (L) * 4 div M);
     end
     else
     if Song[I] in ["1".."9"] then
     begin
       M := Ord(Song[I]) - Ord("0");
     end
     else
     begin
       N := Ord(Song[I]) - Ord("a");
       if N <= 0 then
         Continue;
       Windows.Beep(Freqs1[N-1], L * 4 div M);
     end;
   end;
end;


 
Дмитрий С ©   (2015-02-06 12:15) [12]

Блин, я теперь себе хочу эту мелодию на рингтон:) Как? :))


 
SOFT_FOR_YOU ©   (2015-02-06 12:38) [13]

Мне понравилось :)


 
MonoLife ©   (2015-02-06 12:41) [14]

прикольно! Помню, давным-давно, на фоксе 2.0 писал бипом мелодию при этом по экрану еще и паровозик бегал с вагонами:) жаль исходники так на 286-ом и остались


 
Дмитрий С ©   (2015-02-06 13:33) [15]

Кстати, ошибка в строке
Windows.Beep(Freqs1[N-1], L * 4 div M);
Из-за чего вся мелодия на пол-тона ниже получилась:)


 
Dimka Maslov ©   (2015-02-06 14:50) [16]


> Блин, я теперь себе хочу эту мелодию на рингтон:) Как? :
> ))


Вот с этого и надо начинать. Современные телефоны спокойно воспроизводят midi файлы. Если нет, то нужен midi - редактор (любой, но советую MidiSoft Studio 95, но работает он только на виртуальной машине Windows 98). Мелодия там воспроизводится, записывается чем-то вроде SoundForge, записывается в mp3шечку и наступает счастье.


 
Дмитрий С ©   (2015-02-06 15:00) [17]


> Вот с этого и надо начинать.

Ну это все таки не главная задача, чтобы с нее начинать. Сопутствующая.


 
Inovet ©   (2015-02-06 18:15) [18]

Всё равно ФАЭМИ круче
http://www.youtube.com/watch?v=wudqDyxUnnI


 
Дмитрий С ©   (2015-02-06 18:57) [19]


> Inovet ©   (06.02.15 18:15) [18]

Ерунда какая-то


 
Inovet ©   (2015-02-06 19:23) [20]

> [19] Дмитрий С ©   (06.02.15 18:57)
> Ерунда какая-то

Ну не скажи, найди ещё один синтезатор, чтобы её уделал.


 
Kilkennycat ©   (2015-02-07 05:13) [21]

была у меня Фаэми... классная вещь!


 
Дмитрий С ©   (2015-02-08 11:38) [22]

Открытие дня. Pwm не годится для извлечения звуков :)


 
Kilkennycat ©   (2015-02-08 12:04) [23]

Мартышка к старости слаба глазами стала;
А у людей она слыхала,
Что это зло еще не так большой руки:
Лишь стоит завести Очки.
Очков с полдюжины себе она достала;
Вертит Очками так и сяк:
То к темю их прижмет, то их на хвост нанижет,
То их понюхает, то их полижет;
Очки не действуют никак.
"Тьфу пропасть! — говорит она, — и тот дурак,
Кто слушает людских всех врак:
Всё про Очки лишь мне налгали;
А проку на-волос нет в них".
Мартышка тут с досады и с печали
О камень так хватила их,
Что только брызги засверкали.

К несчастью, то ж бывает у людей:
Как ни полезна вещь, — цены не зная ей,
Невежда про нее свой толк все к худу клонит;
А ежели невежда познатней,
Так он ее еще и гонит.

И.А. Крылов. 1812 год.


 
Kilkennycat ©   (2015-02-08 12:09) [24]

http://www.pic24.ru/doku.php/osa/ref/appendix/quartet


 
Inovet ©   (2015-02-08 14:45) [25]

> [22] Дмитрий С ©   (08.02.15 11:38)
> Pwm не годится для извлечения звуков

Через beep и sleep? В общем да.


 
Дмитрий С ©   (2015-02-08 20:44) [26]


> Kilkennycat ©   (08.02.15 12:09) [24]

Мне такое и не снилось.

Кажется, я понял принцип. Попробую то же самое сделать на атмеге.


 
Kilkennycat ©   (2015-02-08 22:24) [27]

ты вот это глянь: http://www.pic24.ru/doku.php/osa/articles/vga_game там видео есть. со звуком ;)


 
Inovet ©   (2015-02-08 23:10) [28]

> [27] Kilkennycat ©   (08.02.15 22:24)
> http://www.pic24.ru/doku.php/osa/articles/vga_game

Круто.


 
Kilkennycat ©   (2015-02-09 00:13) [29]


> Inovet ©   (08.02.15 23:10) [28]

мне очень нравятся разработки Виктора Тимофеева, и как сделано, и стиль описания. Очень профессионально и оригинально.


 
кгшзх ©   (2015-02-09 10:47) [30]

http://www.youtube.com/watch?v=mBfovjFbNMU


 
brother ©   (2015-02-09 11:07) [31]

http://www.youtube.com/watch?feature=player_detailpage&v=ntYL_uKkblQ
круче


 
brother ©   (2015-02-09 11:13) [32]

и классика жанра
http://www.youtube.com/watch?v=B_Q6jMUdfYc


 
Дмитрий С ©   (2015-02-09 11:26) [33]


> Kilkennycat ©

Я правильно понимаю, что такую мелодию на пьезопищялке не сыграть?


 
Kilkennycat ©   (2015-02-09 13:37) [34]

неправильно. что угодно можно сыграть, даже если пьезопищалка со встроенным генератором, меняя напряжение питания.


 
Дмитрий С ©   (2015-02-09 16:53) [35]


> Kilkennycat ©

А как она может синусоиду выдать?

Windows.Beep(440) выдает на ноуте достаточно приятный слуху тон. Пьезопищалка - мерзкий, к тому же и не стабильный (возможно из-за ошибки в прошивке, я обычным ардуиновским tone проверял).


 
Kilkennycat ©   (2015-02-09 17:08) [36]


> Дмитрий С ©   (09.02.15 16:53) [35]

пъезопищалка может выдать синусоиду легко, если она достаточно большая, и лежит между синусоидными штампами.

но в обычном своем применении она может выдавать некую электрическую силу при ее деформации, и обратно: деформироваться при приложении к ней некой электрической силы, создавая колебания воздуха. Колебания воздуха врядли синусоидальны.
теоретически, наверное, можно и без пресса выдать синусоиду, если пластина достаточно длинная - вызвать в ней резонанс.


> обычным ардуиновским tone

для меня это необычно.

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

Скажешь, что надо - скажу, как сделать.


 
Дмитрий С ©   (2015-02-09 17:26) [37]


> Kilkennycat ©   (09.02.15 17:08) [36]

Я что-то вроде музыкальной шкатулки делаю. Мелодия + 3 RGB диода под музыку меняют цвета с коротким fade эффектом (а может и без него, если тормозить будет), а после мелодии - более плавный fade эффект (режим ночника).

Плату я уже распаял и проверил. Осталось сделать прошивку.
Я собираюсь делать так же без ардуиновских заготовок. С помощью таймеров и ШИМ-а.


 
Дмитрий С ©   (2015-02-09 17:29) [38]


> Kilkennycat ©   (09.02.15 17:08) [36]

И планирую взять басс и скрипку из твоего примера. Заодно потренеруюсь. Вместо пищялки поставлю маленький динамик (из сломанной мобилы возьму) и фильтр как на схеме из примера.


 
Дмитрий С ©   (2015-02-09 17:34) [39]

Посоветуй, стоит ли припаять кварц и получить 16 MHz или 8и будет достаточно для этой задачи?


 
brother ©   (2015-02-09 18:14) [40]

[37] хотелось бы посмотреть на готовый аппарат...



Страницы: 1 2 3 вся ветка

Текущий архив: 2015.12.20;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.006 c
15-1429879718
Andy BitOff
2015-04-24 15:48
2015.12.20
VCL кконтролы. Рушится шрифт.


2-1403765627
Вася
2014-06-26 10:53
2015.12.20
Раскраска строк DBGrid относительно значения поля текущей строки


15-1429825354
Rouse_
2015-04-24 00:42
2015.12.20
К девятому мая


2-1403498172
Sakipiel
2014-06-23 08:36
2015.12.20
не отрабатывает событие дабл клик для некоторых компонентов


2-1403529768
Sakipiel
2014-06-23 17:22
2015.12.20
Все события на одной процедуре