GIGAMIX DM-SYSTEM2
BGM演奏機能
updated: Apr 24, 1998

  1. 概要

  2. 対応するBGM形式

  3. DMシステム2からの利用方法
    1. BGMデータのロード
    2. BGMデータの演奏
    3. テンポの調節
    4. 移調
    5. 音量の調節
    6. 一時停止
    7. 演奏中止
    8. フェードアウト
    9. 音源間のバランス調節

    10. データの作成方法

      1. MGSDRV
      2. MuSICA
      3. FM-BOIS

    第1章 概要

     MSX-BASIC上からBGM(Back Ground Music)を演奏します。

     BGMと唱っているだけあり、1/60秒のタイマー割り込みでBASICの処理と平行してBGMを自動的に演奏します。



    第2章 対応するBGM形式

     BGMを演奏する為には、「BGMドライバ」と呼ばれる演奏プログラムと、「BGMデータ」と呼ばれる演奏データの2つが必要です。ドライバとデータは対になっていて、このバランスが崩れるとBGMは演奏できません。AのBGMドライバに対応しているBGMデータは、BのBGMドライバではまったく演奏できないわけです。

     98年2月13日現在、DMシステム2で対応しているBGM形式は以下の通りです。


    2.1 MGSDRV形式 (デフォルト設定)

     Ain.氏の提唱した音楽ドライバで、日本のMSX系パソコン通信で有名です。OPLL・PSG・SCCの計17音同時発声が可能で、強力なループ機能やカラオケ機能などがウリです。ゲームミュージックから歌謡曲まで、豊富なジャンル(のデータ)がMSX系ネットワークで出まわっています。

     現在では作者のAin.氏に代わり、ギガミックスMGSDRVのサポートを担当しています。

     DMシステム2ではMGSDRVを標準でインストールしています。MGSDRV形式のデータはそのまま演奏できます。

    ※ DMシステム2版MGSDRVではカラオケ機能、MGSARCによる圧縮データに対応しません。

    2.2 MuMAKA(MuSICA)形式

     今は亡き「MSXマガジン(アスキー刊)」で提唱された音楽ドライバ、"MuSICA"は「Dante2」「ディスク通信」等、多くのソフトで活用されていました。エディタの快適さには定評が有ります。

     "MuMAKA"は"M.K Softが製作した"MuSICA"の上位互換ドライバです。OPLL、PSG、SCCの17音同時演奏が可能で、"MuSICA"には無いトランスポーズ機能等が追加されています。バグも結構ありましたが、そのエディタの快適さには定評が有ります。

     今やMSXマガジンは休刊してますし、TAKERUでの販売も終了した為、"MuSICA"の入手は非常に困難です。しかし最近では「勤労シリーズ」と言う新たなMuSICA互換BGMドライバが出回っており、それを用いてデータが作成できます。

     DMシステム2ではこのドライバを新たにインストールする必要があります。


    2.3 FM-BIOS形式

     MSX-MUSICに内蔵されているBGMの演奏ルーチンです。ただし上記のドライバはOPLL・PSG・SCCを駆使した音楽を演奏できることに対し、これはOPLLでの最低限の演奏しかできません。

     FM-BIOSの利点は処理の軽さです。他のBGMドライバは多くの機能を実現する為、割り込み処理に時間がかかりますが、FM-BIOSは最低限の演奏しかできないかわりに割り込み処理にはほとんど時間をかけません。とにもかくにも速度が欲しいソフトに最適です。

     徳間書店「MSX-FAN」誌の付録ディスクでもこのBGM形式が採用されました。

     DMシステム2ではこのドライバを新たにインストールする必要があります。


    第3章 DMシステム2からの使用方法

     
    BGMドライバにMGSDRV以外を使用している場合でも、プログラムの記述はすべてのドライバにおいて共通します。

    3.1 PCMデータのロード

     まずはPCMデータをどこかのメモリ(RAM)へ配置しなければなりません。
      CALL LOAD ("ファイルネーム") ← ベタファイルの場合
      BLOAD "ファイルネーム" ← BSAVEヘッダの付加したファイルの場合
      ex.) call load ("a.pcm",&h3000) ← 3000hへロード
      bload "a.pcp",s ← BSAVE形式のPCMをロード
     PCMデータをRAMへ配置する際、配置するエリアはあらかじめCLEAR文で宣言しておく必要があります。
      ex.) clear 200,&hc000 ← c000h以降をBASICが使わない

    3.2 PCMデータの再生

     メモリに配置したPCMデータの演奏を開始します。
      CALL PCMON (PCMの先頭アドレス,終了アドレス,サンプリングレート)
     
    CALL LOAD 等で設定したアドレスをそのまま代入してください。BLOAD命令でデータを配置する場合は、データの先頭アドレスをあらかじめ把握しておく必要があります。
      ex.) call bgmon (&h3000) ← 3000hに配置したBGMデータを演奏
     設定したアドレスにBGMデータを確認できなかった場合、DMシステム2はエラーを返します。
    ※ BGMドライバによっては確認しない(できない)ものもあり、ヘタすりゃ暴走。

    3.3 ラップの指定

     PCMをラップのように連続再生します。
      CALL PCMON (先頭アドレス,終了アドレス,レート,ラップ回数)
     百分率で設定します。通常は100(%)です。この数を少なくすればテンポが遅くなり、多くすればテンポが早くなります。
      ex.) call bgmtmp (50) ← テンポを50%(2分の1)にする
      call bgmtmp (150) ← テンポを150%(1.5倍)にする
     テンポを遅くする分には一向に構いませんが(BGMとして聴くのは辛いですが)、極端にテンポを早めるとMSX自体のパワー不足により暴走することがあります。いいとこ2倍程度が限界です(MSX2時)。

    第4章 データの作成方法

     DMシステム2で使用するPCMデータは事前に各種ツールで作成しておく必要があります。この章ではPCMデータの作成法を紹介します。

    4.1 MSX上でPCMデータを作成する場合

     MSX上でPCMデータを作成するには

    4.2 他機種でPCMデータを作成する場合

     MSX turboRで採用されているPCM音源はMacintoshのそれと同じフォーマットです。よって、MacintoshのPCM形式で保存できるツール(8bit符号付きPCM)が用意できれば、それをMSXで活用できます。

    1)Macintoshの場合

     MacintoshでPCMを作成するには、ご利用のPCMツールでそのままデータを作成できます。しかしMacintoshで作成されたファイルには MacBinary と呼ばれる、ファイル先頭128バイトに付加してしまうヘッダ情報が邪魔になります。これをそのままPCMとして再生すると「ジャリ」というノイズが発生することがあります。

     よってMacintoshからデータを

    2)Windows (MS-DOS)の場合

     Windowsマシン(MS-DOSマシン)でPCMを作成するには、MS-DOS用のフリーソフトである
    PCMCONV.EXEが利用できると思います。.Windows標準のWAV形式など、各種フォーマットに対応するので重宝します。

     また、これをMSX用へ移植したPCMCONV.COM(Ain.さん作)も存在します。「窓辺の湖畔MSX」でゲットできます。

     他機種でPCMデータを製作する際、PCMの周波数はMSXで利用できる4種類(15.75KHz、7.875KHz、5.25KHz、3.9375KHz)のどれかへ補正してください。


    4.3 FM-BIOS

     テキストエディタでMMLを描き、MCMP.COMでコンパイルします。たろう@似非職人工房さんによるFM-BIOS用BGM製作キットが用意されています。詳しくは「MML Compiler」のドキュメント(MCMP210F.DOC)をご覧ください。

    MML Compiler
    MCMP210F.LZH (8KB)
    [Back]
    Copyright (c) 1998 GIGAMIX, All rights reserved.