Linuxターミナルから音声出力を得る5つの方法

私は、ターミナルを離れずにさまざまなタスクを達成するのに役立つ楽しく興味深いLinuxコマンドやツールを常に探しています。たとえば、Linuxターミナルがあなたに話しかけることを可能にするいくつかのコマンドラインツールがあります。これらのツールを探求し、ターミナルに声を与えましょう。
1. ESpeak
eSpeakは、軽量でオープンソースの音声合成器で、長年の間人気があります。eSpeakが際立っているのは、その速度と低リソース使用です。さらに、複数の言語とアクセントを含んでおり、国際的なユーザーにとって便利です。
eSpeakをセットアップするのは簡単です。ほとんどのDebian/Ubuntuベースのシステムでは、ターミナルを開いて次のように入力するだけです:
sudo apt install espeak
他のディストリビューションでは、DNF、YUM、またはPacmanなどのシステムのパッケージマネージャを使用してください。
インストールが完了したら、eSpeakの使用は非常に簡単です。espeakと、言わせたいテキストを入力するだけです:
espeak "あなたのLinuxターミナルからこんにちは!"これで完了です!あなたのコンピュータは今、あなたに(またはあなたが入力したもの)を大声で挨拶するはずです。システム内のどこかに保存されているテキストファイルの内容を音読したい場合は、-fオプションとファイル名を使用してください。
espeak -f filename.txtピッチ(-p)や速度(-s)などのパラメータを調整して、ロボットのようでありながらカスタマイズ可能な出力を得ることもできます。
espeak "タスクは正常に完了しました" -p=30 -s=150デフォルトの声が気に入らないですか?eSpeakは異なる声をサポートしています。--voicesオプションを使用して利用可能な声をリストできます:
espeak --voices
特定の声を選択した後、eSpeakコマンドで声の名前を指定できます:
espeak -v en-us "こんにちは、これはeSpeakです"さらに、コマンドの出力を音声に直接パイプすることもできます:
ls -l | espeak --stdin注意:他にも多くのオプションやカスタマイズがあります。すべての利用可能なオプションを確認するには、espeak --helpコマンドでeSpeakツールのマニュアルページを確認することをお勧めします。
2. Festival
高度にカスタマイズ可能なツールを探していますか?Festivalはまさにあなたが必要とするものかもしれません。さまざまな声を持つ完全なテキストから音声へのシステムを提供します。eSpeakよりも高度で、声や音声合成に対するより大きな制御を提供します。
Festivalは、Linuxシステムのデフォルトのパッケージマネージャを使用してインストールできます。DebianやUbuntuユーザーはAPTパッケージマネージャから入手できます。
sudo apt install festival基本的なテキストから音声への使用のために、コマンドラインからFestivalを使用するには、次のように実行します:
echo "Festivalは強力なテキストから音声へのシステムです。" | festival --ttsさらに、次のようにして任意のテキストファイルをFestivalで読むことができます:
festival --tts textfile.txtFestivalのコマンドラインツールは、声のカスタマイズ、発音の調整などを可能にします。さまざまなオプションの詳細については、festival --helpマニュアルページを確認してください。音声合成に対するより大きな制御を望む場合は、完璧な代替手段です。
3. Google Speech (gTTS)
従来のオフラインツールとは異なり、このオプションはクラウドを活用し、Googleの強力な音声合成機能を利用します。明瞭な発音と自然な声を持つGoogle Speechは、高品質な出力を重視し、インターネット接続を気にしない人に最適です。
ただし、eSpeakのような直接的なコマンドではありません。代わりに、gTTS(Google Text-to-Speech)というPythonライブラリを使用します。まず、Pythonとpipx(Pythonのパッケージインストーラ)がインストールされていることを確認してください。もしそうであれば、gTTSのインストールは次のように簡単です:
pipx install gttsまた、mpg123やVLCのようなオーディオプレーヤーが必要です。プレーヤーがない場合は、次のようにしてインストールできます:
sudo apt install mpg123gTTSとmpg123がインストールされたら、ターミナルでワンライナーを使用してGoogleの声を話させることができます:
gtts-cli "こんにちは、Linuxへようこそ!" --output.txt temp.mp3 && mpg123 temp.mp3利用可能なすべての言語をリストするには、--allオプションを使用し、その後、--langオプションで言語を指定できます。たとえば、フランス語に切り替えるには、--lang frオプションを--outputオプションの前に使用します:
gtts-cli "こんにちは、Linuxへようこそ!" --lang fr --output.txt temp.mp3 && mpg123 temp.mp3Google Speechは、より簡単なツールよりも少し設定が必要ですが、音声品質が優先される場合、gTTSは素晴らしい選択肢です!
4. Say (Speech Dispatcher)
macOSを使用したことがあるなら、sayコマンドに馴染みがあるかもしれません。これは標準のLinuxコマンドではありませんが、Speech Dispatcherとそのspd-sayコマンドを使用することで同様の機能を実現できます。
spd-sayを動作させるには、Speech Dispatcher自体をインストールし、すでに持っていない場合はeSpeakのような音声エンジンをインストールする必要があります。Debian/Ubuntuで入手するには、デフォルトのAPTパッケージマネージャを使用します:
sudo apt install speech-dispatcherSpeech Dispatcherは、さまざまな音声合成器のための統一インターフェースとして機能し、さまざまなTTSエンジン(eSpeakやFestivalを含む)を一貫したコマンド構造で使用できるようにします。これにより、スクリプトを大幅に変更することなくTTSエンジンを切り替えることが容易になります。
インストールが完了したら、spd-sayを使用してLinuxターミナルに話させることができます:
spd-say "こんにちは、Linuxへようこそ!"このコマンドは、Speech Dispatcherを使用して、Speech Dispatcherに設定されたデフォルトの音声エンジンを使用してテキストを話すはずです。
また、-r、-p、-vオプションを使用して、音声の速度、ピッチ、音量を調整することもできます。追加のカスタマイズオプションにアクセスしたい場合は、spd-say --helpを実行してマニュアルページを確認してください。
注意:与えられたテキストを音声に変換し、サウンドデバイスを通じて再生するGNUstepツールのsayもあります。残念ながら、このツールには利用可能なオプションが限られており、高度なカスタマイズオプションはありません。
5. Flite
eSpeakよりもさらに軽量なものを探していますか?Fliteをご紹介します。これは、音声合成のための小型で高速なランタイムエンジンとして設計されています。基本的にはFestivalの小型版であり、リソースが限られた状況、たとえば組み込みシステムや古いコンピュータに最適です。
インストールには、Apt、Dnf、Pacmanなどのデフォルトのパッケージマネージャを使用できます。たとえば、Debian/Ubuntuでは次のように入力します:
sudo apt install flite
Fliteの使用は、eSpeakと同様にシンプルです。fliteの後に話したいテキストを入力するだけです:
flite -t "Fliteは小型で高速な音声合成エンジンです。"Fliteは、ターミナル内で直接テキストを読み上げます。Raspberry Piやリソースの少ないシステムで作業している場合、Fliteは検討する価値があります。
これで、あなたのLinuxターミナルを話させるための複数の方法が揃いました!アクセシブルなシステムを作成したり、アナウンスを自動化したり、ただ楽しんだりしたい場合でも、これらのツールは誰にでも何かを提供します。
私は、そのシンプルさからeSpeakまたはFliteから始めることをお勧めします。その後、ニーズに基づいて他のオプションを探求してください。また、他のツールを使用したり、さまざまな楽しいコマンドで遊んだりすることで、ターミナルをより楽しくすることもできます。
画像クレジット:Frederick Medina via Unsplash。すべての変更とスクリーンショットはHaroon Javedによるものです。