| Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізія |
| alsa-midi [2017/06/27 06:29] – [USB-порт] під'єднання wombat | alsa-midi [2017/06/27 08:04] (поточний) – [Посилання] Rosegarden, PianoBooster, links wombat |
|---|
| Тобто бачимо, що програма отримує від інструмента сигнали про натискання клавіш. | Тобто бачимо, що програма отримує від інструмента сигнали про натискання клавіш. |
| |
| ===== Налаштування програм ===== | ===== Під'єднання до програм ===== |
| |
| Для того, щоб грати на MIDI-інструменті через якусь програму (наприклад, програмний синтезатор звуків), потрібно спочатку з'єднати програмний ''вихід'' інструмента з програмнтим ''входом'' відповідної програми. Дізнатися, які програмні виходи зареєстровані в системі можна за допомогою команди | Для того, щоб грати на MIDI-інструменті через якусь програму (наприклад, програмний синтезатор звуків), потрібно спочатку з'єднати програмний ''вихід'' інструмента з програмнтим ''входом'' відповідної програми. Дізнатися, які програмні виходи зареєстровані в системі можна за допомогою команди |
| |
| aconnect -i | <code> |
| | $ aconnect -i |
| | client 20: 'USB Keystation 61es' [type=kernel,card=1] |
| | 0 'USB Keystation 61es MIDI 1' |
| | </code> |
| |
| програмні входи: | програмні входи: |
| |
| aconnect -o | <code> |
| | $ aconnect -o |
| | client 20: 'USB Keystation 61es' [type=kernel,card=1] |
| | 0 'USB Keystation 61es MIDI 1' |
| | client 128: 'FLUID Synth (6351)' [type=user,pid=6351] |
| | 0 'Synth input port (6351:0)' |
| | </code> |
| |
| FIXME | В наведеному прикладі бачимо, що в системі зареєстровано один програмний "вихід" -- це вихід MIDI-інструмента "Keystation 61es", а також два програмні "входи": інструмент "Keystation 61es" та програма FluidSynth. В цих списках будуть показані усі програмні входи та виходи усіх зареєстрованих інструментів та програм. |
| | |
| | Для того, щоб програма FluidSynth "слухала" MIDI-сигнали на своєму програмному вході, її потрібно запустити аналогічно до того, як це [[alsa-midi#fluidsynth|робилося раніше]], але не вказуючи ''.midi''-файл: |
| | |
| | fluidsynth -a alsa SoundFont-file.sf2 |
| | |
| | Щойно ми знайшли потрібні нам "входи" та "виходи", ми можемо з'єднати їх за допомогою команди |
| | |
| | aconnect 20:0 128:0 |
| | |
| | Якщо з'єднання встановлено, ми побачимо його у списку наявних з'єднань: |
| | |
| | <code> |
| | $ aconnect -l |
| | client 20: 'USB Keystation 61es' [type=kernel,card=1] |
| | 0 'USB Keystation 61es MIDI 1' |
| | Connecting To: 128:0 |
| | client 128: 'FLUID Synth (7923)' [type=user,pid=7923] |
| | 0 'Synth input port (7923:0)' |
| | Connected From: 20:0 |
| | </code> |
| | |
| | Написи "''Connecting To''" та "''Connected From''" свідчать про те, що з'єднання встановлено. Тепер MIDI-сигнали, що їх генерує MIDI-інструмент "Keystation 61es", потраплятимуть на вхід програми FluidSynth, і вона генеруватиме звуки. |
| | |
| | |
| | ====== Затримка звуку ====== |
| | |
| | Для того, щоб затримка між MIDI-подіями та появою звуку була якомога меншою, потрібно зменшити параметр ''period_size'' в налаштуваннях ALSA. Це можна зробити у файлі ''[[alsa#воспроизведение|.asoundrc]]''. Наприклад, програма FluidSynth під час запуску запитує в системи значення ''period_size 64''. Це значення можна використати як орієнтовне. |
| | |
| | Часто трапляється, що за дуже малої довжини періоду з'являються тріск та клацання. Тоді можна збільшити параметр ''periods'', наприклад, до значення 1024. |
| |
| |
| http://wiki.allegro.cc/index.php?title=Using_TiMidity%2B%2B_with_ALSA_raw_MIDI | http://wiki.allegro.cc/index.php?title=Using_TiMidity%2B%2B_with_ALSA_raw_MIDI |
| |
| ====== Налаштування ALSA ====== | [[http://www.fluidsynth.org/ | Офіційний сайт FluidSynth]] -- Синтезатор звуків музичних інструментів на основі "звукових шрифтів" (SoundFont) |
| | |
| | [[https://amsynth.github.io/ | amsynth]] -- Синтезатор звуків |
| | |
| | === Інші програми, що працюють з MIDI === |
| | |
| | [[https://qsynth.sourceforge.io/ | QSynth]] -- просто графічний інтерфейс до FluidSynth. |
| | |
| | [[https://lmms.io/ | LMMS]] -- програма з класу так званих "DAW" -- **D**igital **A**udio **W**orkstation (цифрова аудіостанція) |
| | |
| | [[https://ardour.org/ | Ardour]] -- також DAW. |
| | |
| | [[http://rosegardenmusic.com/ | Rosegarden]] -- Програма для створення та редагування музики |
| | |
| | [[http://midieditor.sourceforge.net/ | MidiEditor]] -- Графічна програма для запису, редагування та програвання MIDI-файлів |
| | |
| | [[http://www.muse-sequencer.org/ | MusE]] -- MIDI/Аудіо-секвенсор з можливостями запису та редагування |
| | |
| | [[http://www.swamiproject.org/ | Swami]] -- редактор звуків музичних інструментів |
| | |
| | [[http://pianobooster.sourceforge.net/ | PianoBooster]] -- Програма для акомпонування та навчанні грі на фортепіано |
| | |
| | [[http://www.denemo.org/ | Denemo]] -- Нотний редактор |
| | |
| | [[https://musescore.org/ | MuseScore]] -- Нотний редактор |
| | |
| | |
| | |
| | |
| | |
| |
| Для того, щоб затримка між MIDI-подіями та появою звуку була якомога меншою, потрібно зменшити параметр ''period_size'' в налаштуваннях ALSA. Це можна зробити у файлі ''[[alsa#воспроизведение|.asoundrc]]''. | |
| |