SELECTED ENTRIES
RECENT COMMENTS
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS
blog_title
S.S.T.BAND BACK-UP TEAM管理人が書きたいことを書きます。
FB-01コントロール番外編その2
0

    何故今?と言われると特に理由もないのですが、前に発表したFB-01の音色パラメータをMML2MID用のシステムエクスクルーシブ(以下SysEx)形式に変換して吐き出すツール(FB-01トーンコンバータ)をバージョンアップしました。




    これまでのツールでは変換出来る音色は一つだけだったので、複数の音色を変換したい場合はその都度ファイルを読み込ませる必要がありました。今回は待望の複数音色対応です。




    それからもう一つ大きな変更点が。




    実はFB-01の音色設定方法には2種類ありまして(本当は他にもあるんだけど一般に打ち込みで使いそうな方法という意味で)、MIDIチャンネル毎にセットする方法と楽器番号(所謂音色番号)でセットする方法があります。あたくしすっかり見落としておりましてというかあんまり考えてなくてですね、MIDIチャンネル毎の音色設定方法で前までのプログラムを作ってたんです。これの何が問題かと言いますと、複数のチャンネルで同じ音色を使いたいと思った場合、全部のチャンネル毎に同じ音色データをセットし直さなきゃいけないのです。それから多分ですけど音色を切り変える場合はその都度音色をセットし直す必要がある。…多分。これはよくわかってませんが。


    楽器番号でセットする方法だと、古くからのMML打ち込みでお馴染みの方法なので同じ感覚で使えます。チャンネルが違っても音色番号で指定すれば使いまわせます。


    ということで音色設定方法が変わるとSysExの書式も変わるので割と大幅にプログラムを書き換えてあります。




    それから音色設定方法の変更に伴って音色番号を設定しなければならないので、元となる音色パラメータの書式に音色番号をセットする所が増えています。この辺はReadme.txtを読んで下さいな。




    http://www.sst-band.com/FM_TONE.zip


    これ、なし!


    音色の設定方法ちょっと間違ってたっぽいのです…。今、MMLファイルにそのままパラメータ書いてコンパイルまで一気に行けるプリプロセッサをJAVAで作っているので、全ての機能をそこに集約させる予定。あくまでも予定。

    | FB-01 | 14:49 | comments(0) | - | - |
    md
    sega
    FB-01コントロール番外編
    0

      前にPythonで作ったFB-01の音色データをMML2MIDのSysExに書き出すスクリプト。
      使ってる人がいるとは思ってないんですけどw pythonをわざわざインストールするのも面倒だよなーと思ってJAVAに移植してみました。
      JAVAの方がインストールするのはJREだけでいいし楽ですから。実行もjarファイルダブルクリックでOK。シンプルです。



      ということでFB-01をMML2MIDで使ってみたいという酔狂な人はお使い下さい。
      ただし本当に音色データのコンバートしか出来ませんので、それ以外のコントロールについては以前の僕の研究記事等を参考にして下さいな。



      http://www.sst-band.com/FM_TONE.zip
      | FB-01 | 10:17 | comments(0) | - | - |
      md
      sega
      FB-01コントロールその8(番外)
      0
        実に今更なんですが、『FB-01コントロールその8』で載せてたFM音源のパラメータをMML2MIDのSysEXに変換するPythonのプログラムがバージョンによっては動かないというのを知りまして。
        あれはPython2.x用なんですね。Pythonには3.xというのもありまして、そっちだと微妙に構文が違う。
        と、いうことであんなものを使う人がいるのかどうか知りませんが一応3.xのPythonを使ってる人用にも用意しました。 というか前回のあれ、ダウンロードできなかったんですよね…拡張子が「.py」だったからかな? 密かに前回のBlog自体も書き直してありますがZIP圧縮したらダウンロード出来るようになりましたのでそのように。
        ここでまとめて載せておきますね。

        FB-01用
        「一般的な(?)FM音源パラメータをMML2MIDのSysEX形式に変換するPython用プログラム」
        Python2.x用:fb-parameter.py
        Python3.x用:fb-parameter3x.py

        使い方はこっちを見てね。
         
        | FB-01 | 11:35 | comments(0) | - | - |
        md
        sega
        FB-01コントロールその10
        0
          音量調節が(本来やりたかった形ではないが)出来るようになったということでサンプルを作ってみた。

          とか言いつつ…実は音量調節をしてない(滝汗)。
          作った音色で鳴らしたかっただけなのだった。全部のチャンネルでエディットした音色を鳴らしている。
          というとカッコイイが、実は全チャンネル同じ音色だったりする(^^;
          でもこれも実験の一貫だ(多分)。
          一つの音色を全部のチャンネルで使いまわしたい時のストアリクエストが正しく出来るかの実験なんだよぉ!


          というわけで今回のサンプルは、セガのSDIからエンディング曲
          We Are Desirous of Peace


          一つ言っておきますが、エディット音色を鳴らしたかっただけなので音量調節等一切やっていません。
          この曲、本来はベロシティ等でかなり表情がある曲なんですが、そういうの一切やっていませんので!
          本物のFM音源から鳴っているエレピの音色を聴くことだけをお楽しみ下さい。


          http://www.sst-band.com/midi/we_are_FB-01.mp3 (こちらはmp3)
          http://www.sst-band.com/midi/we_are_FB-01.zip (こちらは特別にSMFと、初めてMMLソースを付けてみた)


          ちなみにSC-88Proで作ったもの(今回のデータのソースです。移植ですから…)がコチラ。
          http://www.sst-band.com/midi/desirous.mp3



          次回はもうちょっとまともに弄ったサンプルでも載せたいですな…。
          | FB-01 | 03:45 | comments(0) | - | - |
          md
          sega
          FB-01コントロールその9
          0
            音色パラメータは指定できた。音色は確かに変わった。ここまでは上出来だ!
            これまでにFB-01対応データを幾つか聴いたことはあるけど、どれもプリセットで鳴らしたものばかりだった。
            FB-01は本来、DX7のサブとして使ったりMSXの専用ソフトで操作するものらしい。その前提で作られている(多分)。
            他のPCでわざわざSysEx使って音色パラメータをセットして使うことなんか想定していないのだと思う(MIDIの仕組み上なのかなんなのか知らないが一応出来るようにはなっているけど誰もやらないんだと思う)。
            つまり、「普通はやらない」

            このBlogでこれまでしてきた研究の目的は、
            「FB-01をしっかりコントロールすること」
            しっかりコントロールするとは、これすなわち音色データを設定することに他ならない。
            つまり!音色データを設定出来るようになった時点で勝ったも同然と言うことだ!!!


            皆さん、やりました!わたくし、FB-01に勝ちましたよ!!


            いやいや、ちょっと待って欲しい。一応勝利宣言してみたものの、まともな曲くらい一曲作らないことには「コントロール出来た」とは言い切れないんじゃないか。
            それにはまだ心配事が幾つかあるのだ。


            それはMML2MIDが本当にFB-01をコントロール出来るのか?という根本的な心配事だ。
            登場以来事実上のMIDI標準機として長らく君臨したSC-88Proを使ってきたのだから、MML2MIDがそれをコントロールするのに何の問題もないというのは至極当然のことだった。
            じゃあマイナー機種のコントロールはどうなってるの?と思うのは当然というものだろう。

            早速実験してみた。
            テンポ、オクターブ、パンポットは何の問題もなくコマンドが効いた。
            しかし、とても大切なコマンドが効かなかった。それが『v』コマンド。音量の調節だ。
            これは困った。
            全パート常にフルボリュームになってしまう。バランスも何もあったもんじゃない。
            『v』コマンドが効かないならコントロールチェンジで送ってみたらどうかと思い、『y7,30』(コントロールチェンジ7番(=ボリュームを30に設定)しても変化なし。もしかしてコントロールチェンジを送る『y』コマンドが効かないんじゃないかと疑って、念の為にコントロールチェンジ10番(=パンポット)を変化させるべく、『y10,127』(右からのみ出力)を送ってみるとしっかり変わった。

            ……むぅ。困った。コントロールチェンジ効かないってどういうこっちゃ。
            なんかモード変える必要でもあるのかな…?
            と思って期待せずにYAMAHAのサポートに質問を投げてみた。すぐに返事が来た。YAMAHA凄いぜ!なになに…



            【『FB-01』は生産完了後20年以上が経過しておりますため、当窓口にも 実機がございません。】
            【そのため、実機を使用した検証ができませんので、取扱説明書レベルの ご案内になりますことをご容赦ください。】

            もうこの時点でイヤな予感(^^;


            【FB-01取扱説明書47ページ「MIDIインプリメンテーションチャート」より、 FB-01本体は、コントロールチェンジナンバー「CC7(volume)」を受信 する仕様かと存じます。】

            おい!「存じます」じゃないよ!何を人ごとみたいに言ってんだよ!
            それはもう俺が問い合わせに書いたんだから知ってるわ!俺が聞いてんのは特別なモード変更とか設定変更とかないんですか?ってことですよ!


            【以上簡単ですが、要用のみにて失礼いたします。
             今後とも、ヤマハ製品のご愛顧を賜りますよう、よろしくお願いいたします。】



            しゅーーーーーーーーーりょーーーーーーーーーーーーwwwwww





            アカン。完全に行き詰まった。半ばヤケクソになって、本体前面に付いているスイッチをいじってアウトプッットレベルを操作してみた。
            数値は変わるのに聴こえて来る音量は変わってない。ナニコレ!ナニコレ!珍百景認定でしょうよもう!

            仕方ないので本来やりたくなかった、音色データレベルでいじることにした。
            パラメータのうちキャリアにあたるオペレータのトータルレベルをいじる。モジュレータの数値は変調度合いを操作するがキャリアの数値は出力レベル(=音量)を操作しているからだ。

            結果、しっかり変わった。
            あーあ。なんか負けた気分だ…。
            | FB-01 | 02:38 | comments(4) | - | - |
            md
            sega
            FB-01コントロールその8
            0
              超久々にFB-01研究再開。
              あまりに久々過ぎてすっかり頭から抜け落ちてて(ハゲてへんわ)ヤバかったんでここにちゃんとメモしておこうと思う。



              まず第一に。FM音源パラメータをSysExに変換する自作ツールについて!
              自分で作っておきながら使い方忘れてたw 今時FB-01をMMLで使いたい人がいるかどうかわからないけど一応そういう人にも参考になれば(?)
              変換ツールはPythonを使って書かれているのでまずはPythonをダウンロードしてインストールしておくこと!ダウンロードはコチラから
              そして変換ツールはコチラ
              まずすべきことは変換ツールを適当なテキストエディタで開いて、1行目を自分の環境に直すこと。
              デフォルトは、「#! c:/Python27/python.exe」となっている。ここをPyhtonがインストールされているフォルダに合わせて変えよう。
              (うちはPythonが C:¥Python27 というフォルダにインストールされているので)
              それからFM音源の音色データを用意するんだけど、一応決められたフォーマットがある。これがそう。
              今更パラメータの説明なんかしませんよ。それがわからない人はFB-01なんか使わないでしょw ただし…自分でも一個だけわからないのがある(汗)。最後のCodeってなんでしたっけね。多分使わないと思うから0でいいはず。

              この書式でまずは音色パラメータを書く。あ、データは一個しか書けないので。二個以上書きたい時はその都度やる(爆)。
              そんでDOS窓立ち上げてfm.txtのあるディレクトリに移動したら、

              python fb-parameter.py > sysex.txt

              これでfm.txtに書かれた音色パラメータが、同じディレクトリにsysex.txtとしてSysExに変換されたテキストデータとして出力される。例として先ほどダウンロード出来るようにしておいた音色パラメータが、

              AL FB OP PAN
              1, 7, 15, 3
              AR DR SR RR SL TL KS ML DT1 DT2 AMON
              31, 8, 0, 9, 14, 23, 0, 0, 3, 0, 0
              31, 17, 0, 15, 15, 81, 1, 0, 4, 2, 0
              31, 9, 0, 8, 15, 81, 0, 0, 4, 0, 0
              31, 8, 0, 10, 15, 0, 0, 1, 4, 0, 0
              VOICE NAME Code
              melody, 0

              これね。こいつをSysExに変換すると、

              EX x43,x10,x15,x40,x0d,x06,xf7
              EX x43,x10,x15,x41,x05,x06,xf7
              EX x43,x10,x15,x42,x0c,x06,xf7
              EX x43,x10,x15,x43,x0f,x06,xf7





              とこんな感じで46行出力される。ハズ。これがSysExに変換された音色パラメータだ。
              音色を設定する際のメモリプロテクトOFFは以前書いてるので割愛。
              音色パラメータをセットしたらボイスデータストアリクエストを送信する。書式は、

              EX x43,x75,(システムNo.),(楽器番号),x40,(ボイスNo.),xf7
              ※システムNo.:0000ssss
               楽器番号  :00101iii
               ボイスNo. :00dddddd

              システムNo.は0。楽器番号(FM8chのうちどこに使うか)はとりあえず1ch。ボイスNo.はとりあえず@0に。
              全て2進数にしたのち16進数に直す(めんどくさい)。
              ということで以下のようになる。

              EX x43,x75,x00,x28,x40,x00,xf7



              ここまでのサンプルリストを全て掲載(注:音色データのせいで無駄に長い)


              #title"FB-01 TEST"
              #copyright" "
              #timebase 48
              #swap<>
              #swap()

              A EExff,x21,1,2 C01 "FM test"

              A EX x43,x75,x00,x10,x20,0,xf7 ;System Channel Numberを1に設定
              A EX x43,x75,x00,x10,x21,x00,xf7 ;Memory Protect OFF
              A EX x43,x75,x00,x10,x22,17,xf7 ;Configuration number = 18

              ;---ここから音色パラメータ---
              A EX x43,x10,x15,x40,x0d,x06,xf7
              A EX x43,x10,x15,x41,x05,x06,xf7
              A EX x43,x10,x15,x42,x0c,x06,xf7
              A EX x43,x10,x15,x43,x0f,x06,xf7
              A EX x43,x10,x15,x44,x04,x06,xf7
              A EX x43,x10,x15,x45,x09,x07,xf7
              A EX x43,x10,x15,x48,x00,x00,xf7
              A EX x43,x10,x15,x49,x00,x00,xf7
              A EX x43,x10,x15,x4a,x00,x00,xf7
              A EX x43,x10,x15,x4b,x08,x07,xf7
              A EX x43,x10,x15,x4c,x09,x0f,xf7
              A EX x43,x10,x15,x4d,x00,x00,xf7
              A EX x43,x10,x15,x4e,x00,x00,xf7
              A EX x43,x10,x15,x4f,x00,x00,xf7
              A EX x43,x10,x15,x50,x07,x01,xf7
              A EX x43,x10,x15,x51,x00,x00,xf7
              A EX x43,x10,x15,x52,x00,x00,xf7
              A EX x43,x10,x15,x53,x00,x03,xf7
              A EX x43,x10,x15,x54,x08,x00,xf7
              A EX x43,x10,x15,x55,x08,x00,xf7
              A EX x43,x10,x15,x56,x00,x00,xf7
              A EX x43,x10,x15,x57,x09,x0e,xf7
              A EX x43,x10,x15,x58,x01,x05,xf7
              A EX x43,x10,x15,x59,x00,x00,xf7
              A EX x43,x10,x15,x5a,x00,x00,xf7
              A EX x43,x10,x15,x5b,x00,x04,xf7
              A EX x43,x10,x15,x5c,x01,x04,xf7
              A EX x43,x10,x15,x5d,x01,x01,xf7
              A EX x43,x10,x15,x5e,x00,x08,xf7
              A EX x43,x10,x15,x5f,x0f,x0f,xf7
              A EX x43,x10,x15,x60,x01,x05,xf7
              A EX x43,x10,x15,x61,x00,x00,xf7
              A EX x43,x10,x15,x62,x00,x00,xf7
              A EX x43,x10,x15,x63,x00,x04,xf7
              A EX x43,x10,x15,x64,x0a,x00,xf7
              A EX x43,x10,x15,x65,x09,x00,xf7
              A EX x43,x10,x15,x66,x00,x00,xf7
              A EX x43,x10,x15,x67,x08,x0f,xf7
              A EX x43,x10,x15,x68,x00,x00,xf7
              A EX x43,x10,x15,x69,x00,x00,xf7
              A EX x43,x10,x15,x6a,x00,x00,xf7
              A EX x43,x10,x15,x6b,x01,x04,xf7
              A EX x43,x10,x15,x6c,x01,x00,xf7
              A EX x43,x10,x15,x6d,x08,x00,xf7
              A EX x43,x10,x15,x6e,x00,x00,xf7
              A EX x43,x10,x15,x6f,x0a,x0f,xf7
              ;    ---ここまで---
              A EX x43,x75,x00,x28,x40,x00,xf7 ;ボイスデータストアリクエスト
              A EX x43,x75,x00,x10,x21,x01,xf7 ;Memory Protect ON
              A r1
              ; *************
              A EX x43,x10,x15,x04,0,xf7 ;Ch01をバンク1に切り替え
              A t120
              A l4 o3 r1 @0 cdef gab


              ここまでやってドレミファソラシが鳴るだけというw

              | FB-01 | 02:29 | comments(0) | - | - |
              md
              sega
              FB-01コントロールその7
              0
                (この記事は別のBlogで自分用のメモとして書いていたのものです。今回統合することにしたので。)

                 YAMAHAに音色の設定方法について問い合わせてみた。
                どうもYAMAHAの問い合わせ窓口にはFB-01実機がもうないらしく、明確な回答はできませんよということらしかった…orz

                しかしながら音色をエディットする手順はどうもあってるっぽい。
                (これにしたって本当にあってるのかどうか怪しいもんだがw)

                2ちゃんねるにはFBを使える人がいたようで、アドバイスを幾つか頂いた。
                とりあえず一つ勘違いしていたのは、ストアはしなくてもエディットのSysExが正しく送信されていれば音色に変化が出るはずだということ。
                つまりこれまで音色が変化しなかったということはSysEx自体が間違っていたことも考えられる。ムムムっ。

                まぁアレだ。
                あんなパラメータをいちいち2進数に変換してバラして16進数に変換して…なんて手計算(実際には電卓使うけど)でやってりゃそりゃ間違うってなもんだ。
                ましてや「あれ?チャンネルはマイナス1して設定するんだっけ?それが楽器番号だっけ?」とかしょっちゅうごっちゃになってるんじゃ尚更だよね。

                と、いうことで一般的なFM音源パラメータの書式をMML2MIDのSysEx書式にコンバートする為のプログラムというかスクリプトを作ってみた。初めて使ったよPython。とっても使い易くてなかなか楽しいスクリプトですよ。汎用性もあるしね。
                これからも勉強してみよう。

                最終的にはMMLソースの中に音色パラメータ書いちゃって、プリプロセッサとして使うとその部分だけ変換してくれるようにしたいけどそれはちょっと厳しいか。
                まぁパラメータをSysEx書式に変換できるようになっただけでも大きな成果。
                ちょっとこれ使ってまた研究してみたいと思います。
                | FB-01 | 14:39 | comments(0) | - | - |
                md
                sega
                FB-01コントロールその6
                0
                  (この記事は別のBlogで自分用のメモとして書いていたのものです。今回統合することにしたので。)

                   FB-01のパラメータリストの謎が終に解けた!!
                  ちょっと興奮気味かも。。。。
                  FB-01マニュアル39ページ。これまでこのパラメータリストが全くもって謎だった。
                  パラメータリストが謎だったというよりも、X68000を使っていた頃にFM音源をいじっていたけどその時に使っていたのとは違う呼び名の項目があったり、全く知らない項目があったりするのでどれが必要でどれが不要なのかの判断が付かなかったのだ。
                  不要というのはちょっと変だけど、YM2151の音色データをそのまま使おうとした際に、どのパラメータはセットする必要があるのか/ないのかが全くわからなかった。


                  全ての謎はYM2151のレジスタマップを見た時に解決した。
                  仕事中(笑)MXDRVのWikiをボケ〜っと眺めていると、YM2151のレジスタマップがあることに気付いた。
                  http://www16.atwiki.jp/mxdrv/pages/24.html

                  「音源ドライバ作る人とか、yコマンド使う人にはお馴染みだったよね。
                   俺には理解できなかったな〜。今なら見たらわかるのかな〜。」

                  なんて思いながら眺めてみたワケ。
                  そしたら訳わかんないのがいっぱいズラ〜〜って書いてあった。
                  見なきゃ良かった…と少し後悔しながらももう少しスクロールさせて下を見て行くと、一つの列にDT1(デチューン1)とマルチプル(MUL)が並んでいる列があって、「ch.A OP1:SLOT=01」なんていうのがOP4のSLOT=32まである。

                  「なんで32もあるんだ???要するに音色一つに付きオペレータ4つ分で、それが8チャンネル同時になるから4×8で32ってことか…」

                  等とわかったようなわからないような事を考える。
                  更によく見ると縦の行は0から7まで区切られている。
                  ああ要するに8ビットの2進数で表すんだ、とか思った時にピコン!と頭の中で閃いた。

                  「ちょっと待てよ。こんな表を前にもどっかで見たような…?
                   あっっ!!!FB-01のパラメータリストだ!」


                  FB-01に搭載されているFM音源チップYM2164はYM2151の上位互換だというのは知られた話(?)。
                  http://d.hatena.ne.jp/longfi/20100211/1265888071辺りを参照)
                  YM2151で使われていないレジスタマップの歯抜けの部分はYM2164で追加されたパラメータに使われているのだ。またFB-01で呼び名が変わっているパラメータ名もこれで全て判る。
                  例えばこの部分。
                  FB-01音色パラメータ

                  これはFB-01のパラメータリストの一部。
                  これをYM2151のレジスタマップと見比べてみると、$40〜$5Fの並びと似ているのだ。
                  異なる点は二つ。

                  一つ目はYM2151には上の画像で言う所の a で表される8ビット目は使用されていない。
                  つまりこの「KEYBOARD SCALING(LEVEL)TYPE BIT1」というパラメータはYM2164で追加された部分。

                  二つ目はYM2151で言う所のDT1がDETUNEに、またMUL(マルチプル)がFREQUENCYと表記されている所。

                  こうやって見ていけばFB-01のパラメータリストでわからなかった部分も全てわかるようになる。
                  SysExの書式については多分前回調べた通りであっているハズだから、これをあてはめて何か一つ音色をエディットしてみればいいかな。
                  ちゃんと鳴ってくれるといいな。今晩辺り試せたら試してみよう。
                  | FB-01 | 14:38 | comments(0) | - | - |
                  md
                  sega
                  FB-01コントロールその5
                  0
                    (この記事は別のBlogで自分用のメモとして書いていたのものです。今回統合することにしたので。)

                     なんとな〜〜くではあるが音色設定についてわかってきた…ような気がする。
                    未だに設定しても(したつもり)鳴っていないが。
                    ここはあくまでも自分のメモ代わりなのでこの時点でわかったことを書いてしまうのだ。


                    音色設定に使うのはマニュアル32ページ。
                    「パラメータチェンジ」の【▲僖薀瓠璽織船Д鵐検2バイト) ●MIDIチャンネル設定】の項目。
                    パラメータNo.はボイスパラメータ表に準ずる。


                    未だに音色名の付け方と音色番号の設定が怪しい。だから鳴らないという話もある。
                    パラメータ設定はとにかく面倒臭い。普通に10進数で設定できる程甘くないのだ。
                    例えばLEFT OUTPUT ENABLE、RIGHT OUTPUT ENABLE、フィードバック、アルゴリズムという4つの項目について一つにまとめなければならない!!
                    書式は【LRcccddd】で、
                    LRはLEFT/RIGHT OUTPUT LEVELの数値。0か1。デフォルトで両方共1。これは1でいいと思う。
                    続いてcccはフィードバックレベル。0〜6。例えばフィードバック6(普通は7っていう)だったら2進数に直して110。
                    次にアルゴリズム。0〜7。例えばみんな大好きアルゴリズム4(異論は認める)の場合はFB-01では3に当たる。これを2進数に直すと011。
                    全部最初の書式に当てはめると、【11110011】になる。
                    それで、こいつを上位4ビット・下位4ビットに分け、それぞれを1バイトとして下位・上位の順番に送り出す。つまり、上位は00001111。下位は00000011。更に16進数に直して下位はx03、上位はx0F。

                    それをこの項目のシステムエクスクルーシブとして記述すると、
                    EX x43,x11,x15,x4c,x03,x0f,xf7
                    となる。

                    ここまでで解決したのはアルゴリズムとフィードバックだけなんすよ。。。orz
                    こんな調子で各パラメータ、しかも複数項目が組み合わさってるので上記のような変換が必要。
                    それをオペレータ4つ全部に対して指定してやらなくちゃいけない。
                    行にしてトータル27行は必要ですかね。。。音色1個だけで。もしかしたら足りない項目があるかもしれないからもう数行増えるかもしれない。


                    そして最後にこうして出来上がった(出来上がるのかどうか今の時点ではまだ不明)音色を、今度はボイスRAMにストアしてやらなければいけない。(多分)
                    書式は、
                    EX x43,x75,x00(システムNo.),x28(楽器番号),x40,(ボイスナンバー),xf7

                    多分こういう手順のはず。
                    しかしながら今の時点ではバンク切り替えて音色番号指定しても鳴らない。。。
                    ただし、本来プリセット音色が鳴るべきなのに鳴らなくなっていることから、ストア自体はされているはず。音色データがおかしいだけで。


                    よし、引き続き研究に励む(でももう飽きた)。


                    | FB-01 | 14:37 | comments(0) | - | - |
                    md
                    sega
                    FB-01コントロールその4
                    0
                      (この記事は別のBlogで自分用のメモとして書いていたのものです。今回統合することにしたので。)

                       前回から随分と間を空けた。
                      結局ハチプロとFB-01で同時に制御出来ない原因として考えられるのは、コンピュータ端子でPCに接続しているハチプロのMIDI端子にFB-01を接続しているからではないか(ポートの都合でおかしくなってるんじゃないか?)ということ。

                      あれからハードオフ行って中古のやっすいMIDIケーブル買ってきた。
                      んでPCのオーディオインターフェース(Audiophile2496)のMIDI端子に接続した。
                      TMIDIのポート設定も設定した。

                      以下のプログラムを鳴らしてみる。



                      #timebase 48
                      #swap<>
                      #swap()

                      B EX x7e,x7f,x09,x01,xf7 ; GM SYSTEM ON
                      B EX x41,x10,x42,x12,{x00,x00,x7f,x00},xf7 ; SC-88 Single Module Mode

                      A EX x43,x75,x00,x10,x20,0,xf7 ;System Channel Numberを1に設定
                      A EX x43,x75,x00,x10,x21,0,xf7 ;Memory Protect OFF
                      A EX x43,x75,x00,x10,x22,17,xf7 ;Configuration number = 18
                      A EX x43,x75,x01,x19,x01,9,xf7


                      A EExff,x21,1,2 C01 "FM test" ; FB-01
                      B EExff,x21,1,0 C01 "SC test" ; ハチプロのポートA
                      C EExff,x21,1,1 C01 "SC test" ; ハチプロのポートB

                      ;**************************************************************** Bass
                      A EX x43,x10,x15,x04,3,xf7 ;バンク切り替え(Ch01)

                      A t100
                      A l4 v127 o4 @7 r1 cdef gab
                      B l4 v100 o5 H0,3 @0 r1 r1 r1 c>bag fedc r1 r1
                      C l4 v100 o4 H0,3 @0 r1 r1 r1 r1 r1 c>bag fedc





                      まずFB-01がオクターブ4から「ドレミファソラシ(↑)ド」
                      次にハチプロのポートAがオクターブ5から「ド(↓)シラソファミレド」
                      <最後にハチプロのポートBがオクターブ4から「ド(↓)シラソファミレド」

                      と、鳴るハズ。
                      結果、


                      鳴った!!!!!!!!
                      FM音源のピアノ、しょぼーーーーーーーーーーー!!wwwwww
                      http://www.sst-band.com/gmb/midi/fb-test.mp3


                      いかにハチプロが古い音源とは言え、そこは流石PCMなのだな。うん。
                      とりあえず最低限度のコントロールは出来て良かった…。
                      | FB-01 | 14:36 | comments(2) | - | - |
                      md
                      sega

                      03
                      --
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      8
                      9
                      10
                      11
                      12
                      13
                      14
                      15
                      16
                      17
                      18
                      19
                      20
                      21
                      22
                      23
                      24
                      25
                      26
                      27
                      28
                      29
                      30
                      31
                      --
                      >>
                      <<
                      --