Wireless mic: technologies for streaming realtime low or medium quality voice audio

Status
Not open for further replies.

vanantwj

New member
This is my first time posting here. :) Thanks to Paul for developing Teensy and the recent awesome audio library, and to FrankB and others for their efforts. I discovered Teensy in the last year, after PIC years ago, and some small Arduino projects more recently. Used Teensy coupled with a small display in a mobile tester for some automotive electronics, and it worked really great. Anyway...

Anybody have advice/thoughts on making a wireless mic system? I'd like to leverage existing libraries, boards, etc. as much as possible. Ideally each mic and receiver would have a range of 100 yd, but if using something like WiFi where multiple access points could be wired, 20 or 30 yd would be acceptable. Six or eight mics would be a minimum, but ideally, we could have more. Each receiver would be connected to a Behringer X Air digital mixer for recording as well as flexible routing to multiple listening body pack headsets.

I don't need to implement any kind of audio mixing in the wireless mic body pack. It should be just a simple mic, transmitting with hopefully less than 50 ms or perhaps 100ms delay, and ideally moving to another transmission frequency regularly. I'm open to using MP3/Opus/etc compression or not, expect to be sampling at 22kHz or less, and perhaps a resolution of 12 bit. There are some solutions out there, but they are expensive or very expensive, and perhaps bulkier than would be ideal, and have larger batteries than are needed for this application.

Is Teensy a good place to start, and is the audio library routing capabilities appropriate for this? I'm hoping this is a good place to ask this question. :) I've spent the last couple weeks looking for possible solutions including boards like the Teensy 3.2, the Feather WiFi, and the new Raspberry Pi Zero W, wireless solutions such as various WiFi interfaces or NRF24L01+, and even various compression types such as Opus. Battery life on the mic/transmitter should be an hour, or hopefully a couple hours. The receiver will have wall power. A mic-only wireless solution is acceptable, but eventually the ability for two direction communication would be great. The ability to select a subset of listeners (one or more) would also be ideal.

*** If there are any feasible options worth considering, my next step will probably be to order 3 to 5 options and to start to do my best to see what works best, if at all. Are there some technologies worth considering / evaluating / learning? ***

If this is going to take years of development, it doesn't make sense. But if it's a matter of weeks, or possibly even months, it's worth considering. Ideally I can get a proof of concept working in a couple of days.

The following are my notes so far, technologies I've run across that might have some promise. Obviously, please feel free to skim/skip. X) And thanks if you've made it even this far!

Dev board potential tech to explore:
- Teensy LC
- Teensy 3.2
- Feather M0 Wifi (ATSAMD21 + ATWINC1500)
- Rasp Pi Zero W
- Mikroe Audio Codec board: https://shop.mikroe.com/add-on-boards/audio-voice/audio-codec-proto

Software to explore:
- RF24Audio: http://tmrh20.github.io/RF24Audio
- PulseAudio: https://www.freedesktop.org/wiki/Software/PulseAudio/
- Icecast open source streaming media server with Android and iOS apps: http://icecast.org/apps/

Standards to explore:
- Opus codec, less data to transmit, perhaps better use of payload to overhead, and possibly better tolerance to lost packet

Wireless potential technologies to explore:
- Wifi with one router and multiple access points
- Wifi AH

Existing product potential tech to explore:
- Bluetooth headsets with long USB cables to get close to audio source
- Wireless audio with long 1/8 cable to get close to audio source
- Shure BLX body pack and rack receiver
- 2.4G NRF24L01 Wireless Digital Audio Transceiver Module (eBay Q-BAIHE)

WiFi considerations:
- WiFi automatically switches frequency when interference occurs
- WiFi has built in ability for encryption
- WiFi AH is not widely available, but might become so. At which time, a single-router solution might become practical due to extended range. In the meantime, using 2 or more routers (with all but one in "access point" mode) should allow for coverage of larger playing areas.
- UDP for lower overhead
- QOS settings on router / access points could help us construct a workable amount of latency / packet loss

Feather M0 WiFi considerations:
- more powerful processor than typical arduino but with inexpensive and simple development environment, hard to say whether less powerful processor could keep up, or if the more powerful processor could use less power overall by sleeping regularly between tasks.
- More powerful processor would probably be easier to develop with and also more likely to better handle incoming and outgoing audio at the same time.

What libraries / boards / etc would you recommend in order to allow for quickest proof of concept, and maximum use of existing open tech? Is this doable or crazy? Any other cautions / advice / etc.?

Thanks so much!
 
One obvious dev board that I just realized I left off my bullet list was Paul's own Audio Adapter Board. It looks like a pretty great option paired with a Teensy. Also, I know that the LC is not listed as being compatible with the audio library, but I thought it might be partly functional, at the level of simply passing through something like 8 bit audio since there is no mixing or other heavy computation going on. Based on reading about 13 threads here in Audio Projects, it seems unlikely due to the hardware features present only in the M4 processors. But hopefully it doesn't hurt to ask! Thanks again!
 
I'll add Opus to my lib when i have my current project working. It will take some weeks.
 
Last edited:
Status
Not open for further replies.
Back
Top