SVOX pico2wave をインストールし、スクリプトを作成しました。今私が入るとき:
speech "Hello world"
コンピューターのテキスト音声エンジンが「Hello world」と大声で言います。さらに、.bashrc
で変数Prompt_COMMAND
を次のように定義して使用します。
Prompt_COMMAND="speech 'Command executed.'"
そのため、ニースのテキスト音声エンジンは、ターミナルでプロンプトを返す前に、コマンドが実行されたことを大声で知らせます。
しかし、これはしばらくすると退屈になり、コンピューターでテキストのdifferent行(Starshipの自動操縦を考えて企業)。
そこで、さまざまなメッセージを使用して、.bashrcに配列変数を作成しました。
array[0]="Shields at 90%"
array[1]="Engaging proton overdrive"
array[2]="Autopilot disengaged"
array[3]="Targetting solution available"
array[4]="Alert. Incoming missile."
array[5]="Deploying countermeasures."
array[6]="Firing torpedoes."
array[7]="Engaging auto-cannon."
array[8]="Severe damage on deck 17. Sealing off."
array[9]="Deploying repair droids to deck 17."
私が望むのは、eachターミナルでコマンドを実行するたびに、変数Prompt_COMMAND
を更新してdifferent配列内のランダムな行。
ループが必要だと思いますが、ループの作り方がわかりませんでした。
どんな助けにも感謝します。ありがとうございました。
スクリプトを作成し、行と、配列からランダムな行を選択し、その行でspeech
コマンドを呼び出すロジックを含む場所に保存します。
array[0]="Shields at 90%"
array[1]="Engaging proton overdrive"
array[2]="Autopilot disengaged"
array[3]="Targetting solution available"
array[4]="Alert. Incoming missile."
array[5]="Deploying countermeasures."
array[6]="Firing torpedoes."
array[7]="Engaging auto-cannon."
array[8]="Severe damage on deck 17. Sealing off."
array[9]="Deploying repair droids to deck 17."
line=${array[$RANDOM % ${#array[@]}]}
speech "$line"
次に、.bashrc
または.profile
でPrompt_COMMAND
を設定します。
Prompt_COMMAND="bash $HOME/PATH/TO/myscript.sh"
speech
をecho
に置き換えるだけで、音声ではなくメッセージを取得できます。
後編チュートリアル:
上記のRavexinaの回答のおかげで、問題は解決され、解決策は素晴らしく機能します。 Ubuntu 18.04で動作するようにしたい他の人々のために、ステップバイステップの手順を以下に示します。
1。SVOX pico2waveパッケージをインストール:
Sudo apt-get install libttspico0 libttspico-utils libttspico-data libsox-fmt-mp3
2。音声スクリプトの作成
cd ~/scripts
gedit speech
このコンテンツを内部に配置し、正しいユーザーをパスに挿入します。
#!/bin/bash
pico2wave -l=en-US -w=/home/user/test.wav "$1"
aplay -q ~/test.wav
rm /home/user/test.wav
保存して終了。
。上記のRavexinaが示すようにShell_speech.shスクリプトを作成します:
gedit Shell_speech
array[0]="Shields at 90%"
array[1]="Engaging proton overdrive"
array[2]="Autopilot disengaged"
array[3]="Targetting solution available"
array[4]="Alert. Incoming missile."
array[5]="Deploying countermeasures."
array[6]="Firing torpedoes."
array[7]="Engaging auto-cannon."
array[8]="Severe damage on deck 17. Sealing off."
array[9]="Deploying repair droids to deck 17."
line=${array[$RANDOM % ${#array[@]}]}
speech "$line"
保存して終了。
4。スクリプトを実行可能にし、ディレクトリをPATHに追加して、どこからでも呼び出せるようにします:
chmod u+x ~/scripts/bin/speech
chmod u+x ~/scripts/bin/Shell_speech
export PATH=$PATH:~/scripts
5。bashrcを変更
gedit ~/.bashrc
次の行を追加します。
Prompt_COMMAND="bash Shell_speech"
保存して閉じます
注:~/scripts/bin/Shell_speech
の配列に必要な数の新しい行を追加できます