6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ターミナルで処理がとまったら呼んで欲しい

Last updated at Posted at 2024-11-07

Pythonで時間がかかる処理をしていると、
気がついたらエラーで止まってしまい、時間を無駄にしてがっかりすることがあります。
処理の完了まで画面をずっと眺めているわけにもいかないので、MacのSayコマンドを使い、処理が止まったら呼んでもらうことにしました。

% say "こんにちは"

このようにファイルの実行時に &&|| をつけて、成功時と失敗時で異なるメッセージを読み上げてもらうことができます。

% python generate.py && say "無事におわりました" || say "失敗みたいですよ"

これで安心して画面から目を離すことができますね。
これだけでもいいのですが、音声の変更もできるようなので、少し調整してみます。

音声の変更

デフォルトの音声は「システム設定 > アクセシビリティ > 読み上げコンテンツ」から指定できます。

日本語だと"Hattori", "Kyoko", "O-Ren", "Otoya", "Siri”が選択できるようです。

また、sayコマンドのパラメーターを使って声を変更することもできmす。

% say -v Kyoko "こんにちは"

利用可能な音声一覧は-v '?'で確認できますが、システム設定で選べた他の音声は表示されず、"Kyoko"のみが選択可能でした。

% say -v '?'

パラメーター

[[ ]]で囲むと、文章の途中で音声の調整が可能です。

パラメーター 効果
volm 音量 0.000 ~ 1.000
rate 速度 0.000 ~ 65535.999
pbas 音程 0.000 ~ 127.000
pmod 抑揚 0.000 ~ 127.000
# 音量 volm
say "[[volm 0.1]]こんにちは、いい天気ですね [[volm 1]]こんにちは、いい天気ですね"

# 速度 Speech rate
say "[[rate 100]]こんにちは、いい天気ですね [[rate 300]]こんにちは、いい天気ですね"

# 音程 Baseline pitch
say "[[pbas 0]]こんにちは、いい天気ですね [[pbas 127]]こんにちは、いい天気ですね"

# 抑揚 Pitch modulation
say "[[pmod 0]]こんにちは、いい天気ですね [[pmod 127]]こんにちは、いい天気ですね"

複数のパラメーターをまとめて指定することもできます。

say "[[rate 160]][[pbas 70]][[pmod 100]]こんにちは、いい天気ですね"
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?