How do I get sound data from a speaker?

13 visualizaciones (últimos 30 días)
John Hackett
John Hackett el 6 de Mzo. de 2018
Respondida: Anan Yaghmour el 4 de Jul. de 2020
I googled it, but all I could find was how to send data to a speaker. I want to Analyse the sound the speaker is outputting. I thought I could perhaps use the same method that I used for my microphone, which is:
d = daq.getDevices;
dev = d(2);
s = daq.createSession('directsound');
ch = addAudioInputChannel(s, dev.ID, 1);
s.IsContinuous = true;
lh = addlistener(s,'DataAvailable', @(src, event) analyze_bandpower(event.Data));
startBackground(s);
But, when I changed the device to a speaker it didn't work. Is there a way to do this with a speaker instead of a microphone?
Edit: I think I need to change how I am saying what I need. Basically I want to be able to analyze system sounds. Like I have some music from pandora playing on my desktop, and I want to analyze the frequencies in it. Would that be any different?
  4 comentarios
John Hackett
John Hackett el 9 de Mzo. de 2018
Wow, that is a lot. However, is there no way to at least let someone know, 'Hey we are busy right now, we'll get back to you in x time'?
Walter Roberson
Walter Roberson el 9 de Mzo. de 2018
There is no roster of volunteers, no deliberate division of effort, no queuing of questions to particular people. Each of the volunteers visits whenever they feel like it, wanders off whenever they want, and responds to whatever strikes their interest.
Some of the volunteers only answer questions they already know the answer to (perhaps because it is somewhat fast and doesn't require much thinking); some of them prefer questions that are within areas they have studied but do not already know the answer to (perhaps in order to expand their expertise in their chosen areas); some volunteers enjoy questions that are further out from their existing knowledge (perhaps in order to expand their areas of knowledge, that moving out of comfort zones can also present the greatest learning opportunities.)
The audio driver specialist volunteers tend to wander by about every 4 to 6 months. You typically won't see one of them responding unless you start working with at least 8 channels -- or start needing very low latency.
Myself, I have not done audio work for about 35 years, back on a PDP-11/23 device (I think it was.) There were no audio drivers back then; we programmed everything in assembly language.

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 8 de Mzo. de 2018
"Is there a way to do this with a speaker instead of a microphone?"
No.
If you want to analyze the sound a speaker is putting out then you need to do one of the following:
  1. add one or more microphones listening to the speakers; Or
  2. add an analog to digital convertor on a tap of the inputs going to the speaker and extensively calibrate how input signals are converted to sound by the speaker so that the input signal can serve as a proxy for the speaker output; Or
  3. loop-back the signal being output in the direction of the speakers and extensively calibrate how the signals being emitted at that point are converted to sound by the speaker so that the signal can serve as a proxy for the speaker output. The differences between this and the previous option is: (A) that the system output being measured in this case might be pre-amp, pre-equalizer and so on whereas the direct measurement of the signal to the speaker would be after all manipulations including amplifier; and (B) there is a possibility that you might be able to loop back the digital version of the signal before it is converted to output
As I scan around the 'net it appears that DirectSound does not have the capability of doing loopback, but that some other audio drivers do. One of the ones suggested appears to be https://www.vb-audio.com/Cable/
  4 comentarios
John Hackett
John Hackett el 9 de Mzo. de 2018
I've added an edit to my question, please let me know if that changes anything.
Walter Roberson
Walter Roberson el 9 de Mzo. de 2018
I think my first attempt at this point would be to try the Virtual Cable driver I linked to above and see if a device shows up for the data acquisition toolbox or (more likely I guess) the Audio System Toolbox.

Iniciar sesión para comentar.


Anan Yaghmour
Anan Yaghmour el 4 de Jul. de 2020
hello,
Have you tried to activate stereo mix mode , in order to enable direct recording from speakers?

Categorías

Más información sobre Audio I/O and Waveform Generation en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by