Часто в приложениях желательно использовать какие-то вспомогательные звуковые эффекты, например, звуковой сигнал динамиком при ошибке или проигрывание мелодии для новой буквы.
Не все знают, что в любой компьютер со звуковой картой встроена большая библиотека звуков.
Поддержка всех звуковых карт воспроизведение звука согласно стандарту MIDI (см.
ru.wikipedia.org/wiki/MIDI ), а это 128 обычных и 40 ударных инструментов.
Что такое МИДИ? Это стандарт команд управления синтезатором или другими устройствами воспроизведения звука.
Те.
в .
mp3, например, хранится оцифрованный звук, а в файлах .
mid хранятся только ноты, воспроизводимые звуковой картой.
Я опубликовал библиотеку для быстрого доступа к воспроизведению MIDI-аудио:
Исходный код с примером использования, а также скомпилированную библиотеку можно скачать на странице http://code.google.com/p/easy-midi/ Преимущества MIDI : доступен на любом компьютере, содержит 128 обычных инструментов и 40 ударных инструментов, воспроизводится музыкальным сопроцессором и не влияет на производительность; воспроизводимую музыку можно менять в интерактивном режиме (если понимать разницу между диезом и бемолем).
Недостатки : Звук полностью зависит от звуковой карты и может отличаться на разных компьютерах.
Пример простого вызова (играет в отдельном потоке):
Для удобства названия нот и обычных инструментов указаны в виде констант в файле Note.java, а названия ударных инструментов — в файле Drum.java. Помимо воспроизведения отдельных нот, с помощью библиотеки вы также можете воспроизводить небольшие музыкальные фрагменты.Tools.playNote(Note.p93_7_La, Note.i127_Gunshot,127, 2000); Tools.playDrum(Drum.d39_Hand_Clap, 127, 2000);
Пример небольшого риффа int bassVoice=Note.i33_Electric_Bass_finger;
Drum hat=new Drum(4, Drum.d42_Closed_Hi_Hat,64);
Drum snare=new Drum(4, Drum.d38_Acoustic_Snare);
Drum bass=new Drum(4, Drum.d35_Acoustic_Bass_Drum);
Phrase p1=new Phrase()
.
chord(new Chord(8).
drum(hat).
drum(bass) .
note(8, Note.p28_2_Mi, bassVoice)) .
chord(new Chord(8).
drum(hat) .
note(8, Note.p28_2_Mi, bassVoice)) .
chord(new Chord(8).
drum(hat).
drum(snare) .
note(8, Note.p28_2_Mi, bassVoice)) .
chord(new Chord(8).
drum(hat) .
note(8, Note.p28_2_Mi, bassVoice)) .
chord(new Chord(8).
drum(hat).
drum(bass) .
note(8, Note.p28_2_Mi, bassVoice)) .
chord(new Chord(8).
drum(hat).
drum(bass) .
note(8, Note.p28_2_Mi, bassVoice)) .
chord(new Chord(8).
drum(hat).
drum(snare) .
note(8, Note.p34_2_La_Diese, bassVoice)) .
chord(new Chord(8).
drum(hat) .
note(8, Note.p35_2_Si, bassVoice))
;
Ticker ti = new Ticker(120, p1);
ti.restart();
Описание занятий
Инструменты — содержит методы playNote и playDrum для воспроизведения отдельных звуков.
Тикер - проигрыватель фраз Фраза – музыкальная фраза, содержащая набор аккордов.
Аккорд - аккорд, содержит высоту и длительность нот обычных и ударных инструментов аккорда.
Барабан - описание ударного инструмента в аккорде Примечание - описание распространенного инструмента в аккорде.
Теги: #java #midi #sound #java
-
Все Об Онлайн-Резервном Копировании
19 Oct, 24 -
Секретные Эксперименты Вассермана
19 Oct, 24 -
Об Одном Физическом Факультете
19 Oct, 24