abcjs による移調楽器の表示を考える2022/09/10 12:11:02

abcjs という、WEB で楽譜を表示したり音源を作ったりするソフトウェア(プログラム)で困っていることを一昨日書いた。今日は、移調楽器の扱いである。

abcjs というソフトウェアは、abc 記法という規則に基づいて譜面を作っている。abc 記法によれば、移調楽器の記譜法が定められているのだが、abcjs ではその実装が不完全である。どういうことかというと、記譜法にのっとって譜面を作ると音源がおかしくなるし、音源を合わると記譜が合わない、ということになってしまう。

移調楽器の代表はクラリネットである。もっとも多いクラリネットはB♭管であり、クラリネットの譜面でハ長調のドレミファソラシドを書くと、実際のおとは変ロ長調のBCDEFGAB(ベー・ツェー・デー・エー・エフ・ゲー・アー・ベー)となる。どうしたらクラリネットのような移調楽器と普通の楽器を一緒にabcjs で楽譜にかいてしかも正しい音源にできるか考えた。

結論は、楽譜用と音源用でデータを分けてしまうことである。 移調楽器の音部分をまず楽譜用に作っておき、音源用のデータを作る前に移調楽器の楽譜をまず移調してから音源を作るというものである。 https://paulrosen.github.io/abcjs/transposing/transposing.html この方法がうまくいくかどうか、後で実験したい。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://marinkyo.asablo.jp/blog/2022/09/10/9526879/tb