Разработчик(и) | Фолькер Фишер и авторы |
---|---|
Первоначальный выпуск | 2006 ( 2006 ) | [1]
Стабильный релиз | 3.11.0 [2] / 21 сентября 2024 г. ( 2024-09-21 ) |
Репозиторий |
|
Написано в | С++ |
Операционная система | |
Лицензия | GPLv2 |
Веб-сайт | jamulus.io |
Jamulus — это программное обеспечение для сетевого исполнения музыки с открытым исходным кодом ( GPL ) , которое позволяет проводить живые репетиции, импровизации и выступления с музыкантами, находящимися в любой точке Интернета. [3] Jamulus написан Фолькером Фишером и его соавторами [4] с использованием C++. Программное обеспечение основано на фреймворке Qt и использует аудиокодек OPUS . До 2013 года оно было известно как «llcon». [5]
Одной из проблем с воспроизведением музыки через Интернет в реальном времени является задержка [6] — временная задержка, которая возникает, пока (сжатые) аудиопотоки передаются к каждому музыканту и от него. Хотя эффект предшествования означает, что небольшие задержки (примерно до 40 мс) могут восприниматься как синхронные, более длительные задержки делают практически невозможным совместное живое выступление. Еще одной проблемой является джиттер , тип задержки пакетов из-за изменений задержки с течением времени, что приводит к прерывистому или искаженному звуку. Длительные задержки могут даже привести к потере пакетов (воспринимаемой как «отключение»). Их можно устранить с помощью буферов задержки или буферов джиттера (оба из которых присутствуют в Jamulus), — но они затем добавляются к общей задержке приема-передачи , поэтому должны быть сбалансированы. [7] [8]
Популярное программное обеспечение для видеоконференций , такое как Zoom или Teams, не подходит для этой задачи, поскольку задержка может быть намного выше (Zoom рекомендует «задержку 150 мс или меньше» и джиттер «40 мс или меньше», [9] а в некоторых тестах 2020 года было показано, что средняя задержка составляет 135 мс; «показатели низкого качества звука» для Teams включают «время приема-передачи >500 мс» и «джиттер >30 мс»). [10] [11] Кроме того, большинство такого программного обеспечения оптимизировано для речи, а не для музыки, поэтому непрерывные музыкальные ноты могут быть ошибочно идентифицированы как фоновый шум и отфильтрованы (хотя это можно смягчить до некоторой степени с помощью таких настроек, как «Включить оригинальный звук»). Программное обеспечение для конференций также часто разрабатывается таким образом, чтобы было слышно только одного человека за раз (говорящий получает «фокус»), чтобы люди не перебивали друг друга, но это делает невозможным совместное воспроизведение музыки. Кроме того, программное обеспечение для конференций обычно не позволяет детально настраивать громкость или панорамирование отдельных аудиопотоков на стороне пользователя, хотя обе эти функции являются неотъемлемыми функциями Jamulus.
Чтобы максимально сократить задержку, Jamulus использует сжатый звук и протокол UDP для передачи аудиоданных. Общая задержка состоит из:
Jamulus основан на клиент-сервере; [12] каждый клиент передает свой собственный сжатый аудиосигнал на сервер в Интернете. Сервер микширует (распакованный) аудиопоток для каждого пользователя отдельно и повторно передает индивидуальный сжатый микс каждому клиенту. Каждый клиент имеет свою собственную консоль микширования, которая управляет его миксом на сервере.
Серверы могут быть как публичными, так и частными (называемые «зарегистрированными» и «незарегистрированными», поскольку Jamulus не имеет встроенного механизма аутентификации пользователей), первые перечислены в «каталогах», из которых пользователи могут выбрать сервер с наименьшей для них задержкой.
Уже в 2018 году Jamulus привлекал внимание как способ для классических ансамблей, таких как струнные квартеты, репетировать на расстоянии, [13] но его использование резко возросло в 2020 году из-за пандемии COVID-19 . [14] В апреле 2020 года его скачивали две тысячи раз в день, и эта тенденция росла. [15] Он был выбран SourceForge «Проектом месяца» в июне 2020 года. [16] Jamulus Storband, первый «виртуальный биг-бэнд» Швеции с более чем 20 участниками, также начал работу в том же месяце. [17] Позднее было внесено много изменений для поддержки более крупных групп, таких как хоры с числом участников до 98 человек [18] [19] , а также WorldJam, [20] инициативы, позволяющей музыкантам со всего мира играть вместе на регулярной основе.
Наличие синхронизированного метронома для участников сессии может быть ключом к тому, чтобы помочь музыкантам поддерживать темп песни и синхронизироваться друг с другом. Доступны многочисленные онлайн-метрономы или могут использоваться другие инструменты с открытым исходным кодом: например, Sychronome [21] использует NTP (сетевой протокол времени) с сетевым сервером времени для синхронизации метрономов для каждого клиента Jamulus через смартфоны.
Старое название "llcon" теперь заменено новым названием "Jamulus" [...] Название llcon было введено в самом начале разработки программного обеспечения много лет назад.