Accessing microphone readout for rough decibel meassurement - azure

I am new to Arduino development and just started trying some of the provided examples for the MXChip devkit. What I'm trying to do now is accessing the analog readout from the microphone to get a rough estimation of sound levels. I tried to find information on how to do this and found some articles that use an Arduino board and an external microphone wired to the analog inputs. Since the dev kit has a built-in microphone, I want to use that, but I don't know how to access it, and I can't find any information on pin layout. Any help would be appreciated!

The microphone is not connected to the analog pins. It is connected to dedicated Audio codec hardware.
See https://microsoft.github.io/azure-iot-developer-kit/docs/apis/audio-v2/
The hardware does not seem to give you direct access to incoming values. It looks like you will need to record and the read the buffer to get audio input levels.

Related

Trying to route audio from Musescore to Ableton Live 10 via JACK audio connection?

My goal is to be able to write sheet music in Musescore and then have the audio output of the playback routed to Ableton Live.
I've tried using loopMIDI audio and LoopBe1 as virtual midi cables.
I have the Jack audio driver set in Ableton's audio preferences under ASIO drivers. As seen in the photo, it seems that Ableton is recognizing the virtual midi cables as an input. I have Musescore's Jack audio settings enabled. I have a midi instrument set up in Ableton. However, when I play back audio in Musescore Ableton doesn't seem to be recognizing any input.
I was trying to follow along with this tutorial. However, they seemed to omit certain details. For example, as seen in my image I was only able to route general sound/midi devices together not specific [left1,right1] to another [in1,in2]

How can I receive Bluetooth audio signal and forward it to a Bluetooth speaker?

I need some help because I don´t know how to approach this challenge.
I want to build a device, that's receiving a Bluetooth audio signal and is forwarding it to a Bluetooth speaker. It´s also running some algorithms with the audio data and also simultaneously sending results via UDP to a different device.
I already thought about using two or three ESP32s, using one with an extra Bluetooth module, or searching for a whole different MCU with Bluetooth 5.0 or higher and Wifi 5GHz. But I don´t know approach the best is, or maybe a completely different one.
Some context, why we want to do it:
We want to create a real-time light show, based on the current playing song. It is already working for PC, but also want to make it accessible for phone users. Sadly there is no way to capture the internal audio on iPhone or Android phones. Our Idea to make the music sync with the phone possible is that you are connected with the phone via Bluetooth to our "sync box" which is then connected to the speaker via Bluetooth or AUX. The "sync box" is running our algorithms for creating the light shows and then sending the data to the microcontrollers from the light strips.
So maybe you have an idea how we can sync the lights to the music completely differently or how I can approach the challenge with Bluetooth.
Any help is highly appreciated.
Thanks a lot.

Getting data from audio mixer

I am trying to build an open-source in-ear monitoring system. I have created the UI and was wondering how I would get the channels that are on an audio mixing console so that I can edit the channels and stream them to each musician. Is there a certain protocol that all the mixers use? You can find the project at https://gitlab.com/openstagemix. We would love to have contributors.
I can't really test whether this is the correct answer as I am trapped in my house during the coronavirus time. But, all mixers use something called OSC which is a protocol between mixers, synthesizers, etc. to computers. You can find more information here http://opensoundcontrol.org/introduction-osc.
Update:
It's neither! I am going to use the AES67 standard to receive information from my mixer and with that process the audio. This is because my mixer is ethernet capable.

Decoding audio from RJ11 / Phone Plug

What I would like to do involves a small bit of hardware. 1) a phone headset, 2) a PCI-modem, and 3) a phone wire. What I would like to do is read audio from the modem, and then digitize it for processing. I'm sure the best way to do this is with Linux, but if it can be done in Windows as well that would be awesome. A second extension of this, is that I would like to be able to translate digital audio to analog audio and send that to the modem so it can be heard from the headset.
Any advice would be greatly appreciated. ( Also, if anybody has a general "pointer" to what I should investigate to replicate the audio stream to a TCP server so it can be accessed over LAN, that would be even cooler. I know how to handle TCP well enough, but I haven't a clue about audio encoding / decoding ).
If anybody's curious, I'm wanting to create a home-wide audio-stream with ears and mouths. Since the phone cables can do that with normal headsets, I thought "why not".
Not just any modem will do. You need a "voice modem", which includes audio capability as well as general modem functionality. These devices usually expose themselves as a regular sound card on the system, once the drivers are installed. From there, you can use any mechanism you want to read/write from those audio streams.
Be warned though that your plan of a whole-house speakerphone isn't simple at all. There are significant feedback issues when using regular POTS lines. There are entire companies that work to solve this problem. The best of them use microphone arrays that are steerable in software. You would be better off using one of these off-the-shelf systems.

Play audio as microphone input

I am to test voice recognition programs. Some which I have access to the code and others where I don't.
Sadly my (beautiful) voice is not perfect, so when I am reading a text it sounds slightly different each time. Which makes the testing difficult and time consuming. Giving that I can tweak a lot of parameters.
So I was wondering if there was a way to record my own voice (already done). And then play it as normal microphone input so the voice recognition program I am testing will see it as microphone input.
This would also help greatly if it could be done programatically in C#. So I can in my own code specify when to play what.
To play it from speakers and have the voice recognition programs listen to the microphone is not an option, because it is not the same sound on different computers/speakers/microphones.
Thanks.
Edit:
What i have found so far is to use a software sound Card simulator. But I haven't been able to find a suitable one.
Just as there are printer drivers that do not connect to a printer at all but rather write to a PDF file, analogously there are virtual audio drivers available that do not connect to a physical microphone at all but can pipe input from other sources such as files or other programs.
I hope I'm not breaking any rules by recommending free/donation software, but VB-Audio Virtual Cable should let you create a pair of virtual input and output audio devices. Then you could play an MP3 into the virtual output device and then set the virtual input device as your "microphone". In theory I think that should work.
If all else fails, you could always roll your own virtual audio driver. Microsoft provides some sample code but unfortunately it is not applicable to the older Windows XP audio model. There is probably sample code available for XP too.

Resources