Speech processing. voice signal
5 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Star Strider
2019 年 10 月 11 日
2 件のコメント
Star Strider
2019 年 10 月 11 日
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.
参考
カテゴリ
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!