Applied Speech and Audio Processing: With matlab examples
Download 2.66 Mb. Pdf ko'rish
|
Applied Speech and Audio Processing With MATLAB Examples ( PDFDrive )
2.3. Audio processing
15 2.3 Audio processing Probably the most important consideration with handling audio is the question of whether the sound vector can be processed in one go, or whether it needs to be split up and processed in pieces. In a real sound processing system, these questions would usually revolve around when an output was required – a system able to split incoming audio and process piece-by-piece would start to produce an output earlier than if output was generated only at the end of an input recording. Other issues would include the degree of processing power required (such as determining whether all processing need to be performed in one ‘lump’ at the end of an input, or could it be spread over the input time?). Within Matlab, short recordings may be processed in their entirety, but longer record- ings may well consume all of the memory within the computer. More importantly where audio characteristics evolve over time, such as in speech, it is often useful to split speech into either equal-sized regions or regions of similar characteristic. This splitting is called segmentation and will be discussed further in Section 2.4. Many time domain operations, such as a simple digital filter, can be applied to an audio vector in a single pass irrespective of its size (and whether or not it is has been segmented). For example an FIR (finite impulse response) filter is achieved with: y=filter(b, 1, x); where b is a vector holding the filter coefficients. The x and y vectors are equal length vectors of input and output samples respectively, with each sample of y being calculated from the difference equation: y (n) = b(1) × x(n) + b(2) × x(n − 1) + b(3) × x(n − 2) + · · · + b(m + 1) × x(n − m). (2.1) An IIR or pole-zero filter is achieved with: y=filter(b, a, x); both a and b are vectors holding the filter coefficients. x and y are again equal length vectors of input and output samples respectively, with each sample of y being calculated from the difference equation: y (n) = b(1) × x(n) + b(2) × x(n − 1) + b(3) × x(n − 2) + · · · +b(m + 1) × x(n − m) −a(2) × y(n − 1) − a(3) × y(n − 2) · · · (2.2) −a(m + 1) × y(n − m). |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling