Utiliser le téléphone comme microphone sous Linux

12

Je double démarrage Windows et Ubuntu. Comme je n'utilise aucun microphone sur mon bureau, j'ai commencé à utiliser une application nommée "WO Mic" pour connecter le microphone de mon téléphone Android à mon bureau sous Windows. Une bonne alternative, non?

Eh bien, malheureusement, WO Mic n'est pris en charge sur aucun système d'exploitation basé sur Linux, donc je voudrais savoir s'il existe des alternatives ou une application qui pourraient utiliser mon téléphone comme microphone sur Ubuntu via WiFi ou USB. (mais de préférence wifi).

someanon
la source

Réponses:

5

Est- ce le programme? Avez-vous essayé de télécharger le client / pilote et de suivre les instructions pour Ubuntu?

  1. Charger le module pilote

    $ sudo insmod wo_snd_capture-x86.ko
    
  2. Se connecter depuis le client

    • Conenct par Wifi. Vous pouvez trouver l'adresse IP sur l'interface utilisateur de l'application WO Mic.

      $ micclient-ubuntu-x86 -t Wifi 192.168.1.100
      
    • Connectez-vous par Bluetooth.

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

      xx: xx: xx: xx: xx: xx représente l'adresse Bluetooth du téléphone. Vous pouvez l'interroger sur votre téléphone: Paramètres -> À propos du téléphone -> État -> Adresse Bluetooth.

Les exemples ci-dessus concernent Ubuntu 32 bits. Si vous utilisez 64 bits, remplacez le nom du fichier client et pilote par xxx-x86_64 comme téléchargé.

LiveWireBT
la source
2
J'ai eu Please first load ALSA snd-aloop., donc je devais le faire: sudo modprobe snd-alooppuis j'ai dû exécuter le en micclient-ubuntu-x86tant que root (en utilisant sudo). Et puis ça a marché, ouais.
Amichai Schreiber
1
Cela ne fonctionne pas. Seul le silence est enregistré à partir du périphérique de bouclage ...
Calmarius
Comment se connecter via USB?
abhisekp
1
Je reçois un vidage de mémoire de segmentation chaque fois que je l'exécute. Je suis sous Linux Mint 18.3 x64
abhisekp
4

J'utilise Mumble (client de bureau) + Murmur (comme serveur LAN) + Plumble (client Android / iOS). Il en résulte la latence la plus faible que j'ai jamais atteinte (sonne presque comme un bouclage normal, théoriquement 7 ms de retard WiFi + 2x 10 ms de codec = 27 ms).

Pour la dernière version, voir https://github.com/pzmarzly/mic_over_mumble

Fragments de README (rev 8c827fe)

Installez Mumble (client de bureau) + Murmur (serveur) + Plumble (client Android / iOS). Réglez les 3 programmes pour utiliser la meilleure qualité et une latence minimale. Configurez le client mobile pour toujours diffuser.

Pour installer Mumble + Murmur sur Ubuntu, vous pouvez utiliser:

sudo apt install mumble mumble-server
sudo systemctl stop mumble-server.service
sudo systemctl disable mumble-server.service

Copiez mic_over_mumblen'importe où - il utilisera ~/.mic_over_Mumblecomme répertoire de configuration.

Courez mic_over_mumble. Il démarrera le serveur sur LAN, puis démarrera Mumble (si un pseudo vous est demandé, entrez autre chose que SuperUser). Connectez ensuite votre appareil mobile au serveur LAN manuellement. Veuillez noter que l'application mobile Mumble a quelques problèmes .

Ensuite, configurez vos programmes pour utiliser "Monitor_of_Mumble" ou "VirtualMic" comme périphérique d'entrée (ils sont liés). Par exemple dans OBS:

Capture d'écran de la configuration OBS

Copie du mic_over_mumblescript (rev 8c827fe)

#!/bin/bash
set -euo pipefail
# 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)..."
    run_mumble_server_bg
    sleep 5
    echo "Starting Mumble client..."
    MUMBLE_CLIENT_ID=$(run_mumble_client_bg)
    sleep 15
    echo "Fetching PulseAudio configuration..."
    MUMBLE_CLIENT_PAID=$(get_mumble_client_paid)

    echo "Changing PulseAudio configuration..."
    echo "Adding sink..."
    SINK_MODULE_PAID=$(add_sink)
    sleep 3

    echo "Fetching current configuration to redirect Mumble..."
    SINK_PAID=$(get_sink_paid)
    pacmd move-sink-input "$MUMBLE_CLIENT_PAID" "$SINK_PAID"

    echo "Adding a virtual microphone..."
    SOURCE_MODULE_PAID=$(add_source)

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

    echo "Stopping Mumble client..."
    kill -KILL "$MUMBLE_CLIENT_ID" || true
    sleep 2
    echo "Stopping Mumble server..."
    # TODO: find a better way to kill murmurd
    # (it forks, so we cannot use its PID)
    pkill murmurd || true
    echo "Restoring PulseAudio configuration..."
    pactl unload-module "$SOURCE_MODULE_PAID"
    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 $!
    # TODO: here we can get murmur's PID
    # (uncomment the line above)
}

function get_mumble_client_paid () {
    pacmd list-sink-inputs |
        grep -F -e "index: " -e "media.name = " |
        cut_every_second_newline |
        grep -F -e "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 add_source () {
    pactl load-module \
        module-virtual-source \
        source_name=VirtualMic \
        master=Loopback_of_Mumble.monitor \
        source_properties=device.description=VirtualMic
}

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

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

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

main
pzmarzly
la source
3

Mmmm, j'ai essayé cette application avant mais elle ne fonctionne pas pour moi, donc je recommande cette méthode:

  • Installez d'abord la caméra ip sur le téléphone, puis installez pulseaudio , lorsque vous avez terminé, ouvrez ipcamera et démarrez le serveur sur votre téléphone, assurez-vous que votre ordinateur est connecté au même réseau.
  • Ouvrez Chrome ou Firefox et saisissez l'adresse IP que ipcamera vous fournit (l'ip s'affichera dans l'application).
  • Dans le navigateur, cliquez sur le lecteur audio et choisissez HTML5, et assurez-vous que vous entendez quelque chose.
  • Ouvrez pulseaudio et accédez à l' onglet Lecture , puis cliquez et affichez et sélectionnez Tous les flux . Vous verrez l'application Chrome ou Firefox jouer sur le microphone.
  • Dans la section des applications, sélectionnez Lookback pour Chrome ou Firefox; qui redirigera l'audio de votre téléphone vers le canal du microphone, vous pouvez faire de même, mais en utilisant VLC et mieux gérer les problèmes tels que le décalage.
Maxtermax
la source
Quoi qu'il en soit pour résoudre le problème de décalage?
swdev
2
Mmmm je ne suis pas sûr mais je pense que ce post peut vous aider si vous utilisez vlc Comment réparer le saut et le retard dans VLC @swdev
Maxtermax