ソフトを開発しようと思ったきっかけ
作者が中学生のころ、学校の教科書に載っていたJ.S.バッハの「小フーガト短調」の楽譜を何気なく演奏してみたいと思ったのが、音楽をはじめることになる最初の出来事でした。そのころ、なんの取り得もなかった作者は、もらってきたリードオルガンで、楽譜の読み方を勉強しながら、演奏の練習をするのが楽しみのひとつでした。いろいろな曲をある程度自由に演奏できるようになってくると、今度は作曲をしてみたくなりました。最初は紙と鉛筆を使って五線に音符を書きながら作曲をしていたのですが、考えた曲を自分で演奏するには練習が必要になるため、なかなか作業が進みませんでした。それどころか、せっかく頭に浮かんだ音楽のイメージが時間とともに消えてしまいます。それで、すぐに書き込めて、即座に自動演奏してくれるツールがほしいと思い、開発しようと思いました。
当時、音楽を自動演奏するには、BASICというプログラミング言語を使って、MMLという音楽言語を打ち込む必要がありました。MMLで作曲するには、曲を作るたびにプログラミング作業が必要となる上、和音や複数のパートを使った音楽が作りにくく、どうしても作る音楽が手抜きになってしまいました。それで、楽譜方式でかつ、同時に複数のパートが見渡せるスコア方式の楽譜作曲ソフトを作ろうと思い、音楽記号をグループ分けしたメモのようなものを紙に書いては、具体的なイメージを膨らませていました。
10年間に渡って、どのように音楽ソフトを実装するべきかを考え、せっかく開発するのだから、多くのユーザに使ってもらいたいと思い、 Windows環境で開発することにしました。また、ランタイムが不要なWindows APIとC++を開発言語に選びました。
開発中に苦労した点
まず、楽譜の表示方法で悩みました。音符の長さと画面上の時間軸を一致させようとすると、見た目上の小節幅をかなりの長さにしなければなりません。小節幅を動的にするか固定にするかで悩み、最終的には、実際に紙の五線に音符を書く時の様子をヒントに、書き込む記号の位置をユーザが指定する方式を採用しました。
また、ツール系のソフトの場合は、アイコンが並んだパレット方式がよく使われていますが、これらの音楽記号パレットが楽譜上に散らばっていると、作曲に専念できないと感じていました。なんとかパレットを、引き出しのようなものに隠せないか考えていました。さらに、すばやく操作できるようにしたかったので、パレットへのマウス移動距離を最短にできないかと考えていました。考えた結果、必要なときにその場にパレットを表示できる、プルダウンメニューを採用することになりました。このメニューの表示方法には1年間悩みました。
試作品を公開してからが苦労の連続でした。新しい機能を後から追加していく際は、構想ができるまで何度も作り直し、直感的に操作できるかどうかを納得いくまで試行錯誤する必要があります。一度決めた仕様はそう簡単に変更できないので、設計にはかなりの時間をかけています。どういう順序で機能を付けていけばよいか、将来を考えながら設計しなければならないという点が苦労します。
開発で一番難しいと思うのは、楽譜方式の場合、音楽ソフトを開発する上で、一般的な楽譜や楽典のルールをコンピュータで忠実に再現させなければならない点だと思います。
ユーザにお勧めする使い方
MIDIモードでは調律機能が使えますので、コンサートピッチでの演奏や、調性のある音階を使って作曲と演奏が楽しめます。普段から調性のある音律を使っていれば、和声の響きを意識した作曲をすることができます。オリジナルの調律ができるほか、古典音楽の音律がいくつかプリセットされていますので、すぐにでも調性のある音楽を楽しむことができます。
また、MIDI音源のほか、ソフトウェアエフェクトやシンセサイザであるVSTプラグインを対応していますので、サウンドにこだわるユーザでも、楽譜による贅沢な作曲環境をだれでも気軽に味わうことができます。
作成した音楽はMIDIファイルや音楽CD品質のWAVEファイルで保存することもできますので、他のソフトへのデータ連携や、別途CD書き込みソフトを使うことで、オリジナルの音楽CDを作成するなど、いろいろな応用が考えられます。
楽譜や音楽がはじめての方でもわかりやすく書いた取り扱い説明書をソフトに付属していますので、楽譜の書き方を勉強したり、音楽の知識を深めることができます。その他、作者のホームページ「Studio ftn」では、ソフトウェアシンセの使い方や、作曲の方法も紹介していますので、ぜひ参考にしていただけたらと思います。
今後のバージョンアップ予定
報告いただいたバグは必ず修正しており、ユーザの要望を優先して機能を追加しています。作者の頭の中には、ユーザ要望にはない機能もたくさんストックされており、ソフトを開発している作者自身も新しい機能が楽しみで待ち遠しい状態です。これらは、順次、新しいバージョンで盛り込んでいきたいと思っています。
(ftn)