🐈

Hookで通知音に「旧支配者のキャロル」を設定してみた

に公開

はじめまして。nemunekoです=^_^=

今回はClaude Codeで実装されたHook機能で通知機能を実装できるらしいので、実際にやってみました。
通知音は「旧支配者のキャロル」を用いています。そのまま使用すると長すぎるので、Gemini-cliにいい感じに音源を調整してもらいました。
それではどうぞ。

通知音源の調整をGemini-cliにやってもらおう

元音源は1分22秒あり、通知音としては長すぎます。
通知音として使うためにサビあたりを切り出して、適切な長さに調整します。やり方がよく分からないので今回は、gemini-cliにffmpegを使って編集してもらいました。

曲の構成を分析してもらおう

まずは、gemini-cliに曲の構成を分析してもらいます。

> この曲を分析してサビなどの構成を教えてください。 @sound/Carol_of_the_Bells.mp3

✦ はい、承知いたしました。提供された音楽ファイル sound/Carol_of_the_Bells.mp3 を分析しました。

この曲は「Carol of the Bells」のアレンジバージョンですね。特徴的な4音の繰り返し(オースティナート)をベースに、
徐々に楽器が増えて盛り上がっていく構成になっています。

曲の構成は以下のようになっています。

* 導入 (Intro) 0:00 - 0:04
    * 非常にシンプルで高いベルの音で、この曲の象徴である4音のモチーフが提示されます。
* Aメロ (Verse 1) 0:04 - 0:13
    * ヴィブラフォンのような音色で主旋律が始まります。曲の基本的なテーマがここで確立されます。
* Bメロ (Verse 2 / Pre-Chorus) 0:13 - 0:21
    * 背後で持続する音(シンセパッドのような音)が加わり、厚みと壮大さが増します。サビに向けての盛り上がりを担
        う部分です。
* サビ (Chorus) 0:21 - 0:29
    * この曲で最も華やかで力強い部分です。リズムが明確になり、多くの楽器が加わって最初のクライマックスを迎えま
        す。
* 間奏 (Interlude) / Aメロ' 0:30 - 0:46
    * 一度落ち着き、Aメロのテーマに戻ります。2回目のサビへのブリッジの役割を果たします。
* サビ (Chorus) 0:47 - 1:03
    * 再びサビのメロディが繰り返され、曲の盛り上がりは最高潮に達します。
* アウトロ (Outro) 1:04 - 1:22
    * 曲の終わりに向かって、徐々にテンポが遅くなり(リタルダンド)、楽器の数も減っていきます。最後は静かな和音
        で締めくくられます。

おお〜!すごい!ちゃんと曲の構成を理解してくれました。

通知音として編集してもらおう

では、このサビ部分を使って、通知音を作ってもらいましょう。

> その通りです。
それでは、ffmpegを用いて、曲を編集してください。
着信音(通知音)にサビを使用したいです。
フェードインとフェードアウトを使っていい感じの曲に編集してください。
曲の長さは長すぎずちょうどいい感じのところで止めて。
まずは何をするべきかを考えて、1ステップずつ編集して、適当なディレクトリの下に途中経過を保存していってくださ
い。

一発で結構指示通りに編集してくれました。すごいね!
さらに編集させて、通知音によい感じの音源にしてもらいました。

> フェードインとフェードアウトのエフェクトを強めにしてください。また、音量を半分くらいにしてください。

Hook機能で通知音を設定しよう

さて、それでは実際にこの調整した音源をClaude CodeのHook機能で設定していきます。
ちなみに曲名をThe_Carol_of_the_Old_Ones.wavに変更しています。

Claude CodeのHook設定

  1. Hook設定画面を開く

    /hooks
    
  2. 通知音を設定
    Hook設定画面で「Stop」(タスク完了時のフック)を選択し、以下のように設定:

    powershell.exe -c "(New-Object Media.SoundPlayer 'The_Carol_of_the_Old_Ones.wav').PlaySync()"
    

これで設定完了!AIがタスクを完了するたびに、旧支配者たちの呼び声が響き渡ります。
いいね=^ω^=

まとめ

Claude CodeのHook機能でタスクの完了が簡単に分かるようになりました。これでゲームをしていても動画を見ていてもすぐ気づけますね。
使ってみて思いましたが、コマンドの許可等が発生をする場合のHook「Notification」も設定したいですね。ただ曲が今回の通知音とかぶると嫌なので、いい感じの音を見つけたら設定してみます。
みなさんも、自分の好きな曲で通知音を設定してみてくださいね。
それでは、また次の記事で!nemunekoでした=^_^=

Discussion