Speech processing. voice signal
4 views (last 30 days)
Show older comments
I have speech signal of my voice and i want to divide the voice signal into frames of 30 milliseconds. And the frame rate = 10 miiliseconds.
The sampling frequency should be = 8000 Hz.
fs = 8000;
q = 16;
rec = audiorecorder(fs,q,1);
disp('Start speaking ');
recordblocking(rec,3);
disp('End of recording ');
play(rec);
y = getaudiodata(rec);
plot(y);
audiowrite(f,y,fs,Name,Value);
0 Comments
Answers (1)
Star Strider
on 11 Oct 2019
2 Comments
Star Strider
on 11 Oct 2019
Please see the documentation I linked to.
For example, I would do something like this:
fs = 8000; % Sampling Frequency (Hz)
ts = 1/fs; % Sampling Interval (s)
n30ms = 30E-3*fs; % Samples / 30ms
rec = rand(1,randi([8000 10000])); % Simulate Single-Channel Recording
nrseg = round(numel(rec)/n30ms); % Number Of Segments
bufrec = buffer(rec, nrseg); % Matrix Of Recorded Segments
Experiment to get the result you want.
See Also
Categories
Find more on Simulation, Tuning, and Visualization 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!