Applied Speech and Audio Processing: With matlab examples
Download 2.66 Mb. Pdf ko'rish
|
Applied Speech and Audio Processing With MATLAB Examples ( PDFDrive )
- Bu sahifa navigatsiya:
- Advanced topics
7.9. Voice and pitch changer
197 Figure 7.11 A voice changer based on adjusting intermediate speech representation parameters within a CELP codec, between the encoder and the decoder parts. %Extract the pitch from the speech vocA=filter([1,zeros(1,tapA-1),-Beta], 1, sp); %Perform LPC analysis aA=lpc(sp.*hamming(length(vocA)), 10); lung=filter(aA, 1, vocA); lspA=lpc_lsp(aA); %-- transform -- %lspB=lspA*1.1; %tapB=round(tapA/1.1); lspB=lspA/1.1; tapB=round(tapA*1.1); %------------------ aB=lsp_lpc(lspB); %Recreate the speech vocB=filter(1, aB, lung); spB=filter([1,zeros(1,tapB-1),Beta], 1, vocB); 198 Advanced topics Remember, this is a simple test only, it will not work over longer recordings because the pitch and LPC parameters will no longer be stationary. It also scales the LSPs in a very trivial manner without considering resonances that may result, or shifts toward either frequency extreme, and thus large shifts will result in significant quality degradation. Increasing the LTP tap lowers the pitch frequency: reducing the LSP values lowers the vocal tract frequency response, and thus the LTP and LSP scaling needs to be in opposite directions if a consistent frequency movement is expected (i.e. for voice frequency scaling they should both move either upward or downward in frequency, but for voice scrambling, they could move in any combination). Tests of these methods within a CELP coder reveal that pitch scaling and LSP adjust- ments should remain relatively small but result in fairly natural sounding speech. In very general terms, this method can change a male-sounding voice into a female-sounding one and vice versa. In contrast to the Matlab code above, the tested system identified the LSP line pairs related to the primary formants (as in lspnarrow() on page 190), and shifted these without changing the other lines, wherever possible. It should be noted at this point that the voice changing method described really does depend upon the presence of a CELP coder. In fact it was designed for use within a telecommunications application as an extension to an existing codec. Since the computa- tional complexity of CELP is quite high, it may be an inefficient solution for applications where a CELP-style coder is not already present. Download 2.66 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling