Ямул - Jamulus

Jamulus
Jamulus.png
Разработчики) Фолькер Фишер и соавторы
Первый выпуск 2006 ; 15 лет назад ( 2006 )
Стабильный выпуск
3.8.0 / 2 июня 2021 г . ; 28 дней назад ( 2021-06-02 )
Написано в C ++
Операционная система
Лицензия GPLv2
Веб-сайт jamulus.io

Jamulus - это сетевое программное обеспечение для исполнения музыки с открытым исходным кодом ( GPL ), которое позволяет репетировать вживую, джемовать и выступать с музыкантами, находящимися в любом месте в Интернете. Jamulus написан Волкером Фишером и соавторами с использованием C ++. Программное обеспечение основано на платформе Qt и использует аудиокодек OPUS . До 2013 года он был известен как «llcon».

Одной из проблем с воспроизведением музыки через Интернет в реальном времени является задержка - задержка, которая возникает при передаче (сжатых) аудиопотоков к каждому музыканту и от него. Хотя эффект приоритета означает, что небольшие задержки (примерно до 40 мс) могут восприниматься как синхронные, более длинные задержки делают практически невозможным совместное живое выступление. Еще одна проблема - это дрожание , тип задержки пакета из-за изменений задержки с течением времени, что приводит к прерывистому или искаженному звуку. Длительные задержки могут даже привести к потере пакетов (что воспринимается как «отключение»). Их можно смягчить с помощью буферов задержки или буферов джиттера (оба из которых присутствуют в Jamulus), но они затем добавляют к общей задержке приема-передачи , поэтому их необходимо сбалансировать.

Популярное программное обеспечение для видеоконференций, такое как Zoom или Teams, не подходит для этой задачи, поскольку задержка может быть намного выше (Zoom рекомендует «задержку 150 мс или меньше» и джиттер «40 мс или меньше», а в некоторых тестах 2020 года было показано, что средняя задержка 135 мс; «Показатели низкого качества звука» для Teams включают «Время приема-передачи> 500 мс» и «Джиттер> 30 мс»). Кроме того, большая часть такого программного обеспечения оптимизирована для речи, а не для музыки, поэтому устойчивые музыкальные ноты могут быть ошибочно определены как фоновый шум и отфильтрованы (хотя это можно в некоторой степени уменьшить с помощью таких настроек, как «Включить исходный звук»). Программное обеспечение для конференц-связи также часто предназначено для того, чтобы слышать только одного человека (говорящий получает «фокус»), чтобы люди не разговаривали друг с другом, но это делает невозможным совместное воспроизведение музыки. Кроме того, программное обеспечение для конференц-связи обычно не позволяет детально настраивать громкость или панорамирование отдельных аудиопотоков на стороне пользователя, что является неотъемлемой частью Jamulus.

Чтобы максимально уменьшить задержку, Jamulus использует сжатый звук и протокол UDP для передачи аудиоданных. Общая задержка складывается из:

Jamulus основан на клиент-сервере; каждый клиент передает свой собственный сжатый звук на сервер в другом месте в Интернете. Сервер микширует (распакованный) аудиопоток для каждого пользователя отдельно и повторно передает индивидуальный сжатый микс каждому клиенту. У каждого клиента есть своя собственная микшерная консоль, которая управляет микшированием на сервере.

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

Применение

Уже в 2018 году Jamulus привлекал внимание как способ для классических ансамблей, таких как струнные квартеты, репетировать на расстоянии, но его использование резко возросло в 2020 году из -за пандемии COVID-19 . В апреле 2020 года его загружали две тысячи раз в день, и эта тенденция усиливалась. В июне 2020 года он был выбран SourceForge «Проектом месяца». В том же месяце начал свою деятельность Jamulus Storband, первый шведский «виртуальный биг-бэнд», насчитывающий более 20 участников. Позднее было внесено множество изменений для поддержки более крупных групп, таких как хоры с 98 участниками, а также WorldJam , инициатива, позволяющая музыкантам со всего мира играть вместе на регулярной основе.

Наличие синхронизированного метронома для участников сеанса может быть ключом к тому, чтобы помочь музыкантам сохранять темп песни и синхронизироваться друг с другом. Доступны многочисленные онлайн-метрономы или другие инструменты с открытым исходным кодом: например, Sychronome использует NTP (сетевой протокол времени) с сетевым сервером времени для синхронизации метрономов для каждого клиента Jamulus через смартфоны.

Смотрите также

Рекомендации