Могу ли я настроить программный синтезатор для использования нескольких патчей на канале?

Я пишу музыку для органа в LilyPond и слушаю ее через MIDI-выход LilyPond через Qsynth/FluidSynth. Я использовал Fluid_R3, но у него есть только очень общий (и не очень убедительный) патч «Церковный орган». Недавно я нашел JEUX , звуковой шрифт со всевозможными остановками органа, и я хотел бы экспортировать синтез, который работает как настоящий орган, с несколькими патчами, зарегистрированными на каждом канале.

Есть ли простой способ настроить FluidSynth (или аналогичный программный синтезатор) для применения нескольких патчей к одному MIDI-каналу? Если да, должен ли я сделать что-то особенное в LilyPond, чтобы его MIDI-выход работал? (Я мог бы сделать что-то вроде множественного экспорта и добавить звуковые файлы вместе, но это очень сложно!)

Учитывая синтезатор, который вы используете, вы используете gnu/Linux, верно?
@ Том Да, я на GNU/Linux. FluidSynth, потому что это что-то вроде дефолта, но я открыт для альтернатив.
Может быть, qmidiroute может вам помочь? Это миди-утилита, которая может направлять миди-сигналы в зависимости от условий, например, на другой канал или что-то в этом роде... Я не совсем понял, что вы хотели сделать, но стоит попробовать! Вы можете интеркалировать его между LP и qsynth.
@ Том Хм, проверь это! Я хочу сделать это в режиме CLI, чтобы создать «запись»; вы знаете навскидку, будет ли это работать разумно в этом контексте?
Кли? Командная строка? Если да, то все эти инструменты подходят для этого! Это часть набора библиотек alsa.
Можете ли вы использовать разъем для маршрутизации MIDI? Тогда, возможно, вы можете использовать его для маршрутизации MIDI-сигнала на несколько экземпляров FluidSynth? В любом случае, если я что-то не упустил, Lilypond не кажется мне инструментом, созданным для создания высококачественного звука.

Ответы (1)

Говоря в принципе, спецификации MIDI допускают только один патч на канал. Вы можете менять патч так часто, как хотите, вы можете устанавливать разные патчи перед каждой сыгранной нотой, но канал может иметь только один патч в любой момент времени.

Я не против, но хотя MIDI может отправлять команды изменения программы, я, безусловно, могу представить себе средство для предоставления сопоставления каналов, которое будет использоваться вместо этого. Program Change — это побочный канал к реальным событиям инструмента.
@chrylis-cautiouslyoptimistic- Изменение программы — это фактическое инструментальное событие, как и Note On. " Сообщение об изменении программы используется для указания типа инструмента, который должен использоваться для воспроизведения звуков на данном канале. " midi.org/midi-articles/about-midi-part-3-midi-messages Номер MIDI-канала часть сообщения об изменении программы.