出来上がったもの
サイトは https://nakadanobuhiro.github.io/LyricsInputMuseScore/ で公開しています。
ソースは https://github.com/NAKADANobuhiro/LyricsInputMuseScore から取得できます。
使い方
- 漢字を含む歌詞を入力して、[ひらがなに変換]を押してください。すでに歌詞がひらがなになっている場合は、"2. ひらがなの歌詞"に入力してください。
- ひらがなに変換された歌詞が表示されます。思い通りにひらがなに変換されているか確認・修正した後に、[空白を挿入]を押してください。
- 空白の入った歌詞が表示されます。[クリップボードにコピー]を押してください。
- MuseScore で最初の音符を選択して[Crtl]+[L]で歌詞入力状態になったら、[Ctrl]+[V]を繰り返し押して貼り付けてください。
作成の動機
MuseScoreは、無料で使用できる楽譜作成ソフトウェアです。
大変重宝しているのですが、歌詞を入力する際は、音符をクリックして、[Crtl]+[L] で歌詞を一音分入力して、スペースを押して、次の一音分の歌詞を入力して、という作業をひたすら繰り返す必要がありかなり手間がかかります。 (私は DAW で作成した Standard MIDI ファイルを読み込んでいるので、楽譜の作成には使っていません。)
いろいろ調べてみたところ、MuseScore で歌詞を入力するには、歌詞の一音ごとにスペースを入れて、貼り付けるという方法があることがわかりました。
そこで、入力した歌詞から、貼り付け用のテキストを作成するツールを作ってみました。
仕組み
GitHub Pages
- 無料でホスティングできるため、GitHub Pages を使用しました。
- よって、HTML と JavaScript で動きます。
Jekyll
- サイトは Jekyll で作成しています。
- GitHub pages サポートがしているからです。
- テーマは初期設定の minima を使用しており、変更したいのですが方法が良くわかっていません。
Gooラボのひらがな化API
- 漢字からひらがなへの変換にGooラボのひらがな化APIを使用しています。
- 存在を知らなかったのですが、GitHub Copilot に "漢字を含む文章をひらがなに変換する関数を作成" と指示したところ候補として表示されたので使用することにしました。
- 私の取得した API キーが丸見えですが、悪用しないでください。
- 本当は漢字はひらがなに、カタカナはそのままにしたかったのですが、すべてひらがなに変換されてしまいました。
- また、"明日"は、"あした"と"あす"と"みょうにち"の読み方があるように、思ったように変換できないケースもあり、これは適宜修正することにしました。(童謡 "シャボン玉"でも、"風風吹くな"は、"かぜかぜふくな"ではなく、"かぜふうふくな"となってしまいます。)
空白の挿入
- ひらがなの間に空白を入れればいいのですが、拗音("ゃ","ゅ","ょ")、促音("っ")、長音("ー")、外国語の表記などで使用される("ぁ","ぃ","ぅ","ぇ","ぉ")は、単独では発音しないので、その前には空白を入れないようにしています。
- なお、長音には"おう"、"かあ"、"おお"などが含まれる場合もあると思いますが、判断が難しいので無視しています。
- 撥音("ん")は、音符を割り当てるケースと、割り当てないケースががあるようなのですが、割り当てるケースを採用しました。(割り当てないケースとしては、童謡"あめふり"の"ピッチピッチ チャップチャップランランラン"。)
GitHub Copilot
- 本プログラムは VS Code で GitHub Copilot を使用して作成しました。
- コメントで指示を記述し、候補を表示してもらい採用を判断する方法で、かなり役に立ちました。
- 特に markdown のテキストを書いている途中で、それから先に書くだろう文章の候補を表示する機能は、ChatGPT よりも使い勝手が良いと感じました。(Qiita でも GitHub Copilot に接続できるようにしてほしい。)