OSX Python Remote Network Microphone

So, i needed a way to connect my XServe OSX Snow Leopard machine to 4 remote microphones connected on other computers, and present them to the local system as Virtual Microphone Inputs (as if they were connected locally to the XServe).

(this works on my laptop aswell so you dont need an XServer or Snow Leopard Server)

(this also works on Leopard, Mac Mini’s and MBP’s)

[Microphone]->[mac mini]—-LAN/WAN—->[OSX HOST]->[Virtual Microphone Input 1]

[Microphone]->[mac mini]—-LAN/WAN—->[OSX HOST]->[Virtual Microphone Input 2]

[Microphone]->[mac mini]—-LAN/WAN—->[OSX HOST]->[Virtual Microphone Input 3]

[Microphone]->[mac mini]—-LAN/WAN—->[OSX HOST]->[Virtual Microphone Input 4]

In the above mac mini’s;
- each Mac Mini has connected a standard usb microphone.
- each Mac Mini has PyAudio installed
- Runs my python ‘microphone server’

In the above XServe;
- has my hacked VirtualAudioDevice.kext
: this installs 4x virtual microphones onto the system, available for any application to use as if they were locally connected USB microphones.
- runs my python ‘microphone client’ which connects each virtual microphone to the remote IP of the desired mac mini (and its microphone data)

i can now use multiple instances of FMLE (or anything at all) to broadcast different video streams from network cameras AND different audio sources along with those feeds.

This with my virtual camera howto (posted an article on here previously) allows you to setup an all-in-one broadcast server using remote microphones, network cameras and so on.

let me know if you want the code and ill make this a HOWTO;

Comments

  • Adam says:
    18-07-10

    That’s pretty sweet. We have some client/server setups that could benefit from this. If you still have the code handy, I would like to see if we can set it up here also.

  • 18-07-10

    I would be interested in a howto.

  • Akhil says:
    18-07-10

    Hi I would like to know more about it and how I can use it on windows machines. Please let me know. Thanks.

Post a comment