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 ★★★★
()
Ответ на: комментарий от anonymous

У меня Аваст ругается на вирусы !111

Gonzo ★★★★★
()
Ответ на: комментарий от 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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.