Colabで通知音を鳴らす
時間がかかる処理してますか。
webスクレイピング、モデル学習、等々、なかなかすぐには終わりません。終わるまで待つか、とツイッターを眺め始め、いつの間にか処理は終わっており、夕日が沈む……。よくあります。
家電のように音を鳴らして教えてほしいものです。Rではbeeprという専用のパッケージが存在しますが(電子レンジの音がお気に入りでした)、pythonはどうでしょうか。
Windows上では以下のようなモジュールで無機質な音を鳴らすことができます。パラメーターは音の高さと長さです。
import winsound
'''
ここに何らかの処理
'''
winsound.Beep(500, 1500)
しかしGoogle Colaboratoryではwinsoundを動かすことができません。
なるべく簡単に、Colabに既に準備されているモジュールで音を鳴らせないものでしょうか。
import librosa
import IPython
def beepr():
audio_path = librosa.util.example_audio_file()
y_full, sr_full = librosa.load(audio_path)
return IPython.display.Audio(data = y_full, rate=sr_full, autoplay = True)
'''
ここに何らかの処理
'''
beepr()
音声を扱うlibrosaモジュール内のサンプル音声を自動で鳴らすようにしました。
数秒読み込みの時間がかかりますが、処理が終わると自動で音楽が流れます。
自作モジュールにしてしまってもいいですね。
追記(2020/12/27)
もっと簡単な方法ありました。
Google colabで実行が終わったら音で通知させたい時.
追記(2021/03/21)
Colaboratoryの画面から
ツール>設定>サイト>「実行が完了したときにデスクトップ通知を表示する」にチェック
で音も鳴るようになりました!最高!
Photo by Charlz Gutiérrez De Piñeres on Unsplash