- このページでは音楽の楽譜情報をテキストベースで簡単に記述するための 簡易 MML システムを公開します。
MML というのは Music Macro Language の略で、 昔の BASIC しか使えない時代のパソコンで(あるいはそれ以前から)
使われていた同種の音楽記述言語の総称です。- ここでも実習の一環として、「自分でデータを打ち込んだ曲を音にして聞いてみる」 という感触を実際に味わってみてください。
- 現在では市販の音楽ソフト、フリーソフトなどでも、GUI 等を駆使して、
五線譜に直接入力したり、 楽器演奏をそのまま取り込んだり、 様々な機能を備えたものが入手できますし、
授業でも触れたように、春日キャンパスのマルチメディアシステムなど、 学生が使用できる環境もあります。- そういった中でこのような「原始的」な入力言語を用意した最大の理由は、 様々な学群・学類の受講者がいるため、
習熟度もバラバラだし、 使用環境を統一的に揃えるのが難しいことがあります。
どんな環境でもそれなりに使用できるものとなると、 自ずとできることは限られてしまいますし、
残念ながら高度なインタフェースを備えた実習用システムを用意する余裕もありませんでした。- また既存のシステムだと、いろいろな機能を備えているため、 かえって初心者には使いづらい、
ある程度使えるようになるにはかなりの勉強・試行錯誤が必要という問題もあります。- その点、手前味噌にはなりますが、高度な機能を要求しないなら、
この程度の原始的なシステムのほうがとっつきやすいし、 音楽データの扱いの基本が見えやすいといった利点はあります。
また慣れるにしたがって、このようなテキストベースの入力形式のほうが、 見映えのいい GUI での入力などより
はるかに高速に、また楽に入力できるようにもなります。 (タイピングなどと同じです)
- データ記述にあたっては、当然のことながら、 楽譜が読めるといったような、音楽の経験があるほうが有利です。
しかし音楽経験のない人でも、むしろいろいろいじって実験してみることが大切だし、 やりようによっては思わぬ発見もあります。
見慣れないとか難しいとかで臆したりせずに、果敢に取り組んでみてください。
- 曲データを作る場合の注意
- 自分が作成したデータは、できるだけ自分のマシンのファイルに保存する、
あるいは最初からファイルに入力し、それを読み込むように心がけてください。
システムの機能を試すといった使い捨て的なものについては、 入力ウィンドウから直接打ち込むのでもかまいませんが。- いきなり長い複雑な曲データを打ち込もうというのはムチャです。
まず簡単なケースから始めて、システムの使い方の確認や、 意図した通りの結果が得られるかを順次確認しながら、
順々により長い、複雑な曲作りに取り組んでいってください。- 長い曲の場合、部分部分を作ってそれぞれの部分が正しく動くかを確認し、
それらをつなげて全体を組み立てる、といった方針で臨むのが有効です。
どうしても入力ミスの1つや2つは生じますが、 長いデータだとどこでどう間違えたかを確認するのが難しい、
プレイバックにも時間がかかるといった問題があるからです。
- お詫び
この MML システムについて、機能・説明とも一応一通り使えるぐらいにはなりましたが、 まだまだ未完成の状態です。
新たな機能追加などについては記述内容の更新に注意してください。
- 下の 入力フォーム に以下の事項を記入の上、 上端左側にある「送信」ボタンを押してプログラムを実行します。
指定された入力データ・実行時オプションにしたがって MML 入力の解析プログラムが実行され、 結果がブラウザウィンドウに表示されます。
- アカウント名(学生番号)(必須項目)
学生のアカウント名(s0712345:学生番号でも可)を記入します。
セキュリティ管理上必要なので、正しく記入してください。 異常と見られるアクセスがあった場合にはプログラムを閉鎖することもあります。
アクセス情報は本人以外には一切公開しません。
- 実行時オプション 以下の該当するものをラジオボタンで選択します。
- 入力データの表示 入力データを出力結果にエコー表示するかしないかの指定 (デフォールト:表示する)。
- 入力データ
音楽の楽譜(音符)情報を記入したデータを指します。2種類の指定方法があります。両方を併用することもできます。(あまり意味があるとは思えないが)
- 入力データを記述したファイルを指定し、それを読み込む。
- 「入力データ」のテキストウィンドウから直接データを入力する。
その場合、データはファイル、テキストウィンドウの順に読み込まれます。 (これは逆のほうがいいかも)
- 入力データファイルについての注意
- 入力データファイルは、ブラウザを起動しているマシン(「リモートホスト」と呼ぶ)から アクセス可能なものでなければなりません。
右側の「参照...」などと書いてあるボタン(表示はブラウザによって違う) をクリックすると、アクセスできるディレクトリが表示されます。- ファイルの拡張子は何であってもかまいません(なくてもかまいません)。
デフォールトでは ".mml" を使っていますが、一般には通用しない拡張子です。- ウィンドウから入力したデータでも、後での修正・利用のために、 必ずファイルに保存することを勧めます。
- 入力フォーム の「送信」をクリックすると、 入力データが解析され、画面が「MML の実行結果」画面に変わり、
実行結果が表示されます。
- 解析が正常に終了した場合には、実行結果として以下の4つのファイルが用意されます。
- SMF ファイル
MML の楽譜を、実際に音として演奏できる 「SMF 形式」(Standard MIDI File) として出力したファイルです。
これをクリックすると、(Windows Media Player 等の)音楽演奏システムが起動され、 音にして聞くことができます。
ファイルに保存する場合には、起動された演奏されたシステムの中で 保存してください。
- 入力データファイル
入力した MML データをコピーしたファイルです。 クリックすると別ウィンドウでファイルが表示されます。
データがファイル入力の場合には、そのファイルと同内容ですが、
入力ウィンドウから入力した場合には、この表示ファイルを保存するようにしてください。
- 音符列ファイル
SMF ファイルの中身の音符列をテキスト形式で表したものです。 クリックすると別ウィンドウでファイルが表示されます。
先頭にファイル名、ファイルの大きさ、音域、調号・表示記号(もしあれば) などが表示されたあと、音符の並びが時間順に示されます。002:--------* trk0 *--- 1:000 4C [720] 2:000 | 2:240 4C [240] 3:000 4C [480] 4:000 4E [480]上のような表示において、左端の "002" は小節番号、 字下げした "1:000" 等は拍番号を表します。
音符の長さは4分音符が 480 として示されます。
4行目、"2:240" は、「2拍目の半分(240 = 480/2)」であることを表します。
右側が実際の音符で、"4C [720]" は、 「第4オクターブの C 音、長さは 720(つまり付点4分音符:4分音符 480 の 1.5 倍)」 を意味します。
3行目、"2:000" の行に縦棒 "|" があるのは、 この拍では前の音がまだ鳴り続いていることを表します。
- SMF ダンプファイル
SMF ファイルの中身全体を可読なテキスト形式に変換してそのままダンプしたものです。
前項の「音符列ファイル」では省略されている SMF データの詳細内容が示される一方、 内容を読み取るのははるかに困難になります。
表示やデータ形式の詳細については授業資料等を参照してください。
またソースファイル(単独で実行可能なもの)は MIDI/SMF プログラム例のページ(学内専用) にあります (midtotxt.c)。
- 入力データにエラーがあり、解析が失敗した場合には、 エラー箇所と簡単なメッセージが表示されます。
指摘箇所の入力を適宜修正してやり直してください。
なお最初のエラーを発見した段階で以後の解析は中止されますので、 修正箇所以降にもエラーがある可能性はあります。
指摘箇所だけでなく、他にもエラーがないか、よくチェックしてから再試行してください。
- ファイルの保存について(重要)
上記の3つのファイルは、一時的に Web サーバー側で保存しているものであり、 いつまでも残っている保証はありません。
実際、同じファイル名を使っていますので、次の解析を実行した段階で前のデータは消えます。
重要なデータ(提出用など)はその場で必ず、自分のファイル領域に保存するようにしてください。
- 曲データの再生にあたっての注意
Windows Media Player などで曲データをコンピュータ上で再生する場合、 データでは長さが同じ音でもツブが揃っていないことがあります。
これはコンピュータ上で並列に動いている他の「プロセス」の影響を受けるためです。
再生ソフトの「プロセス優先度」を高くしてやれば、その影響を少なくできます。
ただし、それをやるとマシン自体がハングアップしてしまう危険もあることに留意してください。以下は Windows XP 上、Windows Media Player のプロセス優先度の変更手順です。
他の OS や再生ソフトについては適宜対応してください。なおシステムがハングアップ・フリーズして応答しなくなった場合には、 強制終了により電源を落とし、再立ち上げする必要があります。
- Windows Media Player を起動する。
- Ctrl + Alt + Delete の3つのキーを同時に押す。
- 「Windows タスクマネージャ」のウィンドウが表示されるので、 表示ウィンドウを適宜スクロールして、"wmplayer.exe" を選択する。
- 右クリックしてメニューで「優先度の指定」を選ぶ。
普通は「通常」になっているはずなので、それより高い値を選択する。
(経験的に言って、最高位の「リアルタイム」を選択すると、 ハングアップする危険があります。
「高」または「通常以上」を選んだほうがハングアップの危険は少なくなります。)- 「タスクマネージャの警告」画面がでたら、「はい」と答える。
- 「Windows タスクマネージャ」のウィンドウを終了する。