существует ли инструмент, который воспроизводит все ноты с одинаковым профилем громкости (с течением времени) независимо от высоты тона

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

Вот хороший вопрос по этому поводу: когда мы нажимаем клавишу пианино, почему нота высокого тона длится не так долго, как нота низкого тона?

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

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

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

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

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

Вы могли бы легко сделать электронный инструмент (например, используя образцы), который делает это. Будет ли это удовлетворительным ответом на ваши вопросы? Если нет, уточните. На фортепиано вы можете поместить какой-нибудь мягкий материал (пена, войлок...) на струны более низкого тона, чтобы укоротить их звук.
На самом деле я использую скрипт Python, который я нашел в Интернете для создания MIDI-файлов, и проблема в том, что звуковые шрифты представляют собой настоящие инструменты - pypi.org/project/MIDIUtil , и я пытался получить помощь на другом форуме, когда я наткнулся на вопрос i ссылка выше, подробно объясняющая, что для меня неудобно :)
Осторожный духовой игрок тоже может сыграть все одинаковой длины на всей тесситуре :)
Это что касается физики акустики. Кроме того, хе-хе, конечно, вы имеете в виду струнные инструменты, которые являются щипковыми или перкуссионными; смычковые струны, конечно, могут делать все, что хотят. Это явление работает только для инструментов, которые создают звук с помощью одного импульса (барабан, тарелка, тональная перкуссия, щипковые струны). Это неверно для большинства духовых инструментов, голоса, органа и т. д.
Кстати, добро пожаловать и спасибо за участие! Тем не менее, я рекомендую вам использовать ссылку «редактировать», чтобы изменить вопрос, когда вы об этом думаете. На данный момент единственный ответ: «Конечно, их много». Но, возможно, вы хотели бы превратить его в вопрос «почему/как» (при условии, что он не дублирует связанный вопрос).
Я чувствую здесь проблему XY. Почему неудобно, когда синтезированные инструменты имитируют естественные инструменты, для имитации которых они предназначены? Вы понимаете, что MIDI не кодирует фактический звук?
@ user1079505: Если вас устраивает звук чиптюна 1980-х, вам даже не нужно генерировать семплы. Если все ноты имеют одинаковую постоянную продолжительность, вы можете просто использовать Beepфункцию Win32. Я даже сделал с его помощью простую программу для музыкальных инструментов.
@dan04 О боже, большое спасибо, это именно то, что я ищу,
У вас два разных вопроса в одном посте.

Ответы (3)

Я думаю, что лучшим вариантом для вас, вероятно, будет орган. Мало того, что он остается на постоянной громкости в течение всей длительности ноты, но простые гармоники органа должны облегчить автоматическое определение высоты ноты, которую вы, кажется, ищете.

Я не уверен, как это работает в Musescore, но в реальной жизни органы игнорируют маркировку динамики, поэтому он также должен воспроизводиться с постоянной громкостью независимо от динамики.

Как намекнул Теодор, лучшее решение — не искать определенный инструмент. Ваша проблема в том, что вы не хотите полифонии. В смысле MIDI «полифония» означает возможность иметь перекрывающиеся ноты. Например, на сверхдешевой игрушечной клавиатуре, если вы нажмете ноту C, а затем D, ре перебьет ноту C, а не наложится поверх нее. В зависимости от того, какое программное обеспечение вы используете для взаимодействия с MIDI-инструментом, вы можете отключить полифонию или выбрать монофонический виртуальный инструмент.

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

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

Важным понятием для понимания является конверт : https://en.wikipedia.org/wiki/Envelope_(music) .

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

Другой способ — настроить синтезатор так, чтобы он имел нулевой уровень сустейна, а затухание и релиз — одинаковыми — и достаточно короткими, чтобы не было явного наложения нот. Однако это может позволить только очень короткие заметки, и я недостаточно знаком с MuseScore3, чтобы знать, позволяет ли он это.