Is this place so dead, that my question only had 6 views in the last 2 days, or did I miss a tag or something?
How do I get sound data from a speaker?
11 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2018-3-9
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.
回答(2 个)
Walter Roberson
2018-3-8
"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:
- add one or more microphones listening to the speakers; Or
- 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
- 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 个评论
Walter Roberson
2018-3-9
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.
Anan Yaghmour
2020-7-4
hello,
Have you tried to activate stereo mix mode , in order to enable direct recording from speakers?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulation, Tuning, and Visualization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!