LINUX.ORG.RU

apulse

 ,


23

13

Everyone! Listen up! Today... today...

$ apulse <program-name> [program parameters]

https://github.com/i-rinat/apulse — эмуляция PulseAudio. Когда приложение пытается загрузить libpulse.so, ему подсовывают её версию от apulse, в которой реализована часть функций, достаточная, чтобы запустить Skype и некоторый другой софт.

☕☕☕☕

Последнее исправление: i-rinat (всего исправлений: 2)

i-rinat, ты царь! хоть я и перешел на пульсу давно, ты делаешь очень нужное всем нам дело — борешься со всякой невнятной фигней, причем весьма эфективно! libvdpau-va-gl, ppapitrace, freshplayer.

есть к тебе вопрос такой. я задумал написать ppapi плагин для mpv, но разбор ppapi идет весьма туго. можно ли было бы найти тебя где-нибуть с войсом, для получасовой консультации?

val-amart
()
Ответ на: комментарий от val-amart

i-rinat, ты царь!

После выступления некоторых персонажей я даже не знаю, похвала это или порицание. :)

можно ли было бы найти тебя где-нибуть с войсом, для получасовой консультации?

В skype, например, ibragimovrinat. Но это лучше днём, у нас тут сейчас ночь, все спят.

я задумал написать ppapi плагин для mpv

А тут сразу невесёлые новости. PPAPI плагины нужно регистрировать в момент компиляции Chrome/Chromium.

i-rinat ☕☕☕☕
() автор топика

Спасибо, добр человек!

Спасибо тебе, теперь скайп снова юзабелен.

arbv
()

У меня вопрос.

Я собрал твою программу. Всё работает замечательно. Но охото её уложить в пакет.

В пакет надо уложить только эти файлы?

-- Installing: /usr/local/bin/apulse
-- Installing: /usr/local/lib/apulse/libpulse-simple.so.0
-- Installing: /usr/local/lib/apulse/libpulse-simple.so
-- Installing: /usr/local/lib/apulse/libpulsecommon-5.0.so
-- Installing: /usr/local/lib/apulse/libpulse.so.0
-- Installing: /usr/local/lib/apulse/libpulse.so

Или желательно положить её что нибудь? Так же интересует, какие зависимости у пакета прописать? Собирать пакет буду под debian 7 .

rezedent12
()
Ответ на: комментарий от rezedent12

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

Вот, кстати, пример: https://github.com/i-rinat/apulse/commit/efc2d19ee7a30de3bde29367715d3429ebf7...

i-rinat ☕☕☕☕
() автор топика
Ответ на: комментарий от wandering_biorobot

Не знаю, я конфигурацией ALSA никогда не занимался, устройство «default» у меня всегда работало.

i-rinat ☕☕☕☕
() автор топика
Ответ на: комментарий от wandering_biorobot

У меня тоже «не работал», пока я тупо в xfce4-mixer не клацнул во вкладке «Запись» флажок «ВКЛ.» и не выкрутил ползунки на удобный уровень. После чего сделал alsactl store.

yars068 👍👍👍
()
Ответ на: комментарий от Deleted

у меня не завелась

У любого софта есть границы применимости. А у наспех сделанных, как этот, они совсем недалеко. Видимо, реализованной части API для твоей конфигурации железа недостаточно.

i-rinat ☕☕☕☕
() автор топика

Добавил возможность выбора устройств через значения переменных среды APULSE_PLAYBACK_DEVICE и APULSE_CAPTURE_DEVICE. Названия доступных устройств можно посмотреть в выхлопе команд:

$ aplay -L
$ arecord -L

Если ничего не указано, используются устройства «default».

i-rinat ☕☕☕☕
() автор топика
Ответ на: комментарий от i-rinat

у меня E-MU_0404_USB: с ней-то и альса не очень дружит.

Deleted
()
Ответ на: комментарий от i-rinat
   Gmix USB Webcam, USB Audio
    Default Audio Device
sysdefault:CARD=Webcam
    Gmix USB Webcam, USB Audio
    Default Audio Device
front:CARD=Webcam,DEV=0
    Gmix USB Webcam, USB Audio
    Front speakers
surround40:CARD=Webcam,DEV=0
    Gmix USB Webcam, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Webcam,DEV=0
    Gmix USB Webcam, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Webcam,DEV=0
    Gmix USB Webcam, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Webcam,DEV=0
    Gmix USB Webcam, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Webcam,DEV=0
    Gmix USB Webcam, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Webcam,DEV=0
    Gmix USB Webcam, USB Audio
    IEC958 (S/PDIF) Digital Audio Output

Это мой вывод arecord -L. Где здесь название микрофона?

wandering_biorobot
()
Ответ на: комментарий от wandering_biorobot

Мне вот тоже интересно стало кстати... Вот мой выхлоп:

null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=NVidia
HDA NVidia, ALC662 rev1 Analog
Default Audio Device
front:CARD=NVidia,DEV=0
HDA NVidia, ALC662 rev1 Analog
Front speakers
surround40:CARD=NVidia,DEV=0
HDA NVidia, ALC662 rev1 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
HDA NVidia, ALC662 rev1 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
HDA NVidia, ALC662 rev1 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
HDA NVidia, ALC662 rev1 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
HDA NVidia, ALC662 rev1 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=NVidia,DEV=0
HDA NVidia, ALC662 rev1 Digital
IEC958 (S/PDIF) Digital Audio Output

Gonzo 👍👍
()
Ответ на: комментарий от wandering_biorobot

попробуй еще l маленькую, а не L большую.

у меня card 0, device 0 - playback
а card 0, device 1 - microphone capture

Может, как-то можно указывать их в формате hw:0 или hw:1 ? Не?

Gonzo 👍👍
()
Ответ на: комментарий от Gonzo

Может, как-то можно указывать их в формате hw:0 или hw:1? Не?

Эта строка передаётся в ALSA как есть, так что если ALSA поймёт, то можно.

i-rinat ☕☕☕☕
() автор топика

звук есть, а микрофон не пашет. Микрофон соединен верно - в скайп 4.2 работал

Когда через переменную принудительно прописываю

APULSE_CAPTURE_DEVICE=«hw:0,1»

во время тестового звонка в консольке 2 раза появляется

[apulse] [error] do_connect_pcm, snd_pcm_hw_params_set_rate, Недопустимый аргумент

и скайп частично вешается - нельзя прервать звонок и т.д.

anonymous
()
Ответ на: комментарий от anonymous

Конфигурировать ALSA я так и не научился — у меня всегда всё просто работало.

Ошибка с set_rate очевидно возникает из-за того, что hw устройство поддерживает определённый набор частот, а запрашиваемая частота в этот набор не входит. Частоты задаёт Skype, тут поменять не выйдет. Так что остаётся только настроить ресамплер. Для вывода звука есть dmix, может он и для ввода работает?

i-rinat ☕☕☕☕
() автор топика
Ответ на: комментарий от i-rinat

Хрень какая-то... С аудигой не работает, а подрубил микрофон к встроенной Intel ALC888, указал plughw:1 и микрофон заработал. Звук с одной карты, запись с другой :)

anonymous
()
Ответ на: комментарий от i-rinat

не видимо аудига моя не нравится. Оставлю так.

Спасибо за проект!

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

Гентушники ухитрились уже 05.10 (т.е. меньше чем через три недели от анонса) принять в основное дерево и привязать к ebuild-у skype.
Показатель, однако.

ABW
()
Ответ на: комментарий от ABW

Видел. Просто лично меня и пульс устраивает, плюс ещё «тренировался на кошках».

LongLiveUbuntu ☕☕
()
Ответ на: комментарий от ABW

Надо будет включить в debian. Надеюсь в будущем при установке нормальных дистрибутивов можно будет выбирать.

1) Поставить звуковую подсистему или пульсу.

2) Поставить нормальное DE или гном 3.

3) Поставить систему инициализации или systemd.

rezedent12
()

не подошло, PulseAudio: Unable to create stream: Oops.

это при запуске через apulse

запускаю прогу так:

apulse linphone

emostar
()
Ответ на: комментарий от emostar

не подошло

Скорее всего это из-за того, что с linphone я его не проверял, и эта программа использует не реализованные части API.

Вариантов решений два: либо не использовать apulse, либо допилить его так, чтобы linphone работал. Я доделывать его не буду, так как если этим заниматься планомерно, получится клон PulseAudio, со всеми его плюсами и минусами. Нужно где-то остановиться, и я остановился на работоспособности Skype.

i-rinat ☕☕☕☕
() автор топика
Ответ на: комментарий от i-rinat

я для себя решение нашел, пускаю линфон по встроенной звуковухе (из самого линфона), а основной звуковой поток на HDMI, в итоге звуки не перемешиваются и всё работает нормально

emostar
()
Ответ на: комментарий от i-rinat

На самом деле linphone, по крайней мере под linux, c pulseaudio не работает, хотя и утверждает обратное. Так что допиливать под него что-либо смысла нет. Тем более что напрямую с alsa он работает вполне прилично.

ABW
()
30 ноября 2014 г.
Ответ на: комментарий от i-rinat

PPAPI плагины нужно регистрировать в момент компиляции Chrome/Chromium.

val-amart, тут я ошибся: у Chrome и Chromium есть параметр командной строки --register-pepper-plugins, с помощью которого можно подключать свои PPAPI плагины. Пересобирать браузер не нужно.

i-rinat ☕☕☕☕
() автор топика
Ответ на: комментарий от i-rinat

спасибо! здорово что напомнил, я если честно забил на эту затею после твоего ответа. есть на работе плагинописатели, пойду их потормошу на предмет интро в тему.

val-amart
()
<djdunn-n7> Omg i almost choked eating a alka-seltzer tablet
<_anomaly_> evolution at work
<djdunn-n7> whats apulse? Pulseaudio emulation for alsa?
<xiaomiao> yes
<xiaomiao> pulseaudio without the pain
<djdunn-n7> Is it hard to use?
<_anomaly_> i'm glad someone else finally recognizes that there ispain with pulseaudio
<xiaomiao> djdunn-n7: well, it's like ... PA without the Aaargh
<_anomaly_> Pain Aaarghdio

Забавно. Делаешь казалось бы бесполезную примочку, просто как proof of concept, а в мире находятся люди, которым она реально помогает. Вот уж воистину «какую бы глупость ты не придумал, кто-нибудь это уже сделал».

i-rinat ☕☕☕☕
() автор топика

Athlon 3200+ в гостиной. Убунта 14.04 в качестве медиацентра (музыка, видео). Pulseaudio c «resample-method = src-sinc-best-quality» практически ставит колом всю систему. На видео ничего не остаётся...

Буду пробовать apulse. Собранной версии под Убунту 14.04 нигде нет?

Jurik_Phys 👍
()
Последнее исправление: Jurik_Phys (всего исправлений: 2)
Ответ на: комментарий от Jurik_Phys

Pulseaudio c «resample-method = src-sinc-best-quality» практически ставит колом всю систему.

Так если в ALSA тяжёлый алгоритм передискретизации включить, то же самое будет.

Собранной версии под Убунту 14.04 нигде нет?

Были вроде какие-то PPA. Сам я пакеты не собираю.

i-rinat ☕☕☕☕
() автор топика

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

Barbudos
()
Ответ на: комментарий от Jurik_Phys

Athlon 3200+ ... resample-method = src-sinc-best-quality» практически ставит колом

по крайней мере не удивительно, что ты нищеброд — умом-то не блещешь

anonymous
()
Ответ на: комментарий от Gonzo

не человека, а очередного около-pulse петросяна. я не думаю, что на самом деле можно быть таким тупым

anonymous
()
Ответ на: комментарий от anonymous

С толксами попутал! P.S. пульсу решил не трогать, а обновить железо т.к., слишком cтарое железо для медиацентра. Собрал систему на APU от AMD (A10 7850)

Jurik_Phys 👍
()
Последнее исправление: Jurik_Phys (всего исправлений: 1)
26 марта 2015 г.

Извиняюсь за некропостинг :)

Поставил в gentoo skype+apulse. Скайп полностью работает, но есть одно но.

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

~.asoundrc:

pcm.!default {
         type asym
         playback.pcm {
                 type plug
                 slave.pcm "hw:0,0"
         }
         capture.pcm {
                 type plug
                 slave.pcm "hw:0,0"
         } 
 }

Тут предлагают создать секцию pcm.dmixed и заполнить ее вякими хитрыми данными.

Поможет ли это в случае apulse? Если да, то как ее лучше заполнить в случае:

Card: HDA Intel MID
Chip: Realtek ALC271X

?

Заранее спасибо.

unfo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.