The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен PulseJoin 2.2 для объединения записи с микрофона со звуком, выводимым на динамики

06.04.2019 10:53

Представлен PulseJoin 2.2 - графический интерфейс с реализацией виртуального микрофона PulseAudio, который позволяет объединить в один поток звук, который записывается с микрофона и подаётся на аудиовыход, в программах, не умеющих захватывать звук с нескольких источников одновременно. Для установки подготовлены пакеты RPM и DEB, а также PPA-репозиторий для Ubuntu и Debian. PulseJoin уже доступен в официальных репозиториях ROSA Fresh и ALT Linux.

PulseJoin представляет из себя bash-скрипт, в котором для формирования графического интерфейса пользователя применяется YAD (Yet Another Dialog, форк Zenity). Для локализации интерфейса на разные языки применяется gettext. Исходные тексты проекта распространяются под лицензией GPLv3. Работа скрипта проверена в GNU/Linux и FreeBSD, однако платформоспецифичными могут быть только синтаксис sed, mktemp и, возможно, некоторых других стандартных утилит.

Скрипт выполняет следующие действия:

  • Создание виртуального устройства PulseAudio;
  • При необходимости запуск нужной программы с установленной переменной окружения PULSE_SOURCE, указывающей на созданный виртуальный микрофон (также можно вручную переключить любой поток захвата PulseAudio на этот виртуальный микрофон, например, через pavucontrol(-qt));
  • Удаление внесенных изменений, в т.ч. графические кнопки для создания и удаления виртуального микрофона.


  1. Главная ссылка к новости (https://gitlab.com/mikhailnov/...)
  2. OpenNews: Выпуск pulseaudio-qt 1.0.0
  3. OpenNews: Выпуск Pavucontrol 4.0
  4. OpenNews: Выпуск звукового сервера PulseAudio 12.0
  5. OpenNews: Представлен мультимедийный сервер PipeWire, идущий на смену PulseAudio
Автор новости: mikhailnov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50471-pulseaudio
Ключевые слова: pulseaudio, sound, audio
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (37) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:03, 06/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >для записи с динамиков

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

     
     
  • 2.2, None (??), 13:08, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как они умудряются это делать? Глубоко сомневаюсь, что на выходах динамиков стоят АЦП, а ЦАП в обратную сторону проворачивать фарш не могут.
     
     
  • 3.3, mikhailnov (ok), 13:12, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Программно, стандартная фича PulseAudio — для каждого устройства вывода звука есть "микрофон" "Monitor of <имя устройства вывода>"
     
  • 3.4, Аноним (4), 13:34, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    у реалтеков вроде как одной из фич была возможность переключения каналов https://www.opennet.ru/opennews/art.shtml?num=48249
     

  • 1.5, Аноним (5), 14:02, 06/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    О да, "Monitor of <имя устройства вывода>" запомнился мне очень хорошо. В фурифоксе при записи с этого виртуального канала весь звук в системе начинает заикаться, а в том же фурифоксе с соседних вкладок звук вообще идет с секундными замираниями. Пыш пыш аудио, что здесь еще можно сказать, ничем от вяленого по качеству не отличается.
     
     
  • 2.6, Аноним (5), 14:05, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И вот знаете, чтобы отправить отрывок звука с видео ютуба допустим голосовым сообщением приходится по старинке, делать хардовый луп соединяя проводом вход и выход звуковухи, или скачивать видео и обрезать (что даже затратнее обходится)
     
     
  • 3.12, анонн (?), 16:03, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > И вот знаете, чтобы отправить отрывок звука с видео ютуба допустим голосовым
    > сообщением приходится по старинке, делать хардовый луп соединяя проводом вход и
    > выход звуковухи, или скачивать видео и обрезать (что даже затратнее обходится)

    Это по виндузячьи.
    По старинке - это вот так.



    # virtual_oss \                
                       -S -C 2 -c 2 -r 44100 -b 16 -s 1024 \
                       -f /dev/dsp1 -w dsp.rec.wav -l dsp.rec -d dsp
    % dd if=/dev/dsp.rec.wav bs=1m | oggenc - -o my.ogg



    http://i66.tinypic.com/5khmb5.jpg
    см.



    Create a device named dsp.virtual which mix the samples written by all
         clients and outputs the result for further processing into
         dsp.virtual_out:

               virtual_oss \
                       -S -Q 0 -b 16 -c 2 -r 96000 -s 100ms -i 20 \
                       -f /dev/null -d dsp.virtual -L dsp.virtual_out


     
  • 2.7, Аноним (5), 14:12, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чем не устроил jack2 я честно вообще не понимаю до сир пор, идеально работает, реалтайм, возможность записи звука с каждого подключенного приложения другим приложением, минимум прослоек и прозрачная работа. Зачем было разрабатывать пыш аудио вообще не понятно.
     
     
  • 3.9, Дон Ягон (?), 14:40, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вы забываете, кто автор пшыаудио. На вашем месте, я бы радовался, что его функциональность до сих пор не в PID1.
     
     
  • 4.10, Аноним (10), 15:27, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так у альсы драйвера вообще в ring 0
     
     
  • 5.14, Аноним84701 (ok), 16:14, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Так у альсы драйвера вообще в ring 0

    А пульса научилась читать данные для микширования через libastral?
    Или просто фанаты все так же не в курсе, как работает предмет их обожания и поклонения  🙄 ?



    ; Default profile definitions for the ALSA backend of PulseAudio. This
    ; is used as fallback for all cards that have no special mapping
    ; assigned (and should be good enough for the vast majority of


     
  • 5.15, Дон Ягон (?), 16:30, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так у альсы драйвера вообще в ring 0

    Ну и что? А где должны быть?

     

  • 1.8, Аноним (8), 14:28, 06/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Имелось в виду - чтобы объединить в один поток то, что слышно с микрофона и что подаётся на аудиовыход. А написано так, будто динамики служат микрофоном.
     
     
  • 2.33, GameUpgrade (?), 18:36, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Динамики и без всяких PulseJoin могут служить микрофоном, стоит их лишь воткнуть в микрофонный вход.
     

  • 1.11, VINRARUS (ok), 15:43, 06/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >однако платформоспецифичными могут быть только синтаксис sed, mktemp и, возможно, некоторых других стандартных утилит.

    Если дистрибутивосоздаватели какают на POSIX — нужно использовать busybox.

     
  • 1.13, Аноним (13), 16:07, 06/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я когда-то добился того же самого, когда что-то тыкал в PavUControl. Но повторно мне это не удалось сделать. Так что прога нужная
     
  • 1.16, Аноним3 (?), 16:41, 06/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    прога нужная вообще то. когда писал гитару приходилось делать сначала готовый семпл с инструментами и уж потом писать второй линией гитару. а так можно проще разобраться. хотя тоже не сказать , что сильно облегчит. как было собирать трек наборами так и осталось. единственное эффект 2 микрофонов можно создать.
     
     
  • 2.17, mikhailnov (ok), 17:28, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для гитары лучше и проще jack2 использовать
     
     
  • 3.18, Аноним3 (?), 18:12, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    это если в линию писать. а если играешь в лампу и снимаешь микрофоном? эта софтинка может позволить сделать двойное наложение гитары в линию и с микрофона. чес слово пробовал играть в линию с jack и всякими дисторшенами программными... задержка все же чувствуется. а так пишешь с чистого аналога лучше. все таки не имеет значения пишешь через пульсу или jack.
     
     
  • 4.32, Аноним (-), 18:17, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    про jack любят рассуждать те, кто им никогда не пользовался
     
  • 2.35, Аноним (35), 18:23, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальные люди для это DAW используют, Reaper например. Пшш-аудио - это вообще не про сведение и не про реалтаймовый звук
     

  • 1.19, Ilya Indigo (ok), 19:08, 06/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А можно как-то ALSA с dmix настроить так, чтобы, на default смешивалось (или, хотя бы, подставлялось) устройство захвата hw:0.0, как это делается с устройством воспроизведения?
    Перерыл много чего из гугла, но решения толком не нащёл, кроме упоминания того, что dmix работает только с устройствами воспроизведения. :-(
     
     
  • 2.20, Аноним3 (?), 20:00, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    альса по умолчанию  имеет возможность работать только в приоритетном режиме. то есть полный захват. насчет dmix... тут не скажу, но если в описании дано , что работает только с устройствами воспроизведения, значит надо искать другой аналог.
     
     
  • 3.21, Ilya Indigo (ok), 20:06, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А можно как-нибудь alias задать, чтобы приложение (firefox,chromium,telegram-desktop) ожидающие увидеть устройство захвата default, увидело этот alias и использовало hw:0.0, пусть даже в монопольном режиме, по имени default?
     
     
  • 4.22, Аноним3 (?), 22:59, 06/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    в системе пульсы нет? если нет надо искать старую тропу. раньше все через неё настраивалось. технически есть же alsamixer в консоли. попробовать выставить через него. но тут не уверен. не проверял. то что можно выключить каналы и выбрать главный там есть. но чес слово с момента появления пульсы как то и не интересовался. вообще через конфиг альсы наверно можно настроить. фокс же все равно должен видеть доступные устройства. технически можно написать два конфига к альсе . один пометить как .old и когда необходимо менять окончания к конфигам и перезапускать альсу. но если вам на постоянку. можно старый конфиг переименовать слегка, а новый положить  и все должно сработать. куда проще чем писать свою прослойку для этого.
     
  • 4.26, Аноним (26), 08:46, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не очень понял ваш вопрос (особенно конец), посему:
    pcm.!default {
        type asym
            playback.pcm "linearize"
            capture.pcm "hw:0,0" # так как hw:0,0 это устройство воспроизведения, то capture так работать не будет (насколько я понимаю)
        hint.show on
        hint.description "Default with dmix"
        }

    + убираем fallback (некоторые приложения сразу же используют sysdefault, вместо default)
    pcm.!sysdefault default

    Вот в mpv можно (для устройств воспроизведения):
    audio-device="alsa/default"
    Вот в wine можно:
    WINEPREFIX="..." wine reg.exe ADD "HKEY_CURRENT_USER\Software\Wine\Drivers\winealsa.drv" /v "ALSAOutputDevices" /t "REG_MULTI_SZ" /d "for_wine" /f
    и в winecfg выбрать for_wine

    А как в этих ваших приложениях, и можно ли там это вообще, я не знаю (это про alias'ы).

     
     
  • 5.27, Ilya Indigo (ok), 12:49, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В последнее время появляются приложения firefox, chromium, skype, telegram , в ... большой текст свёрнут, показать
     
     
  • 6.28, Аноним (26), 13:13, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > "linearize"

    это то, что у меня в конфиге сделано (просто скопипастил из своего, не изменяя)

    > или просто написать без фигурных скобок pcm.!sysdefault default ?

    Да, это и есть alias

    > А что означает ! перед default и sysdefault?

    Это означает очистить предыдущие конфигурации с этими именами и использовать новые (которые и будут далее указаны)

    > Без него audecity вообще никаких устройств не видеит

    А без него, насколько я помню, если раньше такой конфигурации (не знаю как правильно называется, поэтому использую такое слово) не было, то создать, а если была - не перезаписывать, а использовать старую.

     
     
  • 7.29, Ilya Indigo (ok), 13:35, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю! :-)

     
  • 6.30, Аноним (26), 13:41, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В последнее время появляются приложения (firefox, chromium, skype, telegram), в которых нет возможности настроить устройства воспроизведения и захвата

    м-м-м... да, тут на ум приходит только менять .asoundrc (или default в нём) перед запуском приложения на нужный, а потом вертать обратно.

    > snd_pcm_hw_params_set_channels

    гм, помню, у меня в wine'е тоже были проблемы с несоответствием количества каналов ("Проверить звук" в winecfg). Пришлось делать type route чтобы у меня всегда было 2 канала.
    Но здесь captureAlsa_open, с этим я дел не имел. Предположу, что оно так же, как и с воспроизведением. Хотя зачем там больше 1 канала (или в чём именно ошибка)? Странно в общем что-то.

    у меня:
    pcm.channel_change {
        type route
        slave {
    pcm "rate_change" # как всегда, вместо этого должно быть то, что у вас там дальше
            channels 2
            }
        ttable {
            0.FL 1.0
            1.FR 1.0
            ...
            }
        hint.show off
        hint.description "to stereo -> rate converter"
        }
        
    Теоретически, type plug (https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html) - сам делает необходимые преобразования, попробуйте перед "hw:0,0" использовать plug, что ли.

     
  • 6.31, Ilya Indigo (ok), 16:08, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Огромная Вам благодарность! :-)
    Вот он, конфиг моей мечты, который я искал несколько лет!
    Теперь с ним микрофон в телеграм, наконец-то заработал. :-)

    pcm.!default {
    type asym
    playback.pcm "plug:dmix"
    capture.pcm "plughw:0,0"
    hint.description "Default with dmix"
    hint.show on
    }
    pcm.!sysdefault default

     
  • 3.24, Zenitur (ok), 06:47, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > альса по умолчанию  имеет возможность работать только в приоритетном режиме. то есть полный захват

    Имеет возможность, но как правило не пользуется этой возможностью.

     
     
  • 4.36, Аноним (35), 18:24, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    От программы зависит, например рипер в монопольный доступ забирает карту
     

  • 1.23, Аноним (23), 06:27, 07/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    make install завезли, make uninstall не завезли. Отлично, я считаю. Напоминает времена винды 98 - тогда тоже половина разрабов не подозревала, что их софт кто-то захочет удалить
     
     
  • 2.25, Zenitur (ok), 06:51, 07/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А мне вспоминается убунтофорум 2008 года. В том году впервые стало широко известно про PPA (а может, PPA именно тогда и появился). И на убунтофоруме стало популярно требовать от новоприбывших пользователей устанавливать всё только из пакетов! И никак иначе!

    Одним из аргументов было то, что если не устанавливать не из пакета, то и удалить потом нельзя. Про make uninstall никто там не слышал, в том числе и я. Даже у проприетарных драйверов, устанавливаемых из run-файла, есть uninstaller - а мы городили команду для apt-get, возвращавшую Месу...

    Массовое просвящение о том, что такая команда есть, случилось в 2013 году после скандала с Bumblebee. Когда make uninstall там удалял /usr

     
     
  • 3.37, Аноним (35), 18:26, 12/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Про make uninstall никто там не слышал, в том числе и я

    Похоже о нем не слышали и разработчики новомодных систем сборки, которые так и не в состояние толком воспроизвести основные возможности autotools

     

  • 1.34, x3who (?), 00:43, 08/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Когда make uninstall там удалял /usr

    Там при инсталляции это вроде тоже происходило:
    https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/122

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру