Sie sind auf Seite 1von 3

Copyright 2004 - Oregon State University

1 de 1

Lab 5 - codage prédictif linéaire

Idée Lorsque le signal audio de la parole ordinaire est enregistrée et doit être transmis sur un canal avec une bande passante

limitée, il est souvent nécessaire de soit compresse ou encode les données audio pour répondre aux spécifications de bande

passante. Dans ce laboratoire, vous allez examiner comment fonctionne le codage prédictif linéaire et comment il peut être utilisé

pour compresser l'audio de la parole.

Objectifs
• encodage parole
• Synthèse de discours

Lire le document LPC.pdf pour des informations générales sur


Codage prédictif linéaire

Procédure
Il y a deux grandes étapes de ce laboratoire. Dans la vie réelle de la première étape représenterait le côté où les
données audio sont enregistrées et codées pour la transmission. La deuxième étape représenterait le côté de réception lorsque
cette donnée est utilisée pour régénérer le signal audio par synthèse. Dans ce laboratoire, vous allez faire à la fois le codage /
émission et de réception / parties de synthèse. Lorsque vous avez terminé, vous devriez avoir au moins 4 fichiers séparés
Matlab. Deux d'entre eux, le fichier principal et la fonction levinson, vous sont donnés. La fonction de codage de la fonction et du
PLC de synthèse sont les fichiers que vous avez à écrire. Ci-dessous une liste aperçu des étapes de ce laboratoire.

1. Lire le fichier * .wav dans Matlab et de transmettre les données à la fonction de codage LPC
2. La fonction de codage LPC, procédez comme suit:
une. Diviser les données en trames 30msec
b. Pour chaque image, trouver les données nécessaires pour reproduire l'audio (voix / non-dit, le
gain, le pas, les coefficients de filtre)
c. La fonction de codage LPC renverra ces vecteurs de données
3. Faire passer les données de la fonction de codage LPC pour la fonction de synthèse
4. La fonction de synthèse fera ce qui suit:
une. Régénérer chaque trame à partir des données
b. Reconnecter tous les cadres
c. La fonction de synthèse renvoie l'audio reconstruit
5. Jouez l'audio d'origine
6. Lisez l'audio synthétisé

La liste ci-dessus des étapes est déjà codé dans le fichier principal de Matlab. Les pièces que vous devez faire sont les
fonctions de l'étape 2 et l'étape 4. Regardez S'il vous plaît à tout le code donné et instructions avant de commencer ce
laboratoire.

ECE 352, Lab 5 - codage prédictif linéaire


Copyright 2004 - Oregon State University
2 sur 2

La fonction de codage LPC


Comme mentionné plus haut la fonction de codage LPC prendra le signal audio de la parole et de le diviser
informations cadres 30msec. Ces cadres commencent tous les 20 ms. Ainsi, chaque cadre chevauche avec le cadre précédent
et suivant. Montré dans la figure ci-dessous:

Figure 1: signal audio à des cadres séparés

Une fois que les images ont été séparées, la fonction LPC prendra toutes les images et extraire les informations
nécessaires de celui-ci. Ceci est la, le gain, la hauteur et l'information des coefficients de filtre vocal / non vocal.

Pour déterminer si le cadre est exprimé ou non-dit que vous devez savoir si le cadre a une fréquence dominante.
Dans le cas contraire, le cadre est exprimé. S'il n'y a pas de fréquence dominante est le cadre non-dit. Si le cadre est que
vous pouvez trouver exprimé le terrain. La hauteur d'une trame non voisée est simplement 0. La hauteur d'une trame
voisée est en fait la fréquence dominante dans cette trame. Une façon de trouver le terrain est de corrélat croix le cadre.
Cela permettra de renforcer les composantes de fréquence dominante et annuler la plupart des plus faibles. Si les 2 plus
grandes grandeurs de points de données sont à 100 fois de l'autre, cela signifie qu'il ya une certaine répétition et la
distance entre ces deux points de données est le pas.

Le gain et les coefficients de filtre sont trouvés en utilisant la méthode de Levinson. Ce code est déjà écrit pour vous.
Après avoir téléchargé cette fonction à votre répertoire de travail que vous pouvez faire une « aide levinson » pour savoir
comment utiliser la fonction.
Après avoir trouvé ces variables pour tous les cadres de la fonction de les transmettre dans le fichier principal comme on le
voit ci-dessous:
[Coeff, pitch, G] = proclpc (inspeech, Fs, commande);
• Coeff est une matrice de taille (nombre de coefficients x nombre de trames) contenant les coefficients de
filtrage à tous les cadres
• Emplacement est un vecteur de taille (nombre de trames) contenant les informations d'emplacement à toutes les trames

• G est un vecteur de taille (nombre d'images) contenant les informations de gain à tous les cadres

• Inspeech est les données d'entrée

• Fs est la fréquence d'échantillonnage des données d'entrée

• L'ordre est l'ordre du filtre d'approximation

ECE 352, Lab 5 - codage prédictif linéaire


Copyright 2004 - Oregon State University
3 of 3

La fonction de synthèse
La partie de synthèse est assez facile par rapport à la fonction de codage. Fist pour chaque trame, vous devez
créer un signal initial à exécuter à travers le filtre. Ce signal initial est d'une longueur 30msec. En utilisant les informations de
la variable passée dans la fonction de synthèse, vous serez en mesure de faire la synthèse de chaque trame. Après avoir
synthétisé les images que vous pouvez les mettre ensemble pour former le signal de synthèse vocale.

Le signal 30msec initial créé sur la base des informations de terrain. Rappelez-vous que si le pas est égal à
zéro, le cadre est non-dit. Cela signifie que le signal de 30msec doit être composé avec le bruit blanc. (Regardez la
fonction Matlab randn) Si le terrain est différent de zéro, vous devez créer un signal 30msec avec des impulsions à la
fréquence de pas. (Regardez la fonction Matlab pulstran)

Maintenant que vous avez les signaux initiaux vous reste à faire est de les filtrer en utilisant les coefficients de
gain et de filtrage, puis de les relier entre eux. (Regard sur le filtre de la fonction Matlab)

Mettre les cadres de retour ensemble est également fait d'une manière spéciale. C'est là la raison d'avoir les cadres
se chevauchent clairement. Parce que chaque image a son propre terrain, le gain et le filtre, si l'on met simplement les textes
les uns aux autres après leur synthèse tout, cela sonnerait très saccadé. En les faisant se chevauchent, vous pouvez faciliter la
transition d'une image à l'autre. La figure ci-dessous montre comment les cadres sont connectés. L'amplitude de la pointe et de
la queue de données de chaque trame est mise à l'échelle et ensuite simplement ajouté.

Figure 2: Ajout de cadres séparés en signal audio final

Comment interpréter vos résultats


Il y a plusieurs façons de voir les résultats, mais par souci de simplicité, nous nous appuierons sur l'oreille
humaine. Dans la fonction principale de l'audio de la parole d'entrée et le signal audio de synthèse vocale est lue à dos.
Vous pouvez écouter ces lectures et juger en conséquence si votre codage et les fonctions de synthèse fonctionnent.

Message Lab
Écrire un paragraphe résumant ce que vous avez appris dans ce laboratoire. Inclure aussi une copie de tout le code écrit et
Matlab une copie de toutes les parcelles et les images créées. Tournez dans vos résultats de laboratoire à votre laboratoire TA au
laboratoire à partir de trois semaines.

ECE 352, Lab 5 - codage prédictif linéaire