Voice Audio Data and Pitch Extraction
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
jcclar12
el 13 de Oct. de 2022
Comentada: jcclar12
el 3 de Nov. de 2022
I want to extract numerical data from raw voice audio files(.wav)- take out the numeric pitch (Hz) and do specturm analysis in a voice audio file. However, I want to have the pitch throughout the audio file with time stamps to a later to be converted to a .csv or .txt, and for other analysis like spectrum and stats.
How do I do that? I am looking for succesful code. I am new to Matlab, but I have the audio packages already installed. So far I seen parts of what I want to do on the internet, but they never work. As for now the data is not noisy, but I might need to clean some with extra sound in the background.
Thanks for your help in advance.
0 comentarios
Respuesta aceptada
jibrahim
el 20 de Oct. de 2022
[x,fs] = audioread("SingingAMajor-16-mono-18secs.ogg");
winLength = round(0.05*fs);
overlapLength = round(0.045*fs);
[f0,idx] = pitch(x,fs,Method="SRH",WindowLength=winLength,OverlapLength=overlapLength);
tf0 = idx/fs;
3 comentarios
Walter Roberson
el 2 de Nov. de 2022
The internal code uses
hopLength = params.WindowLength - params.OverlapLength;
numHops = floor((size(x,1)-params.WindowLength)/hopLength);
varargout{2} = cast(((0:numHops)*hopLength + params.WindowLength)','like',x);
So it is more or less creating windows, and you are getting an index for each window.
Más respuestas (0)
Ver también
Categorías
Más información sobre Simulation, Tuning, and Visualization en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!