Procesador de voz GI/Microchip SP0256 y emulación de procesador de texto a voz CTS256A AL2
Basado en el emulador Intellivoice por Joe Zbiciak.
Versión 0.0.6-alfa.
Se puede encontrar un prelasegar de los ejecutables (Win32-X86) en 'versiones'.
-r ;SP0256_VS2005.sln para compatibilidad con VS2005SP0256_VS2005.sln para construir bajo VS2005;SP0256.sln para construir en VS2017 (o superior - para verificar).-w[wavFreq]:file.wav ;-DT = Trace; -DD = depuración de un solo paso, -DS = muestras;Dos emuladores en este proyecto:
Dos programas:
Se pueden combinar juntos (la salida de CTS256A-AL2 sirve como entrada para SP0256):
CTS256A-AL2 -I:README.MD | SP0256 -I-
Este proyecto se puede construir actualmente utilizando Microsoft Visual Studio 2005 utilizando el archivo de solución SP0256_VS2005.sln , o Microsoft Visual Studio 2017 y en adelante utilizando el archivo de solución SP0256.sln .
Emulador SP0256 (TM)
Narrador GI/Microchip SP0256-AL2 (TM) y SP0256-012 Inteplavoice (TM) Speech Processor
Este programa emula con precisión el micro-secuenciador SP0256 y el generador de voz, utilizando las imágenes de ROM de discursos originales incrustadas. El generador de voz consta de un generador de pulso glotal y ruido, y un filtro digital de 12 polos.
Se incluyen dos versiones del discurso ROM:
Especifique -mAL2 (predeterminado) para seleccionar la ROM del discurso del narrador AL2 (TM), o -m012 para seleccionar la ROM del discurso IntelliVoice.
La entrada puede ser stdin o un archivo. Especifique -i- para usar stdin o -iFilename para usar un archivo de entrada. El formato puede ser ASCII (el alófono o las etiquetas de pausa para Al2, o las palabras de habla para 012), o binarias (direcciones de 6 bits: los bits más altos están enmascarados). Especifique -t para el modo de texto ASCII (el valor predeterminado) o -b para el modo binario.
La salida puede ser el dispositivo de salida de sonido predeterminado o un archivo .wav. Especifique -wWavFile para escribir la transmisión de audio a Wavfile. Especifique -wFreq:WavFile para generar un archivo WAV en una frecuencia de muestreo que no sea el valor predeterminado. El formato de archivo de onda de audio será MONO PCM de 8 bits.
La frecuencia XTal también se puede especificar a través de la opción -xXtal , donde 1000000 <= xtal <= 5000000. El valor predeterminado para Xtal es 3120000 (3.12 mHz).
La frecuencia de muestreo de audio viene dada por la expresión Freq = Xtal / 312 . Entonces, para la frecuencia XTAL predeterminada de 3.12 MHz, la frecuencia de muestreo de audio será de 10 kHz. Esta frecuencia de muestreo de audio será la frecuencia predeterminada para el archivo .wav si no se especifica ningún otro valor a través de la opción -w .
Se proporcionan algunas banderas de eco/verbose/depuración:
-e para hacer eco de los alófonos generados, pausas o palabras;-v para mostrar más información sobre los alófonos generados, pausas o palabras;-dD para rastrear las instrucciones de la secuencia de micro y permitir un solo paso;-dT para rastrear las instrucciones del micro secuenciar;-dS para mostrar las formas de onda generadas.Uso:
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
Emulador CTS256A-AL2 (TM)
GI/MICROCHIP CTS256A-AL2 (TM) Procesador de voz de código a voz
Este programa emula con precisión el chip complementario CTS256A AL2 del procesador de voz SP0256-AL2, utilizando la imagen ROM original de código a voz original.
La entrada puede ser stdin, un archivo o la línea de comando. Especifique -i- Usar stdin, -iFilename para usar un archivo de entrada o colocar el texto al final de la línea de comando, después de las opciones.
La salida es stdout. Se puede canalizar a SP0256.exe para pronunciar directamente los alófonos convertidos del texto de entrada. El formato puede ser ASCII (el alófono o las etiquetas de pausa), o binarias (direcciones de 6 bits OR con 0x40). Especifique -t para el modo de texto ASCII (el valor predeterminado) o -b para el modo binario.
Se proporcionan algunas banderas de eco/verbose/depuración:
-e para hacer eco del texto de entrada;-v para hacer eco de las etiquetas de alófono convertido;-d para ingresar al modo de depuración. El CTS256A-AL2 normalmente genera la salida para 'OK' en el inicio. Especificar -n para suprimir eso.
Uso:
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 no se especifica no -ifile y no se especifica ningún text en la línea de comando, lee la entrada de Stdin.
Ejemplo: echo Hello World. | CTS256A-AL2.exe -n | SP0256.exe -i-
Hoja de datos: http://bitsavers.informatik.uni-stuttgart.de/components/gi/speech/general_instrument_-_an-0505d_-_cts256a-al2_code-to-speech_chipset_-_10dec1986.pdf
Imagen de ROM binaria: https://github.com/palazzol/tms7xxx_dumper/blob/main/software/dumps/cts256a.bin del proyecto Github: https://github.com/palazzol/tms7xxxxx_dumper
http://spatula-city.org/~im14u2c/sp0256-al2/
Esta imagen ha sido revertida de byte. Debe revertirse para incorporar esto en IVOICE.C en ivoice.c en el proyecto https://github.com/libreto/freeIntv.
http://spatula-city.org/~im14u2c/intv/tech/ivoice.html
¡Tenga en cuenta que la ROM de máscara es específica de Intellivoice, no el SP0256-AL2!
https://github.com/libreto/freeintv
¡Tenga en cuenta que la ROM de máscara es específica de Intellivoice, no el SP0256-AL2!
Página principal: https://www.cpcwiki.eu/index.php/sp0256
Generador de voz: https://www.cpcwiki.eu/index.php/sp0256_voice_generator
Alófonos: https://www.cpcwiki.eu/index.php/sp0256_allophones
Conjunto de instrucciones: https://www.cpcwiki.eu/index.php/sp0256_instruction_set
Tiempos medidos: https://www.cpcwiki.eu/index.php/sp0256_measured_timings
Microchip, Inc. mantiene los derechos de autor a la imagen de diseño y ROM SP0256-AL2, y a la imagen ROM CTS256A AL2. Microchip conserva los derechos de propiedad intelectual de los algoritmos y datos que contienen los dispositivos emulados SP0256 y CTS256A-AL2.
Joe Zbiciak, autor de The Intellivoice Emulator in C Language, en el que se basa este emulador SP0256.
Frank Palazzolo, quien diseñó un extractor para tirar las ROM enmascaradas de los dispositivos basados en TMS7000, y publicó la imagen binaria ROM cts256a.bin .