Applied Speech and Audio Processing: With matlab examples
Download 2.66 Mb. Pdf ko'rish
|
Applied Speech and Audio Processing With MATLAB Examples ( PDFDrive )
Basic audio processing
detection in the cepstrum may be easier to achieve automatically (assume a constrained search range), and certainly the cepstrum can highlight features missed in a correlogram. The correlogram on the other hand is significantly easier to compute and scale than the cepstrum. Both are visualisation and analysis tools available to speech researchers, and many times both should be consulted during a particular analysis to compare their dif- ferent viewpoints. Finally, note that the cepstrum is often calculated with a nonlinear Mel frequency band mapping. The resulting Mel frequency cepstral coefficients (MFCC) are used for speaker identification, speech recognition and several other speech analysis tasks [6]. 2.7 Sound generation It is often quite useful to be able to generate sounds, especially when experimenting with, or testing, audio and hearing responses. Some of these techniques will come in useful during later chapters which provide Matlab code to demonstrate several auditory phenomena. 2.7.1 Pure tone generation A pure tone is an unmodulated sinusoid in shape. To generate such a tone of frequency Ft at a sample rate of Fs, lasting for Td seconds, is reasonably easy, and in fact we will create a small Matlab function called tonegen() to do precisely this. function [s]=tonegen(Ft, Fs, Td) s=sin([1:Fs*Td]*2*pi*Ft/Fs); Such a function, saved in the Matlab work directory using a filename of tonegen.m, would then be accessible to other functions and programs written in Matlab. Thus, using this to generate and listen to a 2 second pure tone of frequency 440 Hz (corresponding to A 4 on the musical scale as described in Infobox 2.5 on page 33), we would do the following: note=tonegen(440, 16000, 2); soundsc(note, 16000); 2.7.2 White noise generation White noise consists of uniformly distributed random numbers, which are easily gener- ated in Matlab, using the same notation as previously of Td seconds duration at sample rate Fs: noise=rand(1,Fs*Td); |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling