2024/09/20(金) [n年前の日記]
#1 [python][dtm] pyttsx3を試用
pyttsx3は、Pythonを使って音声合成を出力するモジュール(ライブラリ)。
気になったので少し試用してみた。動作確認環境は以下。
- Windowsの場合、SAPI5 を利用して音声合成する。
- Linuxの場合、espeak (espeak-ng) を利用して音声合成する。
気になったので少し試用してみた。動作確認環境は以下。
- Windows10 x64 + Python 3.10.10 64bit + pyttsx3 2.97
- Ubuntu Linux 22.04 LTS + Python 3.10.12 64bit + pyttsx3 2.95 + espeak-ng 1.50
◎ インストール :
Windows + Python 3.x なら、以下でインストールできる。
Linux上では注意が必要。現行バージョンは 2.97 だけど、Linux上では pyttsx3 2.97 はバグっていて、音声が途中で途切れてしまう。pyttsx3 2.95 まで戻したら正常に動作した。
Python 2.7.x上で使う場合も注意が必要。2024/09/19の時点では、Python 2.7.18 32bit上で pyttsx3 を使いたい場合、pyttsx3 2.6 をインストールしないと使えなかった。
_pyttsx3 2.6 : Python Package Index
pip install pyttsx3 or python -m pip install pyttsx3
Linux上では注意が必要。現行バージョンは 2.97 だけど、Linux上では pyttsx3 2.97 はバグっていて、音声が途中で途切れてしまう。pyttsx3 2.95 まで戻したら正常に動作した。
python -m pip uninstall pyttsex3 python -m pip install pyttsx3==2.95
Python 2.7.x上で使う場合も注意が必要。2024/09/19の時点では、Python 2.7.18 32bit上で pyttsx3 を使いたい場合、pyttsx3 2.6 をインストールしないと使えなかった。
_pyttsx3 2.6 : Python Package Index
python -m pip install pyttsx3==2.6
◎ espeakについて :
Linux の場合 espeak を使って音声合成するが、espeak は日本語をサポートしていない。espeak-ng なら日本語をサポートしているのでそちらを使うのも手。ただし、libespeak-ng.so.1 を libespeak.so.1 として使えるようにリンクを張らないといけない。
sudo apt install espeak-ng libespeak-ng-dev libespeak-ng1 cd /usr/lib/x86_64-linux-gnu ln -s libespeak-ng.so.1 libespeak.so.1
◎ espeakとedge-ttsの音声サンプル :
せっかくだから espeak (espeak-ng) と edge-tts の音声サンプルを載せておく。
Ubuntu Linux 22.04 LTS + espeak-ng 1.50 の出力サンプル。
espeak_ng_hello.ogg
Windows10 x64 22H2 + edge-tts 6.1.12 の出力サンプル。
edge_tts_hello.ogg
espeak はフォルマント音声合成方式のせいか、なんだか機械的な声と言うか…。
Ubuntu Linux 22.04 LTS + espeak-ng 1.50 の出力サンプル。
espeak-ng "Hello world. Sally sells seashells by the seashore." -v "English (America)+f3" -s 150 -w espeak_ng_hello.wav
espeak_ng_hello.ogg
Windows10 x64 22H2 + edge-tts 6.1.12 の出力サンプル。
edge-tts -t "Hello world. Sally sells seashells by the seashore." -v en-US-AriaNeural --write-subtitles edge_tts_hello.vtt --write-media edge_tts_hello.mp3
edge_tts_hello.ogg
espeak はフォルマント音声合成方式のせいか、なんだか機械的な声と言うか…。
[ ツッコむ ]
#2 [windows] Windows10の音声合成データの追加
日本語版 Windows10 x64 22H2上では、音声合成用のデータとして最初から以下の2つが入ってるように見えるのだけど。
「ナレーター」の設定画面から音声データを追加できるらしい。
「英語(アイルランド)」「英語(オーストラリア)」「英語(カナダ)」「英語(英国)」などを追加してみた。この状態にすると、選べる音声データが増えた。
TTS_MS_JA-JP_HARUKA_11.0 TTS_MS_EN-US_ZIRA_11.0
「ナレーター」の設定画面から音声データを追加できるらしい。
- Ctrl + Win + N キーを押すと、ナレーターの画面が開く。
- ナレーターの声をカスタマイズする、のすぐ下に、音声を追加する、という項目があるのでクリック。
- 音声認識の設定画面が開くので、音声の管理 → 音声の追加、をクリック。
「英語(アイルランド)」「英語(オーストラリア)」「英語(カナダ)」「英語(英国)」などを追加してみた。この状態にすると、選べる音声データが増えた。
TTS_MS_JA-JP_HARUKA_11.0 TTS_MS_EN-US_DAVID_11.0 TTS_MS_EN-US_ZIRA_11.0 TTS_MS_EN-GB_HAZEL_11.0
[ ツッコむ ]
以上、1 日分です。