logo

Objectif
A première vue
Le schéma
L'alimentation
Le microcontrôleur
Le synthétiseur
Les ROMs
Code et memory map
Cartouche AVR
Cartouche CPLD
Convertir les sons
Créer le ROM
Circuits imprimés
Convertir les sons

Aussi étonnant que cela puisse paraître, la seule solution viable que j'ai trouvée pour convertir les fichiers audio au format LPC est d'utiliser un logiciel appelé QBoxPro, originellement créé pour Windows 3.1. Ne croyez pas ceux qui disent que ce logiciel a été utilisé pour les ROMs de la dictée magique, Windows 3.1 n'est sorti qu'en 1992.

Ce logiciel traite des fichiers .wav 16bits mono échantillonnés à 8kHz, il faut donc enregistrer les mots dans ce format. Audacity ou Goldwave en sont très capables.

On peut trouver des utilitaires capables de générer des données LPC, mais pas dans le format approprié pour le synthétiseur de la dictée magique. Les plus aventureux d'entre vous pourront éventuellement consulter les quelques sources MATLAB et documents universitaires disponibles traitant du sujet afin de coder leur propre convertisseur.

Pour ma part, je me suis résolu à utiliser le logiciel tel quel, mais un problème s'est posé. Alors que certains ont pu prouver qu'il fonctionnait sous Windows XP x86, il m'a été impossible de lancer l'exécutable 16bits sur x64, du moins sur mon Windows 7. J'ai donc du utiliser l'émulateur DOSBox.

N'étant bien sûr pas fourni avec une copie de Windows 3.1, il vous faudra vous procurer les fichiers d'installation originaux (petit indice : on trouve les disquettes en torrent très facilement). Une fois obtenues, il suffit de placer tous les fichiers dans un même dossier (j'utiliserai d:\win31) et de le monter puis lancer l'installation dans DOSBox en tapant:

mount c d:\win31
setup

Après avoir suivi les étapes de la courte installation, on peut quitter DOSBox et copier les fichiers de QBoxPro dans un dossier sous-jacent (j'utiliserai d:\win31\qbox). On créera également un dossier pour accueillir nos fichiers .wav et LPC. On peut ensuite ajuster le fichier de configuration de DOSBox pour simplifier le lancement de Windows. Il faut ajouter à la fin, dans la section [autoexec] normalement vide, les lignes suivantes:

[autoexec]
mount c d:\win31
c:
SET PATH=%PATH%;C:\WINDOWS;
Simulation

 

Après enregistrement, on peut relancer DOSBox. On se retrouve automatiquement avec un disque virtuel c: monté depuis d:\win31.

Grâce à la variable PATH on peut taper directement « win » pour lancer Windows.

Simulation

Lancer QBoxPro via le File Manager et ignorer les éventuels avertissements causés par le manque de driver audio, puis le quitter.
Trouver le fichier c:\windows\QBOXPRO.INI, l’ouvrir et remplacer la valeur de LPCNB dans [QBox_method] par 10 au lieu de 12. C’est le nombre de paramètres du filtre, que l’on peut étrangement pas modifier dans le logiciel.

[QBox_method]
LAST_METHOD=1
LPCFL=160
LPCNB=10

Relancer QBoxPro.

Simulation

Créer un nouveau projet .spf dans le dossier avec les fichiers .wav.

Simulation

Choisir un alignement en octets (bytes), une fréquence d’échantillonnage à 8kHz et la table du TMS5220 (la plus proche du TMS5100).

Simulation

Choisir « Add file » et sélectionner le fichier .wav.

Simulation

Choisir Process > Medium Bitrate et cliquer sur OK (notez que « Number of LPC coeffs » doit être à 10 suite à la modification du fichier .ini), laisser les autres paramètres par défaut.

Simulation

Laisser la conversion se faire...

Simulation

Choisir Edit > Concatenations, et Insert > New concatenation dans la nouvelle fenêtre. Saisir le mot (pour s’y retrouver).

Simulation

Choisir Insert > Add phrase, laisser les paramètres par défaut et cliquer sur OK.

Simulation

Choisir Format : LPC 10V, 4UV. Ceci produira le fichier qui nous intéresse. Enregistrer le projet en choisissant Project > Save.

On se retrouve avec divers fichiers générés dans le dossier du projet, celui qui nous intéresse est le fichier .BIN. On peut écouter ce à quoi ressemblent ces fichiers grâce à l’utilitaire DCExcel Vox disponible sur cette page.

Ces fichiers contiennent les données LPC qu’on pourrait fournir au synthétiseur TMS5220, mais il subsiste un problème : le 5220 utilise 6 bits pour le pitch alors que celui de la dictée magique n’en veut que 5. Il y aurait donc un décalage dans le bistream, ce qui produirait un son incompréhensible.

Il va donc falloir avoir recours à une seconde moulinette pour passer le pitch de chaque trame sur 5 bits et ainsi produire des données adaptées au TMS5100.

footer
symbol symbol symbol symbol symbol