Applied Speech and Audio Processing: With matlab examples
Download 2.66 Mb. Pdf ko'rish
|
Applied Speech and Audio Processing With MATLAB Examples ( PDFDrive )
Advanced topics
are concerned, since amplitude changes in one region will always cause compensatory power redistribution in other regions. Despite this, as long as line alterations are minimal, the effects on other spectral regions will be negligible. This is saying that, for small movements, and small movements only, localised spectral adjustments can be made through careful LSP movement. The example of Figure 7.8 showed a spectrum of voiced speech. The three spectral peaks represent formants, and as such we can see that the operations we performed affected formants directly. In fact, the LSP operations demonstrably adjusted formant bandwidths and positions. The LSP operations can be formalised as follows. If ω i are the LSP frequencies and ω i the altered frequencies, then narrowing line pair {i : i + 1} by degree α would be achieved by: ω i = ω i + α(ω i +1 − ω i ) (7.12) ω i +1 = ω i +1 − α(ω i +1 − ω i ) (7.13) and increasing the frequency of line k by degree γ may be achieved with: ω k = ω k + ω k (γ − 1)(π − ω k )/π. (7.14) When altering the line positions it is important to avoid forming unintentional resonances by narrowing the gaps between lines that were previously separated. This problem may be obviated either by moving the entire set of LSPs, or providing some checks to the adjustment process [25]. In the former case, movement of lines 1 and 10 closer to angular frequencies of 0 and π may also induce an unintentional resonance. Equation (7.14), de- signed for upward shifting, progressively limits the degree of formant shift as a frequency of π is neared. A similar method may be applied to downward shifting. In Matlab, a simple program to detect the three narrowest pairs of lines in a set of LSPs (in vector lsp), and to narrow the pair spacing between each of the three pairs by degree sc is given below: function nlsp=lspnarrow(lsp,sc) p=length(lsp); wid=diff(lsp); %first determine which LSP pairs are narrowest n=[pi, pi, pi]; ni=[0, 0, 0]; for lp=1:p-1 if(wid(lp) < n(3)) if(wid(lp) < n(2)) if(wid(lp) < n(1)) |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling