Привет! Думаю, я выбрал правильный раздел и место, чтобы рассказать об этом. Я создал несколько программ, которые позволяют использовать роутеры Mikrotik с бипером в качестве синтезаторов. Как вы знаете, можно писать «аудио» скрипты вручную, вводя частоты и задержки, но, по-моему, это выглядело ужасно. При этом я не нашёл никаких решений для автоматизации этого процесса. Поэтому я сделал две программы:
1. Midi to Mikrotik converter.
Позволяет конвертировать midi-файлы в скрипты для Mikrotik со всеми задержками и частотами. Но на каждом роутере есть только один бипер, и мы не можем одновременно сыграть две ноты, так что есть ограничения. Если вы используете midi с наложением нот и хотите получить чистое звучание, сначала нужно подготовить midi-файл в каком-нибудь редакторе (я использовал FL Studio). Если передать программе неидеальный файл, на выходе получится скрипт с «срезанными» нотами — то есть вторая нота начнёт играть раньше, чем закончится предыдущая. Также можно заглянуть в папку bin/Debug/midi_files в репозитории и попробовать готовые скрипты с расширением *.txt, а потом сравнить их с оригинальными *.mid файлами. Ещё одно ограничение: в midi-файлах может быть несколько дорожек — ударные, фортепиано, синтезатор и др., а бипер на роутере только один. Поэтому моя программа берёт один midi-файл на вход и извлекает из него все дорожки в отдельные текстовые файлы с цифрой в конце имени, например starwars_1.txt, starwars_2.txt. Если у вас есть телекоммуникационный шкаф с несколькими роутерами, можно попытаться воспроизвести каждую дорожку на отдельном роутере — как в «видео с музыкой на флоппи-дисках» — и снять это на видео. Ограничения по частотам: бипер Mikrotik может воспроизводить частоты примерно от 20 Гц до 4000 Гц, поэтому можно использовать параметры для сдвига октав или нот (описаны на странице GitHub).
2. Mikrotik SSH Piano (только для Windows x32)
Эта программа позволяет играть на Mikrotik в реальном времени, как на пианино или синтезаторе с одним голосом. Ограничения такие же, как у первой программы. В использовании нет ничего сложного — просто запускаете exe с аргументами username ip port, а потом вводите пароль. В этом проекте я использовал libssh для Windows и скачал готовые dll. Если вы не доверяете библиотекам из моего репозитория, можете скачать их самостоятельно или скомпилировать из исходников. Почему только для Windows? Потому что, как мне кажется, на Linux проще реализовать аналог на Python или Bash-скриптах, тем более там простой доступ к SSH через терминал и скрипты. Почему x32? Потому что использованные библиотеки скомпилированы для x32-систем.
Буду рад, если мои программы окажутся вам полезными.
P.S. Извиняюсь за мой английский.
1. Midi to Mikrotik converter.
Позволяет конвертировать midi-файлы в скрипты для Mikrotik со всеми задержками и частотами. Но на каждом роутере есть только один бипер, и мы не можем одновременно сыграть две ноты, так что есть ограничения. Если вы используете midi с наложением нот и хотите получить чистое звучание, сначала нужно подготовить midi-файл в каком-нибудь редакторе (я использовал FL Studio). Если передать программе неидеальный файл, на выходе получится скрипт с «срезанными» нотами — то есть вторая нота начнёт играть раньше, чем закончится предыдущая. Также можно заглянуть в папку bin/Debug/midi_files в репозитории и попробовать готовые скрипты с расширением *.txt, а потом сравнить их с оригинальными *.mid файлами. Ещё одно ограничение: в midi-файлах может быть несколько дорожек — ударные, фортепиано, синтезатор и др., а бипер на роутере только один. Поэтому моя программа берёт один midi-файл на вход и извлекает из него все дорожки в отдельные текстовые файлы с цифрой в конце имени, например starwars_1.txt, starwars_2.txt. Если у вас есть телекоммуникационный шкаф с несколькими роутерами, можно попытаться воспроизвести каждую дорожку на отдельном роутере — как в «видео с музыкой на флоппи-дисках» — и снять это на видео. Ограничения по частотам: бипер Mikrotik может воспроизводить частоты примерно от 20 Гц до 4000 Гц, поэтому можно использовать параметры для сдвига октав или нот (описаны на странице GitHub).
2. Mikrotik SSH Piano (только для Windows x32)
Эта программа позволяет играть на Mikrotik в реальном времени, как на пианино или синтезаторе с одним голосом. Ограничения такие же, как у первой программы. В использовании нет ничего сложного — просто запускаете exe с аргументами username ip port, а потом вводите пароль. В этом проекте я использовал libssh для Windows и скачал готовые dll. Если вы не доверяете библиотекам из моего репозитория, можете скачать их самостоятельно или скомпилировать из исходников. Почему только для Windows? Потому что, как мне кажется, на Linux проще реализовать аналог на Python или Bash-скриптах, тем более там простой доступ к SSH через терминал и скрипты. Почему x32? Потому что использованные библиотеки скомпилированы для x32-систем.
Буду рад, если мои программы окажутся вам полезными.
P.S. Извиняюсь за мой английский.
