-
Notifications
You must be signed in to change notification settings - Fork 97
Virtual Microphone Device? #34
Comments
The only built-in method (besides local streaming) seems to be the monitors: If "OBS the app" vs. "OBS the sink" is confusing then better name the sink differently, such as "OBSmic" or such :-) This works nicely (filters apply and such) with one known caveat: scene transitions do not fade the audio on the monitor, only on record+stream output. All other niceties seem to work, even ducking. |
I continue this issue, because I also was hours looking for a similar issue yesterday and I arrived to a simiilar solution. I needed to send OBS audio to Zoom. The problem was that Zoom doesn't read a "sink"... it reads a "source". So, I had to create one and "connect" it to default audio output monitor. After hours trying different things (without the neccessary knowledge) and waiting in #pulseaudio IRC channel for hours (almost noone answer ¯\(ツ)/¯), this is what I needed:
It creates a source module by remapping the "analog stereo monitor". Also, you can change it from Now, I'm creating a script to set all the volumes and the playback/record streams to their correspondent input/output. I'll paste here when I finish it. |
oh wow, I think this and activate "output+monitor" for the MIC in obs, works... I'll try again tomorrow but it just works.. You wrote "pactl" but it needs to be "pacmd" I think. |
Yes, that's right: you have to activate monitor... and it does work. I wrote pactl because... I use pactl. Now, I don't know why there are two. The only difference I found is that with "pacmd" you can enter in live shell... that you can't do it with pactl. But they do the same. I don't use OBS for audio any more, it was not stable. For this reason and because my computer is slow, I wrote a python script to control audio. I use SoX, Play (from SoX), pactl (creating virtual modules, moving sinks, changing volumes, etc, etc). And OBS, Python script, PureData and MobMuPlat in the tablet, all connected with OSC messages. I was the last days learning a lot of PulseAudio, if you need something, you can ask me in spanish by inbox. You are from Hurlingham... I'm from Castelar :D. |
@MarioMey Thank you so much for your reply!
Would you mind sharing this Python script, and licensing it under Creative Commons Universal 1.0, or some other permissive license? @MarioMey
I feel like I should share this with you, @MarioMey. I found that you can actually create a dummy microphone using this command: |
Yes, I will do it. Before, there are some things I have to do with it to avoid error messages... and also I'm working in a almost whole sound restarting.
But is it possible to send some audio streams to this dummy and control each volumes? How? And how this would be better than the one I am using (module-remap-sink)? |
This is awesome stuff!! I have been looking for a way, on Ubuntu 18.04, to send audio/video through the Zoom audio/video stream, in a similar way that you can do with NDI on Windows (VLC/NDI Plugin). This is awesome and works. I'm still examining if the audio and video are in sync, as it's not as clean as NDI where the audio/video are sent over the same stream. In this case here, as you know, video is coming from the OBS V4L Video Output from this git repo, and the audio is coming from the monitoring of the system sound. But, to my eye, it appears to be in sync! Thanks so much for this discussion. Awesome! Whew! |
I will share my scripts with you, maybe it's usefull. I hope you understand everything, because I don't have time to explain them: init.sh:
osc_server.py
Also, I was using this plugin that sends OSC messages from OBS to PureData (no audio). So, PureData receives simple messages about the actual scene, it also receives OSC mesages from the tablet, and send OSC messages to osc_server.py (file above). If you need, I can share the PureData patch file... tell me. |
Thank you for posting that script. There is a lot of good stuff in there. I'm studying it now to understand more about all the options - great!. Just to be clear, if all that one wants to do, is to send OBS audio to Zoom, then all it takes is the following:
My one concern, although it seems to be working exactly right, is "Is there a delay in the audio/video sync because you are 'monitoring' an audio source?" My impression is "no" because it is in real time, but I am not sure. I am using this sort of video, after downoading, along with kdenlive, after zoom recording, to look at the frames to see if the audio/video on the zoom platform is in sync. |
Good, I'm glad you agree that theoretically it will be in sync. I've been reading this link, to understand what remap-source means. And from this link, especially this
Thanks for the screenshot of the adjusting the video sync in OBS. I had found the audio sync adjustment, but didn't know the video one existed |
The "Modules" link was open in Firefox all the time in last two weeks. And the other (Pulse under the Hood) I didn't read it completly (obviously), but I bookmarked with the name of "everything about PulseAudio". But I repeat, I learnt a lot of PulseAudio... but now I'm a bit dissapointed with it. It is possible to do a lot of things... but finally it consumed a lot of CPU. Creating Jack modules and working inside PureData... audio is limitless. Music, voice, filters, FXs, conections, pipes, delays... everything. I'm very familiar with PureData, so it's pleasurable to work with it. Again, my advice: use Jack. You don't need to use PureData, maybe you can use Patchage or some other soft to conect modules and add filters with, for example, "Calf Pack Plugin for Jack", VLC with Jack plugin, etc. Also, connect OBS to Jack. Good luck. PS: take a look to my MEH-SYSTEM, my very big project built with PureData. It's in spanish, sorry. |
Thank you all for your input! Yes, these all do take the input from the desktop applications, and put them into whatever sink/virtual microphone, but the problem I keep having is that I cannot combine BOTH desktop application sound AND physical microphone sound. How do you combine the two? Thanks a lot!!! |
@johnedstone Thank you for the reply! However, I do not see how I can get to the screen you are referring to. I am using Ubuntu Linux LTS 18.04 and Ubuntu Linux 16.04 on another computer. Are we using the same operating system? How do I get to the screen you are referring to? |
Note that I am not using the null sink module. If you'd like to set up a zoom meeting, I can demonstrate this, in a zoom meeting and you can tell me if it is in sync - no problem |
Is this resolved?
That was only one reason why I switched to Jack. It is what I called "unstable". OBS audio issues that I had:
My advice: use Jack :). |
I'm done. From my viewpoint, getting a virtual microphone with module-remap-source and enabling monitoring in OBS took care of my concerns, thanks! |
@MarioMey do you have an example of setting this up using Jack? I've never used it before, but despite trying all the pulseaudio solutions here, I have a 1-2 second delay in the audio when doing this with whatever I try. |
I don't have time to explain step by step... but I could give you some advices:
I think you can do whatever you need with this softwares. I use PurrData (a fork of PureData)... but it is a bit complicated to learn. |
I've got jack up and running but there doesn't seem to be a way to route the audio coming out of OBS? Could you paste a screenshot of how you have Patchage set up? Here's what I get: When OBS is launched, it comes up as "JACK Input Client" but there's no way to then route the sound out of OBS back to a dummy microphone. I've only just started playing with this but it doesn't look like it'll quite do what we were trying to achieve with pulse Microphone -> OBS -> Apply Filters -> Virtual Microphone -> Zoom/Skype/etc |
Ok, I actually think there may be a bug in OBS. If I create the virtual devices:
Then set the monitor in OBS settings, I get a 1-2 second delay on the audio. If, however, I leave it set to default and then change the monitor in pagraphcontrol or KDE system settings (change the output of OBS-Monitor to the virtual speaker) there is no delay! |
You have to create a Jack sink module with Pulse Audio tools:
... and then use pavucontrol to redirect every "out" of OBS to this "OBSOUT" created module.
OBSOUT: above explained. |
Hello,
I am using Ubuntu Linux, and am currently using the v4l2sink mod as a workaround to use OBS with my web-based video conferencing software, since it does NOT have a server for accepting SRT/RTMP/FTL streaming.
Is it possible to create a virtual microphone device, and have OBS output to the virtual microphone device? I have been searching for hours on the web for a solution!
Thanks!!!
The text was updated successfully, but these errors were encountered: