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モジュール内のサンプル音声を自動で鳴らすようにしました。
数秒読み込みの時間がかかりますが、処理が終わると自動で音楽が流れます。
自作モジュールにしてしまってもいいですね。


Photo by Charlz Gutiérrez De Piñeres on Unsplash

(著:K. Takahashi

関連記事