Архив:Вики Радиоанона/Настройка вещания под Linux™: различия между версиями

Материал из Noobtype — единственного источника Истины во Вселенной
Перейти к навигации Перейти к поиску
(http://wiki.radioanon.ru/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/linux)
 
мНет описания правки
 
Строка 1: Строка 1:
Именно Linux™<ref>Да, блять, это действительно зарегистрированная торговая марка, пруф.
Именно Linux™<ref>Да, блять, это действительно зарегистрированная торговая марка, [http://assignments.uspto.gov/assignments/q?db=tm&rno=1916230 пруф].
</ref>.
</ref>.


Строка 7: Строка 7:
Что нам нужно:
Что нам нужно:


JACK (аудиосервер)
* JACK (аудиосервер)
qjackctl (для управления JACK'ом)
* qjackctl (для управления JACK’ом)
Internet DJ Console
* Internet DJ Console
ALSA (есть практически везде)
* ALSA (есть практически везде)
Skype (для приёма звонков)
* Skype (для приёма звонков)




Строка 21: Строка 21:
svn co http://subversion.jackaudio.org/jack/trunk/jack
svn co http://subversion.jackaudio.org/jack/trunk/jack


Собираем через autogen.sh, далее (важно!) ./configure –libdir=/usr/lib (иначе либы свалятся в диру /usr/local/lib, и джек не сможет их загрузить), потом make и make install, ну ты понел.
Собираем через autogen.sh, далее (важно!) ./configure -libdir=/usr/lib (иначе либы свалятся в диру /usr/local/lib, и джек не сможет их загрузить), потом make и make install, ну ты понел.


Аналогично можно поставить и из репозитория. Приём с svn был актуален некоторое количество колов времени назад, когда в репах был старый и глючный JACK. Теперь ситуация значительно улучшилась, и версия 1.9.6 в Debian sid, скажем, отлично подходит для наших целей. Старый джек можно задетектить по версии типа 0.118, так вот, он нам не нужен.
Аналогично можно поставить и из репозитория. Приём с svn был актуален некоторое количество колов времени назад, когда в репах был старый и глючный JACK. Теперь ситуация значительно улучшилась, и версия 1.9.6 в Debian sid, скажем, отлично подходит для наших целей. Старый джек можно задетектить по версии типа 0.118, так вот, он нам не нужен.
Строка 37: Строка 37:
Далее надо завернуть альсу на JACK. Для этого понадобится alsa-jack плагин (обычно в поставке всей аудиосистемы, либо доустановите из репозитория пакет alsa-plugins и/или alsa-jack) и такой вот конфиг, который следует разместить в ~ и назвать .asoundrc :
Далее надо завернуть альсу на JACK. Для этого понадобится alsa-jack плагин (обычно в поставке всей аудиосистемы, либо доустановите из репозитория пакет alsa-plugins и/или alsa-jack) и такой вот конфиг, который следует разместить в ~ и назвать .asoundrc :


pcm.!default {
pcm.!default {
type plug
type plug
slave { pcm "jack" }
slave { pcm «jack» }
}
}
pcm.jack {
pcm.jack {
type jack
type jack
playback_ports {
playback_ports {
0 alsa_pcm:playback_1
0 alsa_pcm: playback_1
1 alsa_pcm:playback_2
1 alsa_pcm: playback_2
}
}
capture_ports {
capture_ports {
0 alsa_pcm:capture_1
0 alsa_pcm: capture_1
1 alsa_pcm:capture_2
1 alsa_pcm: capture_2
}
}
}
}
ctl.mixer0 {
ctl.mixer0 {
type hw
type hw
card 0
card 0
}
}


Можете сделать скрипты по переименованию этого конфига в .asoundrc и, положим, в .asound.bak, чтобы отключать заворот на JACK, когда вы его не используете (иначе альса не будет работать просто). В общем-то, этого вполне достаточно для организации эфира со скайпом. Добавив умения включать вещание с DSP-входа (безумная галочка в настройках), можно подключить на этот вход модульный синтезатор типа milkytracker и вещать восьмибитку в первозданном звучании, благо, этот синтезатор умеет выводить прямо на JACK без извратов с альсой.
Можете сделать скрипты по переименованию этого конфига в .asoundrc и, положим, в .asound.bak, чтобы отключать заворот на JACK, когда вы его не используете (иначе альса не будет работать просто). В общем-то, этого вполне достаточно для организации эфира со скайпом. Добавив умения включать вещание с DSP-входа (безумная галочка в настройках), можно подключить на этот вход модульный синтезатор типа milkytracker и вещать восьмибитку в первозданном звучании, благо, этот синтезатор умеет выводить прямо на JACK без извратов с альсой.
Строка 61: Строка 61:
Вот как делается подключение других программ. Нажимаем в qjackctl кнопку Connect и видим входы и выходы JACK. Можно просто перетаскивая вход на выход (или наоборот) создавать соединения и направлять звук. Cкриншот подключения скайпа в микрофонный вход:
Вот как делается подключение других программ. Нажимаем в qjackctl кнопку Connect и видим входы и выходы JACK. Можно просто перетаскивая вход на выход (или наоборот) создавать соединения и направлять звук. Cкриншот подключения скайпа в микрофонный вход:


Обратите внимание на устройство alsa-jack.jackP.18787.38 — это скайп, выводящий звук через альса-плагин. Его нужно подключить на вход IDJC, который называется mic_lt и mic_rt для левого и правого канала соответственно. Делать это следует перед тем, как выводить позвонившего в эфир, т.е. сначала можно с ним поговорить с отключенным в IDJC микрофоном, далее подключить его в этом окне с проводами и, включив в IDJC микрофон, общаться вместе. Это базовый скилл, далее вы можете подключать на dsp вход другую программу (правда, при этом нельзя говорить и включать музыку в самом IDJC, но, думаю, если переподключить кабели в соединениях, можно добиться чего угодно). Вещание с DSP включается в настройках IDJC, найдёте нужную галку.
Обратите внимание на устройство alsa-jack.jackP.18787.38 — это скайп, выводящий звук через альса-плагин. Его нужно подключить на вход IDJC, который называется mic_lt и mic_rt для левого и правого канала соответственно. Делать это следует перед тем, как выводить позвонившего в эфир, то есть сначала можно с ним поговорить с отключенным в IDJC микрофоном, далее подключить его в этом окне с проводами и, включив в IDJC микрофон, общаться вместе. Это базовый скилл, далее вы можете подключать на dsp вход другую программу (правда, при этом нельзя говорить и включать музыку в самом IDJC, но, думаю, если переподключить кабели в соединениях, можно добиться чего угодно). Вещание с DSP включается в настройках IDJC, найдёте нужную галку.


Скрин с IDJC
Скрин с IDJC
Строка 70: Строка 70:
Если у вас skype отваливается от джека/виснет с бесконечным лупом после 5-10 секунд начала разговора, значит, прыщебляди соснули сраные проприетарщики и впрямь закосячили последнюю бету. Подобное поведение наблюдается на 2.1.0.81, но на предыдущей 2.1.0.47 всё прекрасно-замечательно и не глючит. Вывод? Откатываемся на прошлую бету.
Если у вас skype отваливается от джека/виснет с бесконечным лупом после 5-10 секунд начала разговора, значит, прыщебляди соснули сраные проприетарщики и впрямь закосячили последнюю бету. Подобное поведение наблюдается на 2.1.0.81, но на предыдущей 2.1.0.47 всё прекрасно-замечательно и не глючит. Вывод? Откатываемся на прошлую бету.


Ссылки на скачивание собственно последней рабочей с jack'ом версии:
Ссылки на скачивание собственно последней рабочей с jack’ом версии:


* [http://download.skype.com/linux/skype-debian_2.1.0.47-1_i386.deb Debian]
Debian
* [http://download.skype.com/linux/skype-2.1.0.47-suse.i586.rpm SuSE]
SuSE
* [http://download.skype.com/linux/skype-2.1.0.47.tar.bz2 Dynamic]
Dynamic
* [http://download.skype.com/linux/skype_static-2.1.0.47.tar.bz2 Static]
Static
* [http://download.skype.com/linux/skype-ubuntu-intrepid_2.1.0.47-1_i386.deb Ubuntu 8 32bit]
Ubuntu 8 32bit
Ubuntu 8 amd 64bit
* [http://download.skype.com/linux/skype-ubuntu-intrepid_2.1.0.47-1_amd64.deb Ubuntu 8 amd 64bit]


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


== Mumble ==
Толком не тестировалось, но всё же. Появился патч для Mumble, добавляющий поддержку JACK. Этого долго ждали, и оно свершилось! Сам патч для сорсов. Собранные бинарники:


Debian Stable x86
Debian Unstable x86
Debian Stable amd64
Debian Unstable amd64
Fedora 14 x86


Толком не тестировалось, но всё же. Появился патч для Mumble, добавляющий поддержку JACK. Этого долго ждали, и оно свершилось! Сам [http://sourceforge.net/tracker/index.php?func=detail&aid=3166072&group_id=147372&atid=768007 патч для сорсов]. Собранные бинарники:
Если JACK не запущен, в списке его не будет. Сервер обитает на radioanon . ru .

*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.2-6_i386.deb Debian Stable x86]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.3-1_i386.deb Debian Unstable x86]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.2-6_amd64.deb Debian Stable amd64]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble_1.2.3-1_amd64.deb Debian Unstable amd64]
*[http://wiki.radioanon.ru/_media/%D1%80%D0%B0%D0%B4%D0%B8%D0%BE/mumble-1.2.2-8.fc14.i686.rpm Fedora 14 x86]

Если JACK не запущен, в списке его не будет. Сервер обитает на radioanon . ru .


== Шаманства для Ubuntu 8.10 от xcellent ==
== Шаманства для Ubuntu 8.10 от xcellent ==
Строка 98: Строка 100:
Основная полезная инфа находится по ссылке: http://ubuntuforums.org/showthread.php?t=577914. В Убунту ALSA собрана без JACK плагина, соответственно Скайп не сможет давать звук. Чтобы это пофиксить, нам нужен будет плагин JACK из дебиановского пакета, который по ссылке: http://packages.debian.org/lenny/i386/libasound2-plugins/download. Желательно, чтобы версия плагина и ALSA совпадала или была не выше версии ALSA (возможны конфликты).
Основная полезная инфа находится по ссылке: http://ubuntuforums.org/showthread.php?t=577914. В Убунту ALSA собрана без JACK плагина, соответственно Скайп не сможет давать звук. Чтобы это пофиксить, нам нужен будет плагин JACK из дебиановского пакета, который по ссылке: http://packages.debian.org/lenny/i386/libasound2-plugins/download. Желательно, чтобы версия плагина и ALSA совпадала или была не выше версии ALSA (возможны конфликты).


Пакет — это обычный архив, открываем его менеджером архивов и находим три файла: libasound_module_pcm_jack.a, libasound_module_pcm_jack.la, libasound_module_pcm_jack.so. Файлы копипастим в /usr/lib/alsa-lib с правами администратора.
Пакет — это обычный архив, открываем его менеджером архивов и находим три файла: libasound_module_pcm_jack.a, libasound_module_pcm_jack.la, libasound_module_pcm_jack.so. Файлы копипастим в /usr/lib/alsa-lib с правами администратора.


Алсо, не забываем о конфиге .asoundrc в хомяке, который в Убунту должен иметь вид:
Алсо, не забываем о конфиге .asoundrc в хомяке, который в Убунту должен иметь вид:


pcm.idjcvoip {
pcm.idjcvoip {
type plug
type plug
slave { pcm "idjcjack" }
slave { pcm "idjcjack" }
}
}
pcm.idjcjack {
pcm.idjcjack {
type jack
type jack
playback_ports {
playback_ports {
0 idjc-mx:voip_recv_lt
0 idjc-mx:voip_recv_lt
1 idjc-mx:voip_recv_rt
1 idjc-mx:voip_recv_rt
}
}
capture_ports {
capture_ports {
0 idjc-mx:voip_send_lt
0 idjc-mx:voip_send_lt
1 idjc-mx:voip_send_rt
1 idjc-mx:voip_send_rt
}
}
}
}


Далее, когда плагин установлен и конфиг создан, перезагружаемся, потом в Skype в Настройки/Устройства выбираем idjcvoip во все поля. Проверяем на запущенном JACK и idjc есть ли звук в тестовом звонке. Если есть, значит Skype теперь можно смешивать в idjc в поток. Короче, работает.
Далее, когда плагин установлен и конфиг создан, перезагружаемся, потом в Skype в Настройки/Устройства выбираем idjcvoip во все поля. Проверяем на запущенном JACK и idjc есть ли звук в тестовом звонке. Если есть, значит Skype теперь можно смешивать в idjc в поток. Короче, работает.
Строка 123: Строка 125:




Чтобы подружить pulseaudio c jack, достаточно поставить один пакет - pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack) и можно будет работать. Но нельзя будет подключить skype, так как он по умолчанию использует pulseaudio и jack не сможет его подхватить. Чтобы это исправить, придется сделать следующее:
Чтобы подружить pulseaudio c jack, достаточно поставить один пакет — pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack) и можно будет работать. Но нельзя будет подключить skype, так как он по умолчанию использует pulseaudio и jack не сможет его подхватить. Чтобы это исправить, придется сделать следующее:


1. Установить pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack)
# Установить pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack)
2. Запретить автоматический перезапуск pulseaudio командой: echo autospawn = no > ~/.pulse/client.conf
# Запретить автоматический перезапуск pulseaudio командой: echo autospawn = no > ~/.pulse/client.conf
3. Запустить qjackctl, настроить его по скриншоту (убивать пульсу при запуске и перезапускать после)
# Запустить qjackctl, настроить его по скриншоту (убивать пульсу при запуске и перезапускать после)
# ???
# Можно вещать.


== Примечания ==
4. ???
{{примечания}}
5. Можно вещать.

Текущая версия от 22:16, 3 января 2012

Именно Linux™[1].

Нужные компоненты

Что нам нужно:

  • JACK (аудиосервер)
  • qjackctl (для управления JACK’ом)
  • Internet DJ Console
  • ALSA (есть практически везде)
  • Skype (для приёма звонков)


JACK

Качаем из svn последнюю версию (необязательно оттуда, но нужен самый свежий JACK ветки 1.9.х, он стабилен):

  svn co http://subversion.jackaudio.org/jack/trunk/jack

Собираем через autogen.sh, далее (важно!) ./configure -libdir=/usr/lib (иначе либы свалятся в диру /usr/local/lib, и джек не сможет их загрузить), потом make и make install, ну ты понел.

Аналогично можно поставить и из репозитория. Приём с svn был актуален некоторое количество колов времени назад, когда в репах был старый и глючный JACK. Теперь ситуация значительно улучшилась, и версия 1.9.6 в Debian sid, скажем, отлично подходит для наших целей. Старый джек можно задетектить по версии типа 0.118, так вот, он нам не нужен.

Далее качаем qjackctl с офсайта либо из ближайшей репы для своего дистрибутива. Им будем управлять аудиосервером и втыкать проводки :3

Задаём настройки для аудиосервера, чтобы он работал долго и надёжно. Вот скриншот того, как настроил я:

(у некоторых работает с такими настройками: без галочки «Режим реал. времени (realtime)» и периодов на буфер 2)

Настоятельно рекомендую для пущего кайфу сделать округлые возбуждающие проводки:

Теперь запускаем JACK кнопкой в qjackctl и проверяем работу idjc (тут ничего сложного). Уже можно вещать, но самый смак в подключении внешнего звука в свой микрофон или другой вход.

Далее надо завернуть альсу на JACK. Для этого понадобится alsa-jack плагин (обычно в поставке всей аудиосистемы, либо доустановите из репозитория пакет alsa-plugins и/или alsa-jack) и такой вот конфиг, который следует разместить в ~ и назвать .asoundrc :

pcm.!default {
  type plug
  slave { pcm «jack» }
}
pcm.jack {
 type jack
 playback_ports {
 0 alsa_pcm: playback_1
 1 alsa_pcm: playback_2
 }
 capture_ports {
 0 alsa_pcm: capture_1
 1 alsa_pcm: capture_2
 }
}
ctl.mixer0 {
 type hw
 card 0
}

Можете сделать скрипты по переименованию этого конфига в .asoundrc и, положим, в .asound.bak, чтобы отключать заворот на JACK, когда вы его не используете (иначе альса не будет работать просто). В общем-то, этого вполне достаточно для организации эфира со скайпом. Добавив умения включать вещание с DSP-входа (безумная галочка в настройках), можно подключить на этот вход модульный синтезатор типа milkytracker и вещать восьмибитку в первозданном звучании, благо, этот синтезатор умеет выводить прямо на JACK без извратов с альсой.

Вот как делается подключение других программ. Нажимаем в qjackctl кнопку Connect и видим входы и выходы JACK. Можно просто перетаскивая вход на выход (или наоборот) создавать соединения и направлять звук. Cкриншот подключения скайпа в микрофонный вход:

Обратите внимание на устройство alsa-jack.jackP.18787.38 — это скайп, выводящий звук через альса-плагин. Его нужно подключить на вход IDJC, который называется mic_lt и mic_rt для левого и правого канала соответственно. Делать это следует перед тем, как выводить позвонившего в эфир, то есть сначала можно с ним поговорить с отключенным в IDJC микрофоном, далее подключить его в этом окне с проводами и, включив в IDJC микрофон, общаться вместе. Это базовый скилл, далее вы можете подключать на dsp вход другую программу (правда, при этом нельзя говорить и включать музыку в самом IDJC, но, думаю, если переподключить кабели в соединениях, можно добиться чего угодно). Вещание с DSP включается в настройках IDJC, найдёте нужную галку.

Скрин с IDJC


ВНИМАНИЕ!

Если у вас skype отваливается от джека/виснет с бесконечным лупом после 5-10 секунд начала разговора, значит, прыщебляди соснули сраные проприетарщики и впрямь закосячили последнюю бету. Подобное поведение наблюдается на 2.1.0.81, но на предыдущей 2.1.0.47 всё прекрасно-замечательно и не глючит. Вывод? Откатываемся на прошлую бету.

Ссылки на скачивание собственно последней рабочей с jack’ом версии:

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

Mumble

Толком не тестировалось, но всё же. Появился патч для Mumble, добавляющий поддержку JACK. Этого долго ждали, и оно свершилось! Сам патч для сорсов. Собранные бинарники:

Если JACK не запущен, в списке его не будет. Сервер обитает на radioanon . ru .

Шаманства для Ubuntu 8.10 от xcellent

Описываемые шаманства касаются версии Ubuntu 8.10, однако могут в теории работать на будущих или предыдущих версиях дистрибутива.

Основная полезная инфа находится по ссылке: http://ubuntuforums.org/showthread.php?t=577914. В Убунту ALSA собрана без JACK плагина, соответственно Скайп не сможет давать звук. Чтобы это пофиксить, нам нужен будет плагин JACK из дебиановского пакета, который по ссылке: http://packages.debian.org/lenny/i386/libasound2-plugins/download. Желательно, чтобы версия плагина и ALSA совпадала или была не выше версии ALSA (возможны конфликты).

Пакет — это обычный архив, открываем его менеджером архивов и находим три файла: libasound_module_pcm_jack.a, libasound_module_pcm_jack.la, libasound_module_pcm_jack.so. Файлы копипастим в /usr/lib/alsa-lib с правами администратора.

Алсо, не забываем о конфиге .asoundrc в хомяке, который в Убунту должен иметь вид:

pcm.idjcvoip {
    type plug
    slave { pcm "idjcjack" }
}
pcm.idjcjack {
  type jack
  playback_ports {
    0 idjc-mx:voip_recv_lt
    1 idjc-mx:voip_recv_rt
  }
  capture_ports {
    0 idjc-mx:voip_send_lt
    1 idjc-mx:voip_send_rt
  }
}

Далее, когда плагин установлен и конфиг создан, перезагружаемся, потом в Skype в Настройки/Устройства выбираем idjcvoip во все поля. Проверяем на запущенном JACK и idjc есть ли звук в тестовом звонке. Если есть, значит Skype теперь можно смешивать в idjc в поток. Короче, работает.

Pulseaudio и Jack

Чтобы подружить pulseaudio c jack, достаточно поставить один пакет — pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack) и можно будет работать. Но нельзя будет подключить skype, так как он по умолчанию использует pulseaudio и jack не сможет его подхватить. Чтобы это исправить, придется сделать следующее:

  1. Установить pulseaudio-module-jack (в ubuntu sudo aptitude install pulseaudio-module-jack)
  2. Запретить автоматический перезапуск pulseaudio командой: echo autospawn = no > ~/.pulse/client.conf
  3. Запустить qjackctl, настроить его по скриншоту (убивать пульсу при запуске и перезапускать после)
  4. ???
  5. Можно вещать.

Примечания

  1. Да, блять, это действительно зарегистрированная торговая марка, пруф.