how to use soundsc with function
2 views (last 30 days)
Show older comments
Hi i have written a code which is executing perfectly for DTMF tones with this command. I am listening tones in speaker
dtmf=dtmfdial([1 1 9 9 2 2 0 0]);
The last portion of my code is
dtmf = cat(2, D{:});
soundsc(dtmf,12000);
Now the book says that following matlab command should play the tones corresponding to input vector,input,through computer speaker
sound(dtmfdial([input]),12000)
How can i achieve this, what should i do with my final cell dtmf???
0 Comments
Accepted Answer
Wayne King
on 6 Oct 2011
Your function is actually outputting a vector. Your code
dtmf = cat(2, D{:});
is producing a vector, soundsc() works on that vector. So the line
soundsc(dtmfdial([3 7 3]),8000)
Says "call dtmfdial with the input [3 7 3] which inside your code builds a signal (the vector dtmf) out of the frequencies defined by that input vector (in table). Play the output of dtmfdial() with a sampling frequency 8,000 Hz.
More Answers (5)
Wayne King
on 6 Oct 2011
Is your dtmf a Nx1 cell array? Can you do
soundsc(cell2mat(dtmf),Fs)
0 Comments
Wayne King
on 6 Oct 2011
Transpose your cell array
dtmf = dtmf';
Then try
soundsc(cell2mat(dtmf),8000);
0 Comments
moonman
on 6 Oct 2011
1 Comment
Walter Roberson
on 8 Oct 2011
When a function A is given as an argument to another function B, then the first output of A becomes an input to B. *Only* the first output of A is accessible when you do this: there is NO way in MATLAB to have multiple outputs of a function used as inputs to another function, other than assigning those multiple outputs to variables and passing in the variables.
See Also
Categories
Find more on DTMF in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!