PC以降の音楽演奏

目次

Music of a sort(1975)

演奏データ形式もっと知りたい

SCORTOS (1977/9)

演奏データ形式もっと知りたい

Altair 8800 の MUSIC (1978/3)

演奏データ形式もっと知りたい

ここまでのまとめ

アメリカのパソコンブーム日本のパソコン事情

NEC TK-80(1976/8)

演奏データ形式もっと知りたい

日立ベーシックマスター(1978/9)

演奏データ形式もっと知りたい

MZ-80K(1978/12)

演奏データ形式もっと知りたい

沖電気if800(1980/5)

演奏データ形式もっと知りたい

パソピア(1981/9)

演奏データ形式もっと知りたい

NEC PC-6001(1981/11)

演奏データ形式もっと知りたい

ふたたび、次回へ続く…


パソピア(1981/9)

東芝のパソピアは、ROMカートリッジによってBASIC が供給されました。ハードウェアは同じでも添付される BASIC がちがう2つのモデルがあり、さらに別売りのフロッピーディスクドライブを使えば、各 BASIC の DISK 版も使うことができました。


BASIC は、マイクロソフトによる T-BASIC と、東芝オリジナルの OA-BASIC です。OA-BASIC は COBOL と言語構造を似せ、ビジネス用に使いやすくしたもの、T-BASIC はホビー用途に使いやすくしたものでした。

このうち、T-BASIC には音楽の演奏機能があります。ROM 版は MML ではなく音階と時間を指定する方法で、ディスク版では、ROM 版の方法に加えて MML が使えました。

ディスク版の供給時期は不明ですが、本体とほぼ同時発売だったのではないかと思われます。本体は 1981年9月発売ですが、わずか3か月後の1982年1月発売の本には、ディスク版の存在が書かれているためです。


ほぼ同時発売なのに、ROM と DISK で命令が違い、DISK の方が命令豊富…というのはちょっと不思議です。DISK アクセスのための機能が増えた分だけ、DISK の方が命令が削られている、というのならわかりますが…

本体よりも高価な DISK 装置を買ってもらうための高機能化、という可能性もありますが、DISK を購入する人にとって、DISK が使えることが何よりも購買理由のはず。

MML の解釈部分を小さく収めるために自己書き換えでも使ったのかな、とも思いますが、ROM 供給の if800 でも MML は使えています。(もっとも if800 は DISK の有無で2モデル同時発売でした。もしかしたら、こちらも DISK 版にしか MML がなかった可能性もあります)


演奏データ形式

ROM 版では、先に書いたように「音階と時間」で音を出すことができました。


SOUND 音階,音長


で、音階は 11~84。A=440Hz が 45 で、半音階ごとに 1 ずれます。これ、次に書く PC-6001 の MML で、N 命令を使った際に指定する値と同じです。

音長は、1/64 秒を単位として 0~ 65535で指定しました。

これを並べれば音楽が作れます。半音ごとに数値を割り振っていることも含め、MUSYS のような方法。


DISK 版には MML があります。if800 とほぼ同じ構造ですが、以下の点が違います。


・休符が P ではなく、R になりました。

・オクターブ指定が 0~6 の7オクターブになりました。A=440Hz は O3で変わらず。

・N 命令が無くなりました


休符が変わったのはものすごく重要な変更です。

「トッカータとフーガ ニ短調」は次のようになります。

l16aga8a2gfedc+4d2r4


もっと知りたい

初代パソピアの音楽機能

MORIYA Ma. 氏のページ。当ページが公開された当初、パソピアには MML は無い、としていました。DISK 版にあるなんて情報、ネットを探した限りではどこにもなかった。

しかし、ページ公開からわずか1日で、氏はパソピアにも MML があったことを突き止め、その詳細を公開しました。すごい行動力!

もともと氏のページに触発されて調査を始めたのですが、公開後も細かな間違いを指摘していただいたり、こんな大きな調査をされたり、お世話になりっぱなしです…


NEC PC-6001(1981/11)

NEC の PC-6001 は、音楽演奏ができた最初期のマシン、として多くの人が記憶しているのではないかと思います。

最初に MML が搭載された機械、と思っている方も非常に多く、MORIYA Ma.氏の調査もそこから始まっているわけです。しかし、すでに見てきたとおり、音楽演奏自体は他の機種でもできましたし、MML らしきものもすでに確立してきています。


本当に PC-6001 がすごかった点は MML にあるわけではなく、音楽専用の LSI を搭載し、3重和音+ノイズを出すことができたことです。

…なんかすごそうに聞こえるけど、PSGチップ AY-3-8910搭載ってことですね。国内のパソコンとしては初めて、 PSG搭載した機種でした。

BASIC はやはりマイクロソフトのもので、MML も if800 / パソピアとほぼ同じ文法です。


演奏データ形式

マイクロソフト製の MML なので、ここでは if800 / パソピアとの違いだけを書きましょう。


・休符は R です。パソピアでの変更を受け継ぎました。

・音域が8オクターブになりました。(if800 は5オクターブ、パソピアは7オクターブ)

・A=440Hz は O4 となり、科学的表記と一致しました。(if800 / パソピア は O3)

・N の数字の範囲は 1~96 になり、オクターブも含めた音階指定になりました。(if800 は範囲が 1~12 でオクターブは別途指定、パソピアは N なしだが、同じ数値を SOUND で使う)

・V コマンドで音量を変えられるようになりました。

・PSG のエンベロープを細かく指定するための指定が増えました。(S M コマンド)

・和音を出すために、カンマ区切りで3つのMMLを並べられるようになりました。


これによって現代的な MML の基礎文法が完成します。(その意味では、PC-6001が最初の MML、というのは事実です)

ところで、PC-6001には、MML と同時に、パソピアにも存在した SOUND 命令があります。しかし、SOUND 命令の使い方は、全く異なるものでした。

パソピアの SOUND 命令は、実質的には音符一つを生成するものでした。PC-6001 の SOUND 命令は、PSG のレジスタに値をセットする命令になっています。


「トッカータとフーガ ニ短調」は次のようになります。…この例では変化したコマンドを使用していないため、パソピアと全く同じです。

l16aga8a2gfedc+4d2r4


もっと知りたい

PC-6001あたりになると有名すぎて…今でも熱い人は「知っている」前提だし、そうでない人は詳しく語れない。この機械を上手に説明したサイト案外少ないのね。

PC-6001

なつかしのパーソナルコンピュータ、というサイトから。まぁ、そつなくまとめている程度ですが、その程度のまとめが案外少ない。


パピコニアンの倉庫

そもそも、今回の調査を開始したきっかけは、Moriya. Ma さんのページの記事でした。

きっかけ記事は先にリンクしているので、ここではあえて僕のおすすめ記事をリンク。


パピコン・クリッカー

TINY 野郎 mkII さんのページから。このゲーム、かなり好き


ふたたび、次回へ続く…

さて…今回の目的は、「PC-6001 よりも古い MML を探す」なので、PC-6001 の紹介で終わりにします。

PC-6001 の MML は、現代の MML と「互換性のある」ものです。上位互換だけどね。(PC-6001 で書かれた MML は現代でも演奏できますが、現代の MML を PC-6001 で演奏できるわけではありません)


これで一通りの歴史の流れは提示しました。

でも、これで終わりじゃない。まだ「最初の MML」に関して、全然考察していないから。

次回は、歴史の裏を深読み(邪推かもしれない)しながら、MML の成立過程を探ります。


次回:MMLの成立


前ページ 1 2 3 4 5

(ページ作成 2014-07-17)
(最終更新 2015-07-02)
第2版 …他の版 初版

前記事:世界初のMML     戻る     次記事:MMLの成立
トップページへ

-- share --

6000

-- follow --




- Reverse Link -