Gi/Microchip SP0256音声プロセッサとCTS256A-AL2テキストからスピーチプロセッサエミュレーション
Joe ZbiciakによるIntellivoiceエミュレーターに基づいています。
バージョン0.0.6-alpha。
実行可能ファイルの事前リリース(Win32-X86)は、「リリース」の下で見つけることができます。
-r ;SP0256_VS2005.sln VS2005との互換性のためのSLNSP0256_VS2005.slnを使用して、VS2005の下で構築します。SP0256.slnを使用して、VS2017(またはそれ以上 - を確認するために構築します)。-w[wavFreq]:file.wav ;-DT = trace; -DD =シングルステップデバッグ、 -DS =サンプル。このプロジェクトの2つのエミュレーター:
2つのプログラム:
それらを組み合わせることができます(CTS256A-AL2からの出力は、SP0256の入力として機能します):
CTS256A-AL2 -I:README.MD | SP0256 -I-
このプロジェクトは、現在、Microsoft Visual Studio 2005を使用してソリューションファイルSP0256_VS2005.slnを使用して構築できます。または、Microsoft Visual Studio 2017を使用して、ソリューションファイルSP0256.slnを使用して以降に構築できます。
SP0256(TM)エミュレーター
Gi/Microchip SP0256-AL2ナレーター(TM)およびSP0256-012 Intellivoice(TM)音声プロセッサ
このプログラムは、組み込みの元の音声ROM画像を使用して、SP0256マイクロシーケンサーと音声ジェネレーターを正確にエミュレートします。音声ジェネレーターは、声門パルスとノイズジェネレーターと12極デジタルフィルターで構成されています。
音声ROMの2つのバージョンが含まれています。
-mAL2 (デフォルト)を指定して、AL2ナレーター(TM)音声ROMを選択するか-m012選択して、Intellivoice Speech ROMを選択します。
入力は、stdinまたはファイルのいずれかです。 stdinを使用する-i-または-iFilename使用するには、入力ファイルを使用します。この形式は、ASCII(AL2のアロフォンまたは一時停止ラベル、または012のスピーチワード)、またはバイナリ(6ビットアドレス - より高いビットがマスクされています)のいずれかです。 ASCIIテキストモード(デフォルト)に-tを指定し、バイナリモードに-b指定します。
出力は、デフォルトのサウンド出力デバイスまたは.WAVファイルのいずれかです。 -wWavFileを指定して、音声ストリームをWavfileに書き込みます。 -wFreq:WavFileを指定して、デフォルト以外のサンプリング頻度でWAVファイルを生成します。オーディオウェーブファイル形式は、8ビットPCMモノになります。
XTAL周波数は、Option -xXtalを介して指定することもできます。ここで、1000000 <= Xtal <= 5000000。XTALのデフォルト値は3120000(3.12 MHz)です。
オーディオサンプリング周波数はFreq = Xtal / 312式によって与えられます。したがって、3.12 MHzのデフォルトのXTAL周波数の場合、オーディオサンプリング周波数は10 kHzになります。このオーディオサンプリング周波数は、 -wオプションを介して他の値が指定されていない場合、.wavファイルのデフォルトの頻度になります。
いくつかのエコー/冗長/デバッグフラグが提供されます:
-e 、生成されたアロフォン、一時停止、または単語をエコーします。-v生成されたアロフォン、一時停止、または単語に関する詳細情報を表示する。-dDマイクロシーケンサーの命令をトレースし、シングルステップを許可します。-dTマイクロシーケンサーの命令をトレースします。-dS生成された波形を表示します。使用法:
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)エミュレーター
Gi/Microchip CTS256A-AL2(TM)コードからスピーチへの音声プロセッサ
このプログラムは、埋め込まれた元のコードからスピーチROM画像を使用して、SP0256-AL2音声プロセッサのCTS256A-AL2コンパニオンチップを正確にエミュレートします。
入力は、stdin、ファイル、またはコマンドラインのいずれかです。 stdin、 -iFilename -i-するには、入力ファイルを使用するか、オプションの後にコマンドラインの最後にテキストを配置します。
出力はstdoutです。入力テキストから変換されたアロフォンを直接発音するために、SP0256.exeに配管できます。この形式は、ASCII(アロフォンまたは一時停止ラベル)、またはバイナリ(0x40で6ビットアドレスOR-ED)のいずれかです。 ASCIIテキストモード(デフォルト)に-tを指定し、バイナリモードに-b指定します。
いくつかのエコー/冗長/デバッグフラグが提供されます:
-e入力テキストをエコーします。-v変換されたアロフォンラベルをエコーします。-dデバッグモードに入る。 CTS256A-AL2は通常、起動時に「OK」の出力を生成します。それを抑制するために-nを指定します。
使用法:
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
コマンドラインに-ifileおよびtextが指定されていない場合、stdinから入力を読み取ります。
例: echo Hello World. | CTS256A-AL2.exe -n | SP0256.exe -i-
データシート:http://bitsavers.informatik.uni-stuttgart.de/components/gi/speech/general_instrument_-_an-0505d_-__cts256a-al2_code-tepeech_chipset_-_10dec1986.pdf
バイナリROM画像:https://github.com/palazzol/tms7xxx_dumper/blob/main/software/dumps/cts256a.bin from the githubプロジェクト:https://github.com/palazzol/tms7xxx_dumper
http://spatula-city.org/~im14u2c/sp0256-al2/
この画像はバイトリバーされています。プロジェクトhttps://github.com/libretro/freeintvのivoice.cのivoice.cにこれを組み込むために、逆に逆にする必要があります。
http://spatula-city.org/~im14u2c/intv/tech/ivoice.html
マスクROMは、SP0256-AL2ではなく、インテリット固有であることに注意してください!
https://github.com/libretro/freeintv
マスクROMは、SP0256-AL2ではなく、インテリット固有であることに注意してください!
フロントページ:https://www.cpcwiki.eu/index.php/sp0256
音声ジェネレーター:https://www.cpcwiki.eu/index.php/sp0256_voice_generator
アロフォン:https://www.cpcwiki.eu/index.php/sp0256_allophones
命令セット:https://www.cpcwiki.eu/index.php/sp0256_instruction_set
測定されたタイミング:https://www.cpcwiki.eu/index.php/sp0256_measured_timings
Microchip、Inc。は、著作権をSP0256-AL2設計とROM画像、およびCTS256A-AL2 ROM画像に保持しています。 Microchipは、エミュレートされたデバイスSP0256およびCTS256A-AL2が含むアルゴリズムに対する知的財産権を保持します。
このSP0256エミュレーターの基になっているC言語のIntellivoiceエミュレーターの著者であるJoe Zbiciak。
TMS7000ベースのデバイスのマスクされたROMを捨てるために抽出器を設計し、ROMバイナリ画像cts256a.binを公開したフランクパラッツォーロ。