yutone voicetx syn6988テキストから音声モジュール用のマイクロパイソンライブラリ。
またはデモオーディオダウンロード:Syn6988-Micropython-Demo.mp3
次のテキストを「読み取ります」:
[g2]Hello! [g1]你好![g2]
I can speak in English, and also in Chinese:
[g1]千里之行,始于足下。[g2]
which means: a journey of five hundred kilometres starts with the first step
[s1]I can speak slowly, [s9] and I can speak very fast[s5]
[v5]I can be [v10]loud or [v1]very quiet. [v5]
I can use [t1]low tones [t5]or [t8]high tones[t5]
[d][g0]my work here is done [x1]soundy[d]

Syn6988は、Aliexpressやその他のベンダーで簡単に利用可能ないくつかの音声シンセサイザー /テキストツースピーチ(TTS)モジュールの1つです。それは印象的です:
音素に頼らずに明確な英語のスピーチを生み出します。
ラインアウト /ヘッドフォンジャックと小さなスピーカー出力があり、どちらも非常にきれいなオーディオを備えています。
非同期シリアルまたはSPI(後者はここでは試みられていない)を介して、簡単にインターフェイスします。
音量、ピッチ、音声速度にある程度の柔軟性があります(ただし、それはDectalkではありません)。
アラートトーンの大きなライブラリが組み込まれています。
それは高価ではありません、周りにいるのですか? 15ドル。
もちろん、欠点があります:
これまでのドキュメントはすべて中国語です。
わずかにロボットな配信を備えた、かすかにアクセントの女性の声が1つしかありません。
注文したボードを取得できない場合があります!このボードは、syn6988が明確にある場合、XFS5152チップを持っていると売られました。
ベンダーを推奨するのは難しいです。彼らがsyn6988を備えたボードを販売していることを保証することはできません。ベンダーの説明にSyn6988(異なる機能を備えたChips syn6288とsyn6658が類似している)と、ボードにはクリアSyn6988シルクスクリーンが付いたチップがあることを確認してください。 PCB SilkscreenでSyn658と言う販売用のボードをいくつか見ましたが、画像と説明にSyn6988を持っています。
syn6988は、ロジックとパワーの両方の3.3 Vデバイスです。 TTSのビジーステータスを監視するために、2線型UART接続と追加のデジタル入力ピンが必要です。
SYN6988 MicroPython Board Raspberry Pi Pico
========= =================== ===================
RDY Digital Input GPIO 2
RXD UART TXD GPIO 0 (UART 0 TX)
TXD UART RXD GPIO 1 (UART 0 RX)
GND Ground Any GND pin
3V3 3V3 supply 3V3(OUT)
Syn6988は、シリアル速度選択ブロックの抵抗の配置によって定義された固定シリアルポートレートを使用します。鉱山は9600ボーに固定されています。
Raspberry Pi Picoの場合、これらの接続は次のコードでサポートされる場合があります。
ser = machine . UART ( 0 , baudrate = 9600 , bits = 8 , parity = None , stop = 1 )
busyPin = machine . Pin ( 2 , machine . Pin . IN , machine . Pin . PULL_UP )オーディオ出力は、ヘッドフォン /ラインアウトジャックを介して、またはスピーカーピンを介して行われます。この出力は増幅されていません。スピーカーピンから快適なボリュームで非常に小さな楕円形のスピーカーを運転することができますが、大型のヒーホンは非常に静かになる可能性があります。
私が持っているボードは、リモートでブレッドボードに優しいものではありません。私は、2つの6ピンのArduinoスタッキングヘッダーを取り、ピンを曲げて直角に戻し、2つのヘッダーを背中合わせに接着することでそれを解決しました。これにより、ブレッドボード内の中央のトラフを橋渡しするヘッダーブロックが得られ、Syn6988ボードが中央に座ることができます。

ボードが正しく接続されている場合、TTSが話していないときに赤い既製のLEDが点灯します。このLEDは、TTSが話しているときに消え、スピーチが始まるとすぐにRDYピンが低く(約0.1〜0.7秒)、スピーチが終了すると高くなります。
上記の初期化コードが使用されている場合、次のMicropythonはボードからかなり静かな「こんにちは」を話します。
import syn6988
s = syn6988 . SYN6988 ( ser , busyPin )
s . speak ( "[v1]hello" )このモジュールには、メソッドとプロパティがほとんどありません。
speak ( string ) - ttsに文字列を送信します。出力は、埋め込まれたテキストコマンドで形成できます。従来の漢字を含むUnicodeテキストを受け入れます。英語以外や中国語以外の言語を試みるという非常に貧弱な仕事をします。
block = true | FALSE-デフォルトでは、音声はブロッキングモードで放出されます。つまり、TTSがそれが終了することを示すまでspeak()メソッドは戻りません。 block = Falseが設定されている場合、 speak()すぐに戻りますが、TTSはまだ話し合い、待機がプログラマーに任されます。
ISBUSY () - 非ブロッキングモードで呼び出された場合、 isBusy() TTSが話している間にtrueを返します。これは、音声の中断を防ぐために使用できます。ブロッキングモードで呼び出された場合、常にfalseを返します。
syn6988は[]に囲まれたコマンドによって制御されます。これらの多くがあり、私はそれらすべてを理解していません。私はそれらのいくつかをtest-syn6988.pyに入れました。簡単に言えば:
[d] - TTSを標準モードにリセットします。アラートサウンドのいずれかを呼び出した後に役立ちます。
[g0] - 自動言語推測。 [g1] - 中国語の好み。 [g2] - 英語の好み。中国モードで話されている英語には奇妙なイントネーションがありますが、英語モードで話されている中国語は正しく検出されない場合があります。
[p*] - 一時停止、たとえば[p500] 500ミリ秒間一時停止します。
[s*] - 音声レート: [s0] [s10]まで最も遅い。
[t*] - トーン/ピッチ: [t0]最低から[t10]最高。
[x0] / [x1] - 「sound」から始まる文字列を数百の異なるトーン、チャイム、アラームの1つとして解釈します。たとえば[x1]soundy[d]かなり心地よいチャイムを演奏します。このコマンドまたは予期しない結果が発生した後、 [d]を使用することが重要です。サウンドテーブルのリファレンスはこちらです。Syn-6988 Micropythonとのスピーチ - 鶏肉を見ました…
[v*] - ボリューム: [v0]サイレント、 [v1]最も静かな[v10]最大。
Syn6988は、幅広い入力エンコーディングを受け入れますが、どれもMicropythonによってサポートされていません。ただし、UTF16-BE(CHARごとに2バイト、BOM、BOM、 b'x00hx00ex00lx00lx00o' BYTEを最初にサポートしています。 UTF-16BEエンコードされたデータがdata_bytesにある場合、定義します
tx_len = len ( data_bytes ) + 2Syn6988は、シリアルポート上の次のバイトストリームを受け入れ、それを話しようとします。
0xFD, tx_len // 256, tx_len % 256, 0x01, 0x04, data_bytes
データ文字列はあまり長くないはずです:おそらく4096文字未満の何か。ボードはテキストを処理するのに最大700ミリ秒かかることがあるため、テキストがすべて話されるように長い間一時停止します。
Stewart Russell -Scruss.com -aka @scruss @xoxo.zone
mit。あなたがこれを改善するならば、私にこれをより良くすることができるように私に知らせてください。
UTF-8-> UTF-16BEコードは機能しますが、改善できると感じています。しかし、それは私が理解できるものをとどまらなければなりません。
ブロッキングモードで読むときに処理されるのに十分な長さを待っていないため、本当に長いテキストがスキップされる可能性はほとんどありません。
このコード(可能であれば)を一般化して、Syn6288、Syn658、XFS5152チップセットで動作します。これらのいくつかは注文しています。
yutone voicetx syn6988ドキュメント(中国語のみ):语音合成芯语音合成芯-syn6988
Cpythonからこのボードを運転しようとする私の初期の試み:Syn6988モジュールを使用したPythonからのスピーチ - 鶏肉を見ました…。これは音を生み出しますが、実際には誤って運転しています。しかし、それでも機能します。プログラミングリファレンスの自動翻訳コピーがありますが、これは私が仕事をしなければならなかったすべてです。
リチャード・ブラウティガンの詩はすべて、愛情のこもった恵みの機械で見守られています。 soundcloud。