Giter VIP home page Giter VIP logo

mic_over_mumble's Introduction

Voice over Mumble

Use Android/iOS device as your PC's microphone, using Mumble + Plumble. Or use microphone of one PC on other PC.

Linux-only script, but steps can be replicated on other systems (e.g. using VoiceMeeter).

This is the lowest latency I've ever achieved (sounds almost like local loopback, theoretically 7ms WiFi delay + 2x 10ms codec delay = 27 ms).

Alternatives: WO Mic, pulseaudio-virtualmic.

Installation

Install Mumble (desktop client) + Murmur (server) + Plumble (Android/iOS client). Set all 3 programs to use best quality and minimal latency. Set mobile client to always streaming.

To install Mumble + Murmur on Ubuntu, you can use:

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

For autodiscovery, make sure Avahi is running (it should be on Debian-based systems, but not necessarily on others):

sudo apt install avahi-daemon
sudo systemctl start avahi-daemon.service

If you want to have your IP address printed on startup, install jq and ip.

sudo apt install iproute2 jq

Copy mic_over_mumble anywhere - it will use ~/.mic_over_Mumble as configuration directory. Don't forget to make it executable (chmod +x mic_over_mumble).

Run mic_over_mumble. It will start the server on LAN, then start Mumble (if asked for nickname, enter anything other than SuperUser). Then connect your mobile device to the LAN server manually. Please note that Mumble mobile app has some issues.

Then, set up your programs to use either "Monitor_of_Mumble" or "VirtualMic" as input device (they are linked). E.g. in OBS:

Screenshot of OBS configuration

If for some reason the script messes up your audio config, you can use pulseaudio -k to reload PA.

mic_over_mumble's People

Contributors

pzmarzly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mic_over_mumble's Issues

Add alsa support

Hello
I removed pulseaudio, are you want to add support for alsa?

Disable sound on pc.

I am sorry if this is a stupid question, but I cannot find how to disable audio on pc.
I am using phone as mic (Mumbla client) but I just want to transfer my audio to the game, not to myself (hear myself from pc)>
Thank you!
Edit: i am using pipewire
Edit 2: Also forgot to mention, I tried muting my phone through desktop client, but then the audio doesn't passes to recording software. I am on arch linux.

pipewire script?

im using pipewire-pulse and the script doesnt works, i was trying converting the script to pactl commands but idk much about scripting, ill be grateful if you can do something to be compatible with pipewire-pulse cuz pacmd command doesnt exists here :/ thankss
mic_over_mumble_pipewire
,

Connection failure: Connection terminated When running Mic_Over_Mumble Script

Hello,
I moved the mic_over_mumble script into my home directory and tried to run it. It starts up the server immediately and lets me log in with my username however it then gets to Adding a virtual microphone in the terminal and the entire script stops and it says Connection failure Connection terminated. Any Ideas? I am on Ubuntu 18.04
Thank you

Starting Mumble server (murmurd)...
12553
Starting Mumble client...
Fetching PulseAudio configuration...
Changing PulseAudio configuration...
Adding sink...
Fetching current configuration to redirect Mumble...
No sink input found with this index.
Adding a virtual microphone...
Connection failure: Connection terminated

Using uMurmur as server

I run Arch and murmur-server is only available through the AUR. I have already made the modifications necessary to use umurmur on my fork, the only annoyance are the certificate issues. Would it be possible to implement umurmur capability here?

monitor not available as input device

I'm using fedora 31, and I can see in pavucontrol the monitor, and It sounds correctly, but when I try to use it in any application it's not listed as an available device. Am I missing something?

Mic stops working when another program accesses it

This effectively renders it useless.

I am able to get the mic, but when another program, say Firefox, access the microphone, it stops working and no audio is detected.


At first, pavucontrol shows this:

image

image


Now if I use Firefox:

image

image

image

Newly opened programs play sound on Loopback_of_Mumble, not default output

screen

The title sums it up pretty much. Only the sound from Mumble should go into the virtual microphone.

Although you can select the right output for each program in pavucontrol, it's tedious work, you can always miss something and whenever an already opened program starts playing something different, it might do so through the wrong output. A good example of this is when you rewind a video on YouTube.

P.S. Thanks a lot for your script! It's the only working approach that I've found so far (tried WoMic, audiojack connection)

Echo cancellation module not working

After running mic_over_mumble and confirming everything works, I tried adding a echo-cancel module from PulseAudio but it doesn't seem to be working as the VirtualMic is still picking up audio from my speakers.

The code I used for loading the module in was:
pactl load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="analog_gain_control=0\ digital_gain_control=1\ noise_suppression=1" source_name=echoCancel_source sink_name=echoCancel_sink

Why disable mumble-server.service?

Hi,

I was wondering why we disable mumble-server.service when we install mumble and murmur when following the instruction in the README.

Thank you and good day

First run crash due to the certificate

screen

You will need to configure Mumble client to use the lowest possible latency.
We will start Mumble now. Please complete setup wizard and go to settings to increase quality and decrease latency.
Also, mute your microphone (if you have one) in Mumble.
Then exit Mumble.
Starting Mumble server (murmurd)...
Starting Mumble client (a window should appear in a moment)...
Changing PulseAudio configuration...
Adding sink...
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

Apparently, it didn't start working until I agreed with the certificate

can't find server on mobile app

I'm using arch linux, everything works good, the virtual mic is there, but I can't see the server on my mobile app, however if I use the script on my laptop which linux mint installed, I can see the server and connect to it. I don't understand why I can't connect to the server with arch. any ideas?

script stops on adding sink

when I start the script it stops on adding sink. I have a record device but I can't use it. Sound not even working cause when I talk on my phone mumble on my pc not even showing that am speaking

Error Adding a virtual microphone...

I got the following output

โžœ  ~ bash mic_over_mumble
Starting Mumble server (murmurd)...
Starting Mumble client (a window should appear in a moment)...
Changing PulseAudio configuration...
Adding sink...
Adding a virtual microphone...
Connection failure: Connection terminated

Source games send audio to virtual mic

applies to portal 2 , TF2, portal stories:mel , but not csgo . only thought as to the cause is that the source engine is picking up the virtual mic's audio sink as a default output but ive got no clue .

VirtualMic not receiving any signal?

Hi there,

I'm running Arch with Plasma KDE and I can't seem to get the VirtualMic to receive any signal.

Murmur starts, Mumble (desktop client) connects, and my phone (Android running Plumble - tested both the gray and the light blue version on the Play Store) connects without issues.

When playing around with the Plasma KDE settings, and also pavucontrol, I've found that my computer can output the mic stream from my phone to the laptop speakers. I guess this means that the computer itself is receiving the signals correctly at least.

However, when I go to record in audacity as a test, I cannot get any recording down. When I inspect the inputs tab in pavucontrol, the little "sound amplitude" bar that usually jumps up and down in response to signals is always at a flat line. My laptop in-built microphone, on the other hand, does respond.

Does anyone have any tips or pointers to help? :)

image

script stops at `Adding sink...`

I've been using this script for a few months now, but I was recently forced to use a new pc as I needed to retire my old one. Setting up the mic for this, I couldn't for the life of me, get it to work on this particular set up. It just stops when it got to Adding sink after prompting the username.

Details:

Mumble (1.3.0~git20190125.440b173+dfsg-2)
OS: Debian GNU/Linux 10 (buster) x86_64 
pulseaudio 12.2

link to log file after I uncommented set -x

Fix error printing

I put 2>&1 in the wrong order (should be 1>&2)... Now the errors are swallowed (put into variable instead of being printed to the user).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.