はじめに
Livebook で大量のデータ解析など重い処理を実行しているとき、「ひたすら待つ時間」ができます
その間は大抵別のことをやっていて、時々 Livebook をチラ見しては状況を確認する、ということいなります
「視覚」だと意識的に「目」を向けないといけないので、意外と面倒です
少し席を離れている間にいつの間にかエラーが発生していて、ログは遥か彼方に過ぎ去っていたり、実行したことをすっかり忘れるなんてことも
そんなとき、「聴覚」なら意識せずとも「耳」に音が飛び込んでくるのですぐに反応できます
と言うわけで、 Livebook に通知音を追加します
実装したノートブックはこちら
セットアップ
KinoSound をインストールします
Mix.install([
{:kino_sound, "~> 0.1.2"}
])
スマートセルで音を確認する
KinoSound をインストールすると、 SmartSounds のスマートセルが追加できます
SmartSounds のスマートセルでは、 KinoSound で鳴らすことができる音をボタンで確認できます
KinoSound の利用例
以下のようなコードを実行します
IO.inspect("Start!!")
result =
0..5
|> Enum.reduce(:ok, fn _, acc ->
Process.sleep(3000)
IO.inspect("Hello!!")
KinoSound.print()
acc
end)
case result do
:ok ->
KinoSound.success()
_ ->
KinoSound.error()
end
3秒待って "Hello"
と出力するのを 6 回繰り返し、最後に実行結果(この例では :ok
固定ですが)を返します
「ループが 1 回終わったよ」と言う通知のために KinoSound.print()
で音を鳴らし、最後に成功したかどうかも KinoSound.success()
と KinoSound.error()
を使ってお知らせします
まとめ
特に AI のトレーニング中など、通知音を活かせる場面は多そうですね