Синтезатор: почему повторная игра одной и той же ноты выключает первую?

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

NoteOn(1,40,100)
NoteOn(1,40,10)

обычно приводит (с точки зрения синтезатора) к:

NoteOn(1,40,100)
NoteOff(1,40)
NoteOn(1,40,10)

Есть ли причина для этого? Я имею в виду, я понимаю, что на фортепиано одни и те же струны нельзя сыграть дважды, но на некоторых инструментах можно получить одну и ту же ноту дважды (например, на разных струнах гитары). Более того, на фортепиано все сочувствующие звуки окружающих струн не отключаются при нажатии на педаль сустейна, даже если воспроизводится одна и та же нота…

Я должен признать, что это не мой опыт - с современными синтезаторами S+S с большим количеством доступной полифонии, я думаю, что привык к более ранней ноте, продолжающейся сустейн. Я могу себе представить, что синтезатор с очень ограниченной полифонией может отключать более раннее звучание той же ноты в рамках своего алгоритма «кражи нот». Для моносинтов, конечно, ответ на ваш вопрос очевиден, но я подозреваю, что вы не про них спрашиваете!
@topoReinstateMonica Да, это не относится к монофоническим синтезаторам. На самом деле, кажется, я помню, как играл с синтезаторами, продолжающими сустейн, но таких было не большинство… И было ли это даже с программным синтезатором с уважительной (16) полифонией… Если не используется полная полифония, зачем воровать?
Это полностью внутри голосовой структуры конкретного устройства. Моносинтезаторы, конечно, должны будут перезапускаться с самого начала ADSR, полифонические будут иметь закодированный или электромеханический набор правил. Такое поведение гораздо более вероятно в старых синтезаторах.
Являются ли большинство синтезаторов, о которых вы говорите, аналоговыми синтезаторами? Я подозреваю, что некоторые из них могут не назначать второй осциллятор на ту же ноту, но оставлять тот же назначенный (с возможностью повторного запуска огибающей или без). Возможно, вы имеете в виду какие-то конкретные синтезаторы?
@topoReinstateMonica Что ж, когда я говорил о полисинтезаторе, я имел в виду, например, AMsynth (в GNU/Linux). Мой вопрос был больше о том, как это поведение может быть привилегированным по сравнению с повторным запуском той же заметки по сравнению с предыдущей. Но, может быть, это выбор дизайнера каждый раз…
Не-MIDI полисинтезатор Yamaha CS-60 имеет режим сустейна, который позволяет вам настроить звук с долгим релизом, а затем повторно нажимать одну и ту же ноту на клавиатуре, и каждое нажатие будет назначать новый голос (по очереди) для этого обратите внимание, не мешая уже звучащим голосам (по крайней мере, пока вы не дойдете до нажатия восьмой клавиши!)
@BrianTHOMAS Да, вывод таков, что это зависит от синтезатора. Я увидел, что наиболее распространенным поведением было не поведение CS-60, а отключение голоса и его перезапуск, если нота была той же самой…

Ответы (5)

Спецификация MIDI гласит:

Если инструмент получает два или более сообщений Note On с одним и тем же номером клавиши и MIDI-каналом, он должен определить, как обрабатывать дополнительные сообщения Note On. От получателя зависит, будет ли звучать тот же голос или другой голос, или сообщения будут проигнорированы. Передатчик, однако, должен посылать соответствующее сообщение Note Off для каждой отправленной Note On. Если бы передатчик отправил только одно сообщение Note Off, и если приемник фактически назначил два сообщения Note On разным голосам, то одна нота задержалась бы. Так как нет никакого вреда или отрицательного побочного эффекта в отправке избыточных сообщений Note Off, это рекомендуемая практика.

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

Причины выпуска первой заметки:

  • Сообщение Note Off будет обрабатывать ровно один голос. Если бы было разрешено несколько нот, синтезатору пришлось бы запоминать некоторую информацию, чтобы иметь возможность определить, какая из двух активных нот является более ранней. Это возможно сделать, но увеличивает сложность и риск ошибиться.
  • Сообщение Note Off могло потеряться. Отпуская первую ноту, вы восстановитесь после этого.
Даже если бы синтезатор отслеживал, какая нота была раньше, у него не было бы возможности узнать, предназначена ли команда note-off для более ранней или более поздней ноты.
Так как команда NoteOff может иметь значение Velocity, отличное от 0, ее можно использовать для отключения правильной ноты или, по крайней мере, той, которая звучит одинаково.

Это слишком долго для комментария, поэтому я сделаю это ответом. Допустим, у вас есть циклическая программа выборки, которая каждый раз воспроизводит другую выборку речи. Вы играете в это:

NoteOn(1,40,100)   // "one"
NoteOn(1,40,100)   // "two"
NoteOn(1,40,100)   // "three"
NoteOn(1,40,100)   // "four"
NoteOn(1,40,100)   // "five"
NoteOff(1,40)

На какую из нот должна заканчиваться нота - на "один" или "пять" или на одну из других? Все они? Это самоочевидно и любой музыкант мог бы разумно ожидать такого поведения? Я сама не знаю, что должно произойти. Если вы хотите иметь несколько экземпляров одной и той же MIDI-ноты, используйте разные MIDI-каналы.

Например, в Ableton Live у вас не может быть даже MIDI-клипа с одновременным перекрытием нот. Редактор этого не допустит, он удалит или обрежет одну из заметок, чтобы было понятно и недвусмысленно, что происходит. Каждая нота должна иметь свое особое место в пространстве высоты тона/времени. Я предполагаю, что это ограничение существует, потому что разрешение перекрывающихся заметок сделало бы пользовательский интерфейс излишне сложным, и нет реального разумного варианта использования для перекрывающихся заметок.

Ableton Live не позволил бы этого, но MIDI-файл, если я не ошибаюсь… Я понимаю «чистоту» наличия неперекрывающихся нот, но я нахожу это немного ограничительным… Если звук одинаков для каждого события, это не имеет большого значения, какой из них закрыт. Я на самом деле не думал о круговой переборке! Я имел в виду больше «дронов»…
@Tom_C Можно создавать потоки низкоуровневых MIDI-сообщений, которые что-то выполняют на целевом устройстве, но без четкого однозначного музыкального значения более высокого уровня. Многие музыкальные приложения пытаются создать мост между этими уровнями, способный взаимодействовать с устройствами, но так, чтобы музыканты понимали, что они делают.
Да, я вижу, может быть, я немного преувеличиваю, но у вас есть хорошая мысль!
Невозможно представить концепцию «играть среднюю половинную ноту до с точкой, начинающуюся с доли 1, и среднюю четвертную ноту до, начинающуюся со второй доли». Он мог бы представлять ноту на ноте на ноте на ноте без ноты на четырех последовательных долях, но они не представляли бы вышеупомянутые половинные и четвертные ноты с точками не более, чем две половинные ноты, которые начинаются. разбить.

Несмотря на мой комментарий, этот ответ согласен с вами в том, что «неявное примечание отключено» является обычным явлением!

Суть в том, что это вопрос конструкции инструмента — нет четкого стандарта или спецификации, которой нужно следовать, что должно происходить, когда одна и та же нота воспроизводится дважды без прерывания ноты между ними. вполне вероятно, что синтезатор может решить назначить другой осциллятор на вторую ноту или закончить первую ноту, а затем начать вторую. Я также сталкивался с синтезаторами, которые могут делать что-то среднее между ними, повторно используя тот же осциллятор, но перезапуская фазу атаки огибающей с точки, в которой достигнуто затухание, если это имеет смысл.

Честно говоря, именно эта неудобная деталь заставила меня отказаться от MIDI как от способа создания электронной музыки. В частности, вся парадигма «примечание включено» / «примечано выключено» кажется скорее ориентированной на то, как работает что-то вроде фортепиано; даже имитация чего-то столь банального, как гитара (с ее отдельными механизмами «выбора ноты» и «запуска ноты») немного неудобна с MIDI.

Я согласен, с EWI, например, MIDI не очень адаптирован, но может справиться с некоторыми настройками. Я предполагаю, что вывод таков, что это «выбор разработчиков»…

Это не ответ на ваш вопрос, почему , но я не могу не упомянуть об этом. Возможно, очевидный способ обойти это ограничение MIDI — использовать один и тот же голос более чем на одном канале. Я смутно помню, что делал это в прошлом именно по этой причине. Однако это далеко не идеально, а иногда даже невозможно, особенно с синтезаторами. Будем надеяться, что MIDI 2.0 справится с этим лучше.

Кстати, ваше замечание о воспроизведении одной и той же ноты на фортепиано несколько раз одновременно неверно, когда используется педаль сустейна. Если педаль нажата, то вибрирующие струны не сразу затухают при отпускании клавиши. Поэтому, когда молоток снова ударяет по ним, он добавляет еще один импульс к уже существующей вибрации, фактически накладывая их друг на друга. Вы можете проверить это сами, если у вас есть пианино. Используйте педаль сустейна и несколько раз нажмите одну клавишу. Вы должны слышать изменение тембра с каждым ударом молоточка. Это связано с тем, что фазовый сдвиг между наложенными тонами различается, что вызывает конструктивную/деструктивную интерференцию гармоник, усиливая одни и ослабляя другие. Таким образом, вы можете играть одну и ту же ноту на фортепиано столько раз, сколько захотите (игнорируя экспоненциальное затухание огибающей и нелинейность). Когда вы отпускаете педаль, все эти NoteOn становятся NoteOffed.

Это интересный комментарий, и именно о таком эффекте я говорил. Я использовал сочувствие в качестве примера, так как, не имея пианино, не мог это проверить… Я думал, что молоток сначала останавливает струны в первой части пресса, но это неправильно, спасибо!

Однозначного ответа быть не может.

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

Полифоническая музыка с использованием этих инструментов использовала многодорожечную запись на аналоговых магнитофонах, по одной ноте за раз (наиболее известная, Switched-On Bach).

Теперь они старше MIDI-интерфейсов, но всего лет на 15, а MIDI был адаптирован ко всему, включая волынку. Так что это должна быть правильная интерпретация последовательности - по крайней мере, при игре на монофоническом инструменте.

Итак, должно ли это быть единственно правильной интерпретацией последовательности? Нет, это было бы слишком ограничивающим фактором для полифонических синтезаторов.

Они могут имитировать работу акустических клавишных инструментов: один голос (струнный или волынка) на клавишу, где повторение ноты должно обрезать первую ноту, как вы заметили.

Или у них может быть пул голосов, которые последовательно распределяются по нотам, возвращаясь в пул после сустейна. Это могло бы избежать «неявного выключения» — если только пул не исчерпан слишком большим количеством длительных нот за раз.