Используйте телефон в качестве микрофона в Linux

Я двойной Windows начальной загрузки и Ubuntu. Так как я не использую микрофона на своем рабочем столе, я начал использовать приложение, названное "Микрометр WO" для подключения микрофона моего телефона на базе Android с моим рабочим столом в Windows. Хорошая альтернатива, правильно?

Ну, к сожалению, Микрометр WO не поддерживается ни на какой основанной на Linux ОС, таким образом, я хотел бы знать, существуют ли какие-либо альтернативы или какое-либо приложение, которое могло бы использовать мой телефон в качестве микрофона на Ubuntu по WiFi или USB. (но предпочтительно Wi-Fi).

10
задан 30 July 2017 в 10:43

5 ответов

это программа? Вы попытались загрузить клиент/драйвер и следовать инструкциям для Ubuntu?

  1. модуль драйвера Загрузки

    $ sudo insmod wo_snd_capture-x86.ko
    
  2. Подключение от клиента

    • Conenct Wi-Fi. Можно найти IP-адрес на приложении Микрометра WO UI.

      $ micclient-ubuntu-x86 -t Wifi 192.168.1.100
      
    • Подключение Bluetooth.

      $ micclient-ubuntu-x86 -t Bluetooth xx:xx:xx:xx:xx:xx
      

      xx:xx:xx:xx:xx:xx представляет телефонный адрес Bluetooth. Можно запросить его по телефону: Настройки-> О телефоне-> Состояние-> адрес Bluetooth.

вышеупомянутые примеры для 32-разрядной Ubuntu. Если Вы используете 64-разрядный, заменяете клиент и имя файла драйвера к xxx-x86_64, как загружено.

5
ответ дан 23 November 2019 в 04:30

Мммм я попробовал то приложение прежде, но оно не работает на меня, таким образом, я рекомендую этот метод:

  • Первая установка IP камера по телефону, затем установите pulseaudio, когда Вам сделали это, открываете ipcamera и запускаете сервер на Вас телефон, удостоверьтесь, что Вы ПК соединены в той же сети.
  • Открывают Chrome или Firefox и вводят IP-адрес, который ipcamera предоставляет Вам (IP покажет в приложении).
  • В браузере нажимают на аудиоплеер и выбирают HTML5 и удостоверяются, что Вы слышите что-то.
  • Открытые pulseaudio и переходят в вкладка Playback , затем нажимают и показывают и выбирают Все Потоки . Вы будете видеть хром или приложение Firefox, играя микрофон.
  • На приложении разделяют выбор Lookback для Chrome или Firefox; это перенаправит аудио от Вас телефон к каналу микрофона, можно сделать то же, но использующий VLC и заниматься лучше проблемами как задержка.
4
ответ дан 23 November 2019 в 04:30

Я использую Бормотание (настольный клиент) + Ропот (как сервер LAN) + Plumble (клиент Android/iOS). Это приводит к самой низкой задержке, которой я когда-либо достигал (почти походит на нормальную обратную петлю, теоретически задержка WiFi на 7 мс + 2x задержка кодека на 10 мс = 27 мс).

https://github.com/pzmarzly/mic_over_mumble

Фрагменты README (газуют 59091372580f481320224532aeaaea84c9c07848),

Установите все 3 программы для использования высшего качества и минимальной задержки. Установите мобильный клиент на всегда потоковую передачу. Копия mic_over_mumble где угодно - это будет использовать ~/.mic_over_Mumble как каталог конфигурации. Выполненный mic_over_mumble, затем подключите свое мобильное устройство к серверу LAN. Затем настройте свои программы для использования монитора Бормотания как устройство ввода данных. Например, в OBS:

Screenshot of OBS configuration

Копия mic_over_mumble сценарий (газуют 59091372580f481320224532aeaaea84c9c07848),

#!/bin/bash
set -e
# PAID = PulseAudio ID
# ID = PID / process ID

function main () {
    if [ ! -e ~/.mic_over_Mumble ]; then
        mkdir ~/.mic_over_Mumble
    fi
    cd ~/.mic_over_Mumble

    rm murmur.ini | true
    echo "bonjour=true" >> murmur.ini
    echo "bandwidth=130000" >> murmur.ini

    if [ ! -e ./initdone ]; then
        echo "You will need to configure Mumble client to use the lowest possible latency."
        echo "We will start Mumble now. Please complete setup wizard and go to settings to increase quality and decrease latency."
        echo "Also, mute your microphone (if you have one) in Mumble."
        echo "Then close Mumble."
        run_mumble_client_wizard
        touch ./initdone
    fi

    echo "Starting Mumble server (murmurd)..."
    MUMBLE_SERVER_ID=`run_mumble_server_bg`
    sleep 5
    echo "Starting Mumble client..."
    MUMBLE_CLIENT_ID=`run_mumble_client_bg`
    sleep 5
    echo "Fetching PulseAudio configuration..."
    MUMBLE_CLIENT_PAID=`get_mumble_client_paid`

    echo "Changing PulseAudio configuration..."
    SINK_MODULE_PAID=`add_sink`
    sleep 3
    SINK_PAID=`get_sink_paid`

    pacmd move-sink-input $MUMBLE_CLIENT_PAID $SINK_PAID

    echo "Done. Please use pavucontrol to ensure everything works."
    echo "Press Return to shut down..."
    read -n1 -s
    echo "Shutting down..."

    echo "Stopping Mumble client..."
    kill -KILL $MUMBLE_CLIENT_ID | true
    sleep 2
    echo "Stopping Mumble server..."
    kill -KILL $MUMBLE_SERVER_ID | true
    echo "Restoring PulseAudio configuration..."
    pactl unload-module $SINK_MODULE_PAID
}

function run_mumble_client_wizard () {
    mumble >/dev/null 2&>1
}

function run_mumble_client_bg () {
    MUMBLE_URL="mumble://localhost"
    mumble $MUMBLE_URL >/dev/null 2&>1 &
    echo $!
}

function run_mumble_server_bg () {
    murmurd -ini ./murmur.ini &
    echo $!
}

function get_mumble_client_paid () {
    pacmd list-sink-inputs |
        egrep "index: |application.name = " |
        cut_every_second_newline |
        egrep Mumble |
        print_second_column
}

function add_sink () {
    pactl load-module \
        module-null-sink \
        sink_name="Loopback_of_Mumble" \
        sink_properties=device.description="Loopback_of_Mumble"
}

function get_sink_paid () {
    pacmd list-sinks |
        egrep "index: |name: " |
        cut_every_second_newline |
        egrep Loopback |
        print_second_column
}

# https://serverfault.com/a/375098/449626
function cut_every_second_newline () {
    awk 'ORS=NR%2?" ":"\n"'
}

function print_second_column () {
    awk '{print $2}'
}

main
3
ответ дан 23 November 2019 в 04:30

Если ваша версия Linux использует pavucontrol(pulseaudio), вам следует сделать:

$ pulseaudio -k
$ killall micclient-x86_64.AppImage
$ sudo modprobe -r snd-aloop
$ sudo vi /etc/pulse/default.pa

добавить в default.pa:

load-module module-alsa-source device=hw:CARD=Loopback,DEV=1,SUBDEV=0
$ sudo modprobe snd-aloop
$ pulseaudio --start
$ sudo cp micclient-x86_64.AppImage /usr/bin/MicClient
$ while true; do nohup MicClient -t Wifi 192.168.1.100 > /dev/null 2>&1; sleep 1; done &

192.168.1.100 — это IP-адрес моего телефона в локальной сети, вы должны изменить его на IP-адрес вашего телефона в локальной сети.

В pavucontrol (регулятор громкости) на вкладке «Устройства ввода» включите «Встроенный звук» (не «Встроенный аналоговый звук стерео») в качестве устройства ввода.

И перенаправьте аудио MicClient на виртуальное устройство вывода, сначала в «pavucontrol/Input Devices», чтобы отметить «Встроенный звук» на «Установить как запасной», а затем:

$ pactl load-module module-loopback latency_msec=1

Теперь с WoMic в Android и micclient-x86_64. AppImage в x64 linux, у вас есть набор домашнего караоке-оборудования с почти нулевой задержкой.

Если вы слышите много шума, вы можете попробовать переключить «Настройки микрофона WO/Источник звука» на своем телефоне Android, например: nexus 6p должен выбрать «Микрофон (режим 2)».

Чтобы отключить перенаправление звука MicCleint на устройство вывода:

$ pactl unload-module module-loopback

См.: https://gist.github.com/diyism/5959444e324a1b38509d956beb760e6a

2
ответ дан 4 June 2020 в 03:42

WO Mic для Linux

С официального сайта WO Mic:

  1. Установите WO Mic cient

    В настоящее время мы поддерживаем только 64-битную архитектуру x86. Загрузите micclient-x86_64.AppImage, затем измените его на исполняемый файл

    $ chmod +x micclient-x86_64.AppImage
    
  2. WO Mic Client Operations

    1. Загрузить модуль петли. Модуль должен формировать полнодуплексную звуковую карту обратной связи.

      $ sudo modprobe snd-aloop
      
    2. Подключиться с клиента.

      Выполните приведенные ниже команды для подключения. Клиент WO Mic должен записывать аудиоданные в петлевое устройство. Если вы столкнулись с ошибками, попробуйте запустить программу от имени пользователя root, чтобы ее планирование могло быть более агрессивным.

      • Подключение по Wi-Fi. Вы можете найти IP-адрес в пользовательском интерфейсе приложения WO Mic.

        $ ./micclient-x86_64.AppImage -t Wifi 192.168.1.100
        
      • Подключение по Bluetooth. xx:xx:xx:xx:xx:xx представляет адрес Bluetooth телефона. Вы можете запросить его на своем телефоне: Настройки -> О телефоне -> Статус -> Адрес Bluetooth.

        $ ./micclient-x86_64.AppImage -t Bluetooth xx:xx:xx:xx:xx:xx
        
    3. Теперь сторонние программы могут использовать захваченные данные через петлевое устройство. Один пример:

      $ arecord -c 1 -r 48000 -f S16_LE -D "hw:CARD=Loopback,DEV=1,SUBDEV=0" foo.wav
      
1
ответ дан 4 June 2020 в 08:57

Другие вопросы по тегам:

Похожие вопросы: