GI / MICROCHIP SP0256 Processeur vocal et CTS256A-AL2 Text-to-Speech Processor Emulation
Basé sur l'émulateur IntelliVoice par Joe Zbiciak.
Version 0.0.6-alpha.
Une pré-libération des exécutables (Win32-X86) peut être trouvée dans les «versions».
-r ;SP0256_VS2005.sln pour compatibilité avec VS2005SP0256_VS2005.sln pour construire sous VS2005;SP0256.sln pour construire sous VS2017 (ou supérieur - pour vérifier).-w[wavFreq]:file.wav ;-DT = trace; -DD = débogage à une étape, -DS = échantillons;Deux émulateurs dans ce projet:
Deux programmes:
Ils peuvent être combinés ensemble (la sortie de CTS256A-AL2 sert d'entrée pour SP0256):
CTS256A-AL2 -I:README.MD | SP0256 -I-
Ce projet peut actuellement être construit à l'aide de Microsoft Visual Studio 2005 à l'aide du fichier de solution SP0256_VS2005.sln , ou Microsoft Visual Studio 2017 et à l'aide du fichier de solution SP0256.sln .
Émulateur SP0256 (TM)
GI / Microchip SP0256-AL2 Narrateur (TM) et SP0256-012 Intellivoice (TM) Provesseur de vocation
Ce programme émule avec précision le micro-séquenceur SP0256 et le générateur de voix, en utilisant les images ROM de la parole originales intégrées. Le générateur de voix se compose d'un générateur d'impulsions et de bruit glottal et d'un filtre numérique à 12 pôles.
Deux versions de la ROM de la parole sont incluses:
Spécifiez -mAL2 (par défaut) pour sélectionner la ROM de la parole du narrateur AL2 (TM), ou -m012 pour sélectionner la ROM de la parole IntelliVoice.
L'entrée peut être STDIN ou un fichier. Spécifiez -i- pour utiliser STDIN, ou -iFilename pour utiliser un fichier d'entrée. Le format peut être ASCII (les étiquettes allophone ou pause pour AL2, soit les mots de la parole pour 012), soit binaire (adresses 6 bits - les bits supérieurs sont masqués). Spécifiez -t pour le mode texte ASCII (par défaut) ou -b pour le mode binaire.
La sortie peut être soit le périphérique de sortie sonore par défaut, soit un fichier .wav. Spécifiez -wWavFile pour écrire le flux audio sur wavfile. Spécifiez -wFreq:WavFile pour générer un fichier wav à une fréquence d'échantillonnage autre que la valeur par défaut. Le format de fichier d'onde audio sera mono PCM 8 bits.
La fréquence XTAL peut également être spécifiée via l'option -xXtal , où 1000000 <= XTAL <= 5000000. La valeur par défaut pour XTAL est 3120000 (3,12 MHz).
La fréquence d'échantillonnage audio est donnée par l'expression Freq = Xtal / 312 . Ainsi, pour la fréquence XTAL par défaut de 3,12 MHz, la fréquence d'échantillonnage audio sera de 10 kHz. Cette fréquence d'échantillonnage audio sera la fréquence par défaut du fichier .wav si aucune autre valeur n'est spécifiée via l'option -w .
Certains drapeaux Echo / Verbose / Debogging sont fournis:
-e faire écho aux allophones, des pauses ou des mots générés;-v pour afficher plus d'informations sur les allophones, les pauses ou les mots générés;-dD pour tracer les instructions de micro-séquenCER et permettre une seule étape;-dT pour tracer les instructions de micro-séquenCer;-dS pour afficher les formes d'onde générées.Usage:
sp0256 [-m{AL2|012}] [-e] [-v] [-xClockFreq] [ -t | -b | -a ] [ -i{inFile|-} ] [-wWavFile]
-mAL2 Select Narrator(tm) speech ROM
-m012 Select Intellivoice speech ROM
-e Echo speech elements (words or allophones)
-v Verbose mode
-d[D|S|T] Set debug for [D]ebug, [S]amples or [T]race
-xClkFreq Xtal Clock Frequency in Hz (range: 1000000..5000000)
-iInFile Say File
-i- Say from stdin: echo ... | sp0256 -i-
-t Text Mode (labels) (default)
-b Binary Mode (addresses)
-a Pronounce all words or allophones in speech ROM
-wWavFile Create .wav file
CTS256A-AL2 (TM)
Processeur de discours de code à dispection de code à dispens
Ce programme émule avec précision la puce complémentaire CTS256A-AL2 du processeur vocal SP0256-AL2, en utilisant l'image ROM originale de code à dispection d'origine.
L'entrée peut être STDIN, soit un fichier, soit la ligne de commande. Spécifiez -i- pour utiliser STDIN, -iFilename pour utiliser un fichier d'entrée, ou mettez le texte à la fin de la ligne de commande, après les options.
La sortie est stdout. Il peut être tué sur SP0256.exe afin de prononcer directement les allophones converties à partir du texte d'entrée. Le format peut être ASCII (les étiquettes allophone ou pause), soit binaire (adresses 6 bits Or-Ed avec 0x40). Spécifiez -t pour le mode texte ASCII (par défaut) ou -b pour le mode binaire.
Certains drapeaux Echo / Verbose / Debogging sont fournis:
-e pour faire écho au texte d'entrée;-v pour faire écho aux étiquettes allophones converties;-d pour entrer le mode de débogage. Le CTS256A-AL2 génère normalement la sortie pour «OK» au démarrage. Spécifiez -n pour supprimer cela.
Usage:
cts256a-al2 [-iFile] [-t] [-b] [-e] [-d] [-v] [-n] [text]
-iFile Optional input filename
-t Select text output (allophone labels) (default)
-b Select binary output (range 40..7F)
-e Echo input text
-v Verbose mode
-d Debug mode
-n Suppress 'O.K.'
-- Stop parsing options
text Optional text to convert to speech
Si aucun -ifile et aucun text n'est spécifié sur la ligne de commande, lit l'entrée de stdin.
Exemple: echo Hello World. | CTS256A-AL2.exe -n | SP0256.exe -i-
Fiche technique: http://bitsavers.informatik.uni-stuttgart.de/components/gi/speech/general_instrument_-_an-0505d_-_cts256a-al2_code-to-disech_chipset_-_10dec1986.pdf
Image de la ROM binaire: https://github.com/palazzol/tms7xxx_dumper/blob/main/software/dumps/cts256a.bin à partir du projet GitHub: https://github.com/palazzol/tms7xxx_dumper
http://spatula-city.org/~im14u2c/sp0256-al2/
Cette image a été inversée d'octets. Il doit être déversé afin d'incorporer cela dans iVoice.c dans ivoice.c dans le projet https://github.com/libretro/freeintv.
http://spatula-city.org/~im14u2c/intv/tech/ivoice.html
Notez que le masque ROM est spécifique à IntelliVoice, pas le SP0256-AL2!
https://github.com/libretro/freeintv
Notez que le masque ROM est spécifique à IntelliVoice, pas le SP0256-AL2!
Page d'accueil: https://www.cpcwiki.eu/index.php/sp0256
Générateur de voix: https://www.cpcwiki.eu/index.php/sp0256_voice_generator
Alllophones: https://www.cpcwiki.eu/index.php/sp0256_allophones
Ensemble d'instructions: https://www.cpcwiki.eu/index.php/sp0256_instruction_set
Timinations mesurées: https://www.cpcwiki.eu/index.php/sp0256_measured_timings
Microchip, Inc. détient les droits d'auteur de la conception SP0256-AL2 et de l'image ROM, et à l'image ROM CTS256A-AL2. Microchip conserve les droits de propriété intellectuelle sur les algorithmes et les données que les dispositifs imités SP0256 et CTS256A-AL2 contiennent.
Joe Zbiciak, auteur de l'émulateur IntelliVoice en C, sur lequel est basé sur cet émulateur SP0256.
Frank Palazzolo, qui a conçu un extracteur pour jeter les ROM masquées des appareils basés sur TMS7000, et a publié l'image binaire Rom cts256a.bin .