ラベル CY10 の投稿を表示しています。 すべての投稿を表示
ラベル CY10 の投稿を表示しています。 すべての投稿を表示

2013年5月29日水曜日

CY10で演奏!もうひとつ

もう一つありました。


キー押して音が出るのが遅れるのはソフト音源だからじゃないかと思うので

とかハード音源を付ければ解決するような気がするんだが

2010年2月24日水曜日

視覚障害者用に7

そんでもって

更新するに
vectorから更新の方法が変わりますってメールが気がする

えーと、メールを探して
URLが書いてあったので
そこを読みまして
前までは、メールで送ってたけど
今度は、Webから行うのね

更新するには…


ログイン画面が
IDとパスワードか

パスワード?

さて、何だったけな

確か貰ってたような気はするのだけど…

これかなぁ?

どうだ

これでいいのか…、ポチ、ポチ

一覧が出てきた。



ファイルをアップロードするには、
これでいいのかな、やけに早いけど…。
一覧から確認できる?

あぁ、変わってる
で確認のためにダウンロードしてみてと。
おぉ、なってる、なってる
これでいいんだ

2010年2月23日火曜日

視覚障害者用に6?

そんなこんなで

フォルダだからかな
とか思い
同じところに置くと
開く

あら、そう。

でも、絵のファイルも全部置くのはスマートじゃないし

そしたら、フルパスで実行や

と思って

実行パスがあるところに
help/cy10.htmを足してやると

やっぱり

同じ

フルパスが間違ってるかな?

と思って
文字変数をチェックしてみると

あれ?

あっ

はい、/というのはWeb上の場合で、ファイルの時は\なのでした。

でもって

\を表現するには\\にするので

help/cy10.htmは

help\\cy10.htm

でないとだめなのでした。

cというプロトコル、なるほど。

2010年2月22日月曜日

視覚障害者用に5かな

CY10の改造していて

さてと、

大丈夫そうだだな

ってことで

ファイルをまとめて、ヘルプなんかも書き換えて
最終チェックしてたら
CY10のメニューから

ヘルプが開かない


えっ?



cというプロトコル?

って何?

この項目は、単純に
ShellExecute

htmファイルを実行するようになっている

なのに

なぜ?

ってことで

調べてみると

help/cy10.htm
を実行している

多分、前はすんなり実行されていたように思うので
ブラウザをFireFoxにしたから、かな

もし、このファイルが無い時は
オンラインのヘルプページにトライするようになっている。


ShellExecuteは、失敗すると32以下の数値を返すのだけど
警告をしても成功とみなしているらしい

もしかして

もしかして

Explorerは失敗と返してて
オンラインを開いてただけ?

2010年2月12日金曜日

障害者でも使えるように4

プログラム開発において
暴走というのは


こんなめーッセージが出て
プログラムが突然終わってしまう事です。

動いているうちは、バグといいますが
暴走というのは、もっとヒドイのです。

原因はというと
ポインターを間違えているとか
内部のメモリー構造に関係することだったり
そういった重要なところなのです

で、あまり変更していないのに、どうして

これが、たちの悪い事に
操作の仕方次第で動いてたりしてます

どの辺りか検討をつけて
その辺をはずしてみたり
してみますが
付け足したところではないようです
原因がわかりません

はじめに落ちなければ使えてしまうところをみると
初期値に問題があるようなのですが

それで配列の数値を超えることがあるとか
そういうことですわな



超えるようなことはなさそう…です。

あとは、

ん?

あ?

この変数って

0になることがあるんじゃないか

と…

そうです

/0 ある変数が0だった場合

0で割ってしまう事になります。
0で割る事は出来ません

これかな

ってことで

あっ

落ちなくなった

これか、初期値も0になってるし
これっぽい

2010年2月4日木曜日

障害者でも使えるように3

まずは、クリップボードを読み上げるソフトを探す。
私のPC環境は豪勢ではないので
メモリを圧迫したりするものは使えない。

とりあえず、TxtReaderを使う事にする。

XPには標準で音声合成エンジン英語版が付いている
テストするには十分だろう

さて、まずは読みについてチェックする。
全角の英語でも反応してくれるようだ。

なるほど、よく出来ている。

ということで

しゃべりは、変更可能なように
iniファイルを読み込むためのルーチンと
クリップボードに書き込むルーチン
を組み込みます。

ある程度できたところで
テストをしていると
暴走しました。

ゲッ?

多分、ポインターがらみかな

どこが悪いんだろう?

2010年1月28日木曜日

障害者でも使えるように2

さて、そんなこんなで
久々にCY10をキーボードで操作すると
早速、バグを発見してしまった。
RECがうまくいかない。
shiftがトラック拡張と重複している
EDIT の方でもトラックを設定できるけど…、

これは[F6]にすることにした。
それとコマンドメニューをファンクションキーで
出来るようになっているし、
コントロールボタンもキーが割り振ってあるから
[Tab]でここへきなくても操作できそうだ。

なので、[Tab]はメニューとパラメーターを切り替えるだけでいい。

そんなに難しいことではなさそうだが
内部構造としてファンクションキーが座標を移動して
ボタンを押す事をやっていたので
キーだけで切り替わるように変更する

プログラムの内容を忘れていて
思い出すのが大変だ。

2010年1月25日月曜日

障害者でも使えるように

視覚障害者の方からCY10を使いたいというメールが届いた

なるほど、音が聞ければ音楽はできる
コンピュータを操作するというのも
どうやっているのかと思うほどだけれど
メールもできるのだし、
CY10も探して解凍したらしいので
ある程度の事はできるのでしょう

まず、操作はキーボードを使うそうで
確かにマウスは使えないかもしれない。

CY10は、ほとんどの操作をキーボードからできるように
してあるのだけど、
説明書には詳しく書いてないし
マウス操作の補助的なもので

視覚障害者の方が使い易いかは疑問なところだが
とにかく、どこへ行ったかが音声でわかれば
少しは操作出来るようになるわけで、

しゃべらせればいい。

音声合成のエンジンは結構あるし、
それを利用したソフトもあって

クリップボードの文字をしゃべるというソフトが良さそう

クリップボードへの書き出しは
着メロコンバータで使ったので
割と楽に対応がとれそうだ。

2007年4月10日火曜日

CY10 FAQ&TIPS

CY10 FAQ&TIPS
質問 回答
PCキーボードで和音が出せません。 PCキーボードのハードウェアの特性で同時に反応するキー数が異なります。
同時押しが出来ないキーボードは、安く製造することが出来、比較的安く販売されているようです。
演奏がもたつく事がある。 メモリーが少ないと、この現象が出やすいようです。他のアプリケーションが動作している場合は、終了することをお勧めします。
また、ディスプレイカードによって画面の更新が極端に遅い場合に起きます。 この時は、オプションのDISPをOFFにしてみてください。
音が出る反応が遅い ソフトシンセでは、その構造上どうしても反応が遅くなります。ハード音源でお使いく ださい。また、ハード音源でも遅い場合はMIDIドライバが最新のものか確認してみてください。
音色の変更はどうやるんでしょうか? 「PLAY」の「音色 チェンジ」で行います。
電源を切ると音色などの設定は初期化されるので、同じ音で再生させようとする場合は、 midファイルに入れておく必要があります。
音色設定を書き出す機能でMIDファイルを作り、トラックのMOVEでいっしょにします。 DTM初心者の方へ CY10での音色設定を参照してください。
『ピアノ以外』の音色はどれぐらい入っているのでしょうか? それは、ソフトの性能ではなく、音源の性能に依存します。MIDIで指定できるのは、128*128*128まで可能です。
ピアノが鳴っているようですからそのパソコンには、それなりの音源が搭載されているのだと思います。
音がならない。 MIDIポートを使用している他のアプリケーションが、起動している可能性があります。 そのアプリケーションを終了してから、CY10を起動してください。MIDI OUTは、MAPPERに設定されます。
「UTLI」の「出力ポートの指定」でMIDI OUT の設定を行ってください。 メニューからプログラムを終了するとcy10.datという設定ファイルが保存され、次回起動時からデフォルトになります。
CY10を実行するたびに、かってにネットへ接続しようとしてしまいます。 これは一体何なのですか? 最新バージョンをみます。あがっていればお知らせします。 繋がなくても機能に影響はありません。

2007年4月8日日曜日

CY10 更新履歴

CY10 更新履歴

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.39(2010.2.17)
■メニューからヘルプが開きませんでした。
■ハモナイズ機能で全音下から作成していたのを半音下からに変更しました。
■ステップライト時、スタンバイ時にカウンタが進んでしまうバグ修正。
■キーボード操作を強化。
■視覚障害者用音声ガイド機能。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.38(2007.4.3)
■指揮SYNC(カンタービレ)機能追加

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.37(2006.7.11)
■コピーでコピー元先頭で音符がまたがっていた場合うまくいきませんでした。
■2重ノートオンの訂正ルーチンで複数チャンネルがある場合、変になることがありました。
■コンバインの2重ノートオンの設定が間違っていました。
■EDITでシーケンサ特有のデータの表示が何も表示されてませんでした。
■64トラックの表示でおかしく表示されることがありました。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.36(2006.6.28)
■ヘルプ変更。またメニューから起動時メニューが戻らないのを修正
■自動演奏などで2重ノートオンの現象が発生することがありました。
mix コンバイン トランスポーズで起きた場合は、1ノートに変更するようにしました。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.35(2006.6.11)
■トレーシングの変更で表示が反映されないことがありました
■64トラックに対応、これに伴いポート指定など変更
XFファイルのコードデータを使えるように、自動伴奏のコードデータとしても使えます。
QY70/コード進行テンプレートデータqy70.lzhを参考にするといいでしょう
YAMAHAの EZ-AGEZ-EG なんかのデータも作れるかも。
MUSIC DATA に関連データを置きますので、コピーして使ってください。
YAMAHA XF仕様PDF
■デフォルトの画像を変更しリソースに
■他、細かいバグの修正


CY10 MIDI MUSIC SEQUENCER for Win Ver 1.34(2006.5.23)
■演奏安定度改善

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.33(2006.5.23)
■PCキーボードの入力時に画面に反応するように
■キーボード反応のPageUpとPageDownが反対でした
■キーボードで操作関係を改良
SHIFT+F1でrecボタンに対応
escでStopに対応
EDIT時、+でenter位置へ
■スペースキー反応でRECスタンバイからスタートしませんでした。
■SLEEPがRECで対応しませんでした。
■ショートカットで起動時、ヘルプが開きませんでした。
■着メロ作成機能追加。着メロコンバータに渡すだけだけどね
SHIFT+で設定になる。
■ファイル上書きで変更がなかった場合は、拡張子mid対応のアプリを起動するように
(9x系OSではMIDIのポートは複数開かないので意味がないと思う)
■同様にSHIFT+ファイル書き込みで書き込み後、拡張子mid対応のアプリを起動するように
■EDIT MODE表示でドラム音は、チャンネルの色を変更
■トレース時、PCキーボード使用時は、ベロシティーをトレース元からに変更
■異ファイルを読み込んだ時、停まることがありました。
■裏技的に入れていた画面からピッチベンドをわかり易く対応
(右下TEMPOをクリック)
■同様にコントロールチェンジをわかり易く対応
(さらにクリック、ただし、MIDIに詳しい人限定)
■他関連周辺の改良


CY10 MIDI MUSIC SEQUENCER for Win Ver 1.32(2006.4.29)
■起動時に行っていたバージョンアップ情報をメニューに移動
■EDITで表示がおかしくなるバグ修正
■他

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.31(2006.4.20)
■EDITモードでマウス右を押しながらノートを押した時、MIDIチャンネルを変更できるように。
■データがないトラックの表示色を変更。
■拍子設定を変更
■LSBの表示変更
■EDITモードのバグ修正
■EDITモードでキーボード操作を追加
■他

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.30(2006.1.11)
■メニューの終了から終わる時、保存してないファイルがある場合、終了できませんでした。
■トレース時、データが存在するかTマークの色が変化するように。
■他

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.29(2006.1.11)
■PCキーでトレース機能使用時、同じ音が連続した場合、条件によりデータおかしくなる事がありました。修正
■Off指定時、トレース元トラックのミュートが解除されないのを修正、別だてにした
■トレース元トラックのミュートをノートのみに変更
■画面鍵盤よりマウス入力でトレース機能が効きませんでした。修正
■オクターブの指定8をCOに変更


CY10 MIDI MUSIC SEQUENCER for Win Ver 1.28(2005.12.28)
■データ変更時、保存してない場合の終了確認を行うようにした。 これに伴いセーブして終了が無くなった。
■音色バリエーションLSBに対応。
■音色設定ファイルで変更のあるチャンネルだけ出力し、GSパラも対応。
■ボタン描画のズレを修正
■ウィンドウが切り替わった時の描画のズレを修正
■他

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.27(2005.12.10)
■EDITでTEXTの変更でおかしくなるバグ修正
■音源初期化をGM、XGも対応
■GSパラメータのインサート対応
■文字描画を修正

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.26(2005.11.23)
■データが無いトラックの識別表示
■トレース機能で設定が反映されないバグ修正
■通常のCPU使用率低減化


CY10 MIDI MUSIC SEQUENCER for Win Ver 1.25(2005.8.20)
■トレース機能で、トレース元トラックに録音する時は、トレースをしないように変更。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.24(2004.10.14)
■自動伴奏で、パターンを別のソングの時、タイムベースが違う時に場合、最大小節数が合わないバグ修正。


CY10 MIDI MUSIC SEQUENCER for Win Ver 1.23(2003.4.7)
■録音の時のトラック変更で右クリックしながらだとチャンネルが一緒に変わる機能が使えないバグ修正。
■バージョンアップ情報取得時、インターネットにつないでない場合は、飛ばすように変更。
■「POLY→MONO」の発音数最大値を32音までに増加。
■画面カスタマイズ機能追加。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.22(2002.3.20)
■タスクバーにタイトルを表示するように。
■MIDI OUTポートが多いときに無効なポートを選択する場合があるのを修正。
■他。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.21(2002.1.20)
■送るに登録した際のファイル受け渡しを修正。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.20(2001.9.16)
■EDITの音色チェンジ表示で残像を表示する事がありました。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.19(2001.8.21)
■EDITの音色チェンジ表示を名前に変更。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.18(2001.7.29)
■発音数チェックで17トラックが表示がおかしかった。バグ修正

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.17(2001.7.25)
■テンポ展開機能バグ修正

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.16(2001.6.25)
■ドラッグ&ドロップ対応
■ドラッグ&ドロップ起動でも設定ファイルが有効になった。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.15(2001.5.31)
■MOVE機能拡張

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.14(2001.5.30)
■POLY MONO(まだありました)でおかしくなるバグ修正

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.13(2001.5.29)
■POLY MONO(まだありました)でおかしくなるバグ修正
■その他いろいろ

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.12(2001.3.17)
■コマンド実行時自動でバックアップを取る機能追加
■コード演奏でチャンネルが有効にならないバグ修正
■SHIFTキーの処理がおかしいバグ修正
■POLY MONOでおかしくなる時があるバグ修正
■キーボードで操作を代行出来る機能追加
■その他いろいろ

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.11(2001.1.31)
■MIDIポートMAPPERを優先にした。
■ステップライトで[Ctrl]キーを押した状態で記憶しないようにした。(音を確認しながら行えます)
■コード演奏のとき、キーボードでもコードが鳴るようになった。
■コマンドでトラック指定がある場合に、ALL指定が使えるものがあるようになった。
■「演奏データを削除する」で最後の小節が消えないバグ修正。
■TRACING(ONE KEY)で同じ音程だとおかしくなるバグ修正。
■その他いろいろ

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.03(2000.3.4)
■トラック変更時、SHIFTを押しながら行うとMIDI CHも同時に変更できるようにした。
■リアルタイムでコード変更し伴奏する機能追加。
■ヘルプ起動、ホームページ起動追加。
■メニューを少し変更。(初心者の方がわかりにくいところを改善)
■その他いろいろ

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.02(1999.12.15)
■設定ファイルの保存先が変わってしまうバグ修正。
■MIDI INでレコーディング中、STOPを受信した時の処理が違ってました。修正

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.01(1999.12.11)
■特定のMIDIドライバでエクスクルーシブOUTが安定しなかったようです。修正。

CY10 MIDI MUSIC SEQUENCER for Win Ver 1.0(1999.12.4)
■MIDI IN、バグ修正
■DirectXを使わないWindowモードに変更。
■ワンキー演奏対応。
■音色の設定ファイルを作成できるようにした。
■テキストイベントを編集できるようにした。他EDITモード修正。
■TEMPOの編集ができるようにした。TEMPO変更の処理を変更。
■ノートイベントなどで他のイベントのタイミングを変更できるようになった。
■ファイル削除をなくし、ファイル上書き保存を追加。
■歌詞表示。
■キーボードからコマンドが選べるようになった。
■テキスト処理が間違ってました。修正。
■他、細かいバグ修正。

CY10 MIDI MUSIC SEQUENCER for Win Ver 0.95(1999.7.7)
■EDITでNOTE以外のイベントが削除できないバグ修正。
■削除などで最後のイベントが残ることがあるバグ修正。
■ファイル書き込みで同名更新の確認をするようにした。
■画面の鍵盤を(マイクロコード入力の)コードネームに変更。
■マイクロスケールを初期値に戻すのを追加
■マイクロプログラムチェンジを初期値に戻すのを追加
■マウス右の代わりにSHIFTキーで代用できるようになった。
■マイクロスケールがデータ演奏に反映されないバグ修正。
■コマンドラインでファイルを開くようにした。
■マルチポートが使えるようになった。
■二重起動禁止
■RIVATNT/16MBその他の不具合対応(Easy Link Library暫定版に更新したから)
■やっぱり画面を少し変更。
■その他

CY10 MIDI MUSIC SEQUENCER for Win Ver 0.92(1999.6.12)
■取り込み、再生精度が上がったと思う。(10倍くらいかな。人のわかる範囲ではないと思うけど。)
■カーソルキー↑↓でオクターブを変更できるようになった。
■KARAOKE演奏機能追加。(ドラム以外のピッチを変えて演奏する)
■画面キーボードのマウス反応の改善。
■画面を少し変更。

CY10 MIDI MUSIC SEQUENCER for Win Ver 0.91(1999.3.19)
■PCキーボード入力に対応。和音も出せ、リアルタイムレコーディングも出来ます。
■タスク切り替えを行うと真っ暗になるバグ修正。
■ダイアログ系の変更(移動すると真っ黒になるので固定した)。
■説明書をHTMLに変更。

CY10 MIDI MUSIC SEQUENCER for Win Ver 0.90(1999.2.12)
■だいたい動作するようになったのでWindows版リリース。(割とまんま動いた!!)

CY10 MIDI MUSIC SEQUENCER for Win(99.1.18)
■Windowsに移植開始。(画面サイズが640*480だったので、DirectXならいけるかと)

空白の3年(笑)。

CY10 MIDI MUSIC SEQUENCER for TOWNS(1995.9.8)
■TOWNS版最終リリース。Ver 2.1G

■何回か更新しているNiftyやフリコレに載せている
■詳細はさだかではない。

CY10 MIDI MUSIC SEQUENCER for TOWNS(1992.?.??)
■TOWNS版リリース。

2006年12月15日金曜日

MIDI資料室

MIDI資料室

★★★初心者の方へ 音色の設定★★★

CY10を使う方は、DTM初心者の方も多いようですが、MIDI OUTポートさえ設定すれば、キーボードを押すだけで音が出るので、リアルタイムで録音するところまでは、いくようです。
問題はその後、ファイルを保存して音色が変わらないなどの質問を受けることがあります。pianoに戻るとか。
midファイルは、演奏情報のほかに、はじめの1小節くらいは、音色の設定などの情報が入っている場合がほとんどです。ここで、音源をリセットして、その後、音色を変更するとうことをするのです。このようにすれば、同じ音で再生できます。
シーケンサでは、試行錯誤して一時的に違う音で鳴らしてみたりすることも考えられるので、自動的にmidファイルに反映されません。
ただ、基本的な音色の変更に関しては、「FILE」-「音色設定ファイル保存」でmidファイルに落とすことができるようになっています。設定が保存されるのは、バンクチェンジ、プログラムチェンジ、ボリューム、PAN、リバーブ、コーラスです。このファイルを再生すれば、音源がリセットされてもその時の音色の設定になります。(音源固有の設定を除きます)
あとは、リセットやこのファイルを演奏ファイルとあわせればよいのです。

次にファイルのあわせ方を説明します。 SONG 1に作成中のMIDIがあったとします。
そうしたら「音色設定ファイル保存」で作成したMIDファイルを SONG 2に読み込みます。(CY10はSONG Bankに10曲ロードできます)
次にSONG 2 のトラック1を SONG 1の空いているトラックに 「JOB」「移動」で音色設定を持ってきます。


★★★ラクラク入力★★★

MIDIに曲を入力するのに、一番早いのは、リアルタイム入力でしょう。しかし、それは、完璧に弾きこなせるようになってからの話です。新しい曲を憶えるには、何度も練習しなくてはならないでしょう。ですから、新しい曲を練習もしないで、弾けるようになるということは、絶対音感を持った人でもなければ、無理です。 CY10のワンキー入力は、ノート情報をあらかじめ入れておいて、その情報を元にリアルタイム入力を行うことができます。つまり、どこを弾いても音程をはずすことなく弾けるという状況を作ることができるのです。
それでは、具体的な方法です。まず、ノート情報を入力するためにレコーディングをします。 STEPでもリアルでも好きな方法で入力しでください。このときの音長は適当でかまいません。終わったら「PLAY」の 「演奏設定」で「TRACING」をONにし、先ほどレコーディングしたトラックを「TR」に設定します。あとは、演奏か録音をはじめれば、自動的に「TR」に設定されたトラックはミュートされPCキーボードまたは、MIDIキーボードからの入力は、すべてそのトラックのノートが順番に割り当てられていきます。


★★★MIDIの基礎★★★

MIDIはデジタル楽器同士をつなぐためのインターフェイスでDIN5ピンのケーブルを使ってデータの送受信を行います。データは演奏に関するデジタルデータで、沢山の情報をたった一本のケーブルで送信できます。これもコンピュータのデジタル技術が実現したものと言っていいでしょう。その結果、音源だけの機器、キーボードだけの機器、シーケンサーだけの機器といった、単にそれだけ買ってきたのでは何もできないような機器も市販されています。(最近はオールインワンという色々な機能を一体化したものが多くなりました。)

MIDIで送れる情報は、「鍵盤のドのキーをどれくらいの強さで押した」、「鍵盤のドのキーを離した」と言った演奏情報から音色のセット、さらには機器固有の音色データやセッテイング情報までやりとりすることができるように工夫されています。

MIDIには、16のチャンネルがあり、それぞれ一音色づつ(1パートづつ)割り当てることができます。特にドラムスのパートでは音階に対して一音づつ割り振られ、一つのチャンネルでドラムス全体を受け持つと言う音源が一般的です。また、音色は途中で変更することもできます。

MIDI端子の接続
MIDIの端子は、MIDI-IN、MIDI-OUT、MIDI-THRUの3つがあり、それぞれ別々の役割りを持っています。MIDI-INはデータの受信用です。ここに入るデータにより機器が動作することになります。
MIDI-INに入ったデータは、そのままMIDI-THRUから出力されます。MIDI-THRUは、いくつもの音源をつないだりする時に必要になります。
MIDI-OUTはデータの出力用です。従って、INとIN、OUTとOUTというつなぎは有りません。必ずOUTからINにつなぎます。

MIDIデータ
MIDIデータは、最初の1バイトでステータス(命令、コマンドなど言い方は色々ありますが)とチャンネルが送信されます。上位の4ビットでステータス、下位の4ビットでチャンネルを表します。続く1バイトか2バイトがステータスに対応するデータとなり、ステータスによって何バイトかが決まります。


NOTE OFF
status second third
8nH kkH vvH
n = MIDI channel number : 0H - FH
kk = note number : 00H - 7FH
vv = velocity : 00H - 7FH

鍵盤が離されたという情報です。


NOTE ON/OFF
status second third
9nH kkH vvH
n = MIDI channel number : 0H - FH
kk = note number : 00H - 7FH
vv = velocity : 00H - 7FH
(vvが0ならOFF)

鍵盤が押されたという情報です。いっしょに鍵盤の押された強さのデータも送られます。(強弱はベロシティーといい、速さで感知します。)もし、ベロシティーが0だった場合はキー・オフ(鍵盤が離された)と同じことになります。キーボードの機能によって、べロシティー・データが一定の物もあります。また、音源によってベロシティーは音色にも変化をあたえます。例えば、ピアノの場合、弱く弾くと「ポーン」といった感じの弦をハンマーが叩くといった感じの音ですが、強く弾くと「ガーン」というような弦が振るえて歪んだ感じの音になります。このような効果をちゃんとシュミレーションする音源もあります。


POLYPHONIC KEY PRESSURE
status second third
AnH kkH vvH
n = MIDI channel number : 0H - FH
kk = note number : 00H - 7FH
vv = value : 00H - 7FH

使われるのを見たことがない。音程ごとにモジュレーションなどをかけます。


CONTROL CHANGE
status second third
BnH kkH vvH
n = MIDI channel number : 0H - FH
kk = control number : 00H - 7FH
vv = 各種コントロール値 : 00H - 7FH

コントール・チェンジはコントロール・ナンバーで更に細かくその変更機能の意味が変わります。


PROGRAM CHANGE
status second
CnH ppH
n = MIDI channel number : 0H - FH
pp = program number : 00H - 7FH

音色を変更します。


AFTER TO0UCH
status second
DnH vvH
n = MIDI channel number : 0H - FH
vv = value : 00H - 7FH

キーボードの鍵盤を押し、さらに押し込むことによって音色にモジュレーション(振るわせる)などの変化をあたえるための情報です。音色によって効き具合が違ってきますから効果がない音色もあります。(ピアノの音などでモジュレーションがかかってもおかしいでしょ。)


PITCH BENDER
status second third
EnH llH mmH
n = MIDI channel number : 0H - FH
ll,mm = value : 00H - 7FH

音程を変化させる情報です。ギターとかのチョーキングにあたります。


これらがMIDIの主なステータス(チャンネルメッセージ)です。このようにステータスは必ず80H(128)以上で、それに続くデータは7FH(127)以下になっています。このようにすることで、ランニング・ステータスが使えるようになります。ランニング・ステータスは、例えば

> 90H 40H 60H
> 90H 40H 0H

のようにキーボードを押して離したといった時、次のステータスを省略して、

> 90H 40H 60H
> 40H 0H

のようにできるというものです。つまりステータスが来るべきなのに、127以下だった場合は「前のステータスと同じだ」ということになり、これはそのデータだということになります。MIDIのボーレイトは31.25Kと高速ですが、さらにこのような工夫がされています。


システム・エクスクルーシブ

このほかにシステム・エクスクルーシブ(バルク・ダンプともいいます)というものがあります。これは各機器固有の設定情報や、音色データなど、なんでもありのデータを送る機能です。ステータスは

F0H
nnH nnH ・・・・
F7H
nn = data : 00H - 7FH

F0H の次は、メーカーのIDになっていて受信した機器が分からないデータは無視されるよになっています。


システム・メッセージ

他のシーケンサーと接続した時、必要になるのが演奏の同期です。いくら同じテンポでスタートしても機器によって微妙にテンポは違うものです。このテンポを同期させるためにタイミング・クロックというのを演奏情報といっしょに出すことができます。(4分音符中で24回出ます。)シーケンサーは自分自身のクロックで演奏するか、MIDIのタイミング・クロックで演奏するか、選択できるようになっています。
この時、自分自身のクロックで演奏する機器をマスター側、同期を他の機器にあわせている機器をスレーブ側と言います。また、スタート、ストップ、コンティニューも制御できます。これらをシステム・メッセージといいます。システム・エクスクルーシブも含まれます。

TIMING CLOCK F8H
START FAH
CONTINUE FBH
STOP FCH


シーケンサーのトラック

シーケンサーは、トラックにMIDI情報を記録することができます。トラックは多い方が編集などを行う時に便利です。1つのトラックでも16チャンネル分のパートを入れることができますが、普通は1トラックに1パートという使い方をします。これは後で編集しやすくなるためです。記録されるのはチャンネルメッセージとシステム・エクスクルーシブです。他のシステム・メッセージは記録されません。


★★★SC-8820★★★

SC-8820は、ローランドのGS、GMに対応したMIDI音源です。GM2にも対応しています。同時発音数64音、32パート、1608音色です。上位機種のSC-8850と比べれば、発音数は半分ですが、ほとんどのMIDIデータは、遜色なく再生できるでしょう。
背面は、USB、シリアル、MIDI OUT、MIDI IN、オーディオ出力、入力、ACアダプタ、パワーボタンが並んでいます。もちろんMIDI INにキーボードなどをつなげて演奏させることもできますが、やはり、コンピュータとつないで使う方が威力を発揮します。
私の場合、コンピュータが、最新のものではないので、シリアルでつなげることにします。
コンピュータから使えるように付属のシリアルドライバをSC-8820で使うようにセットしてインストールすると、 MIDI IN が2つ、MIDI OUT が3つできます。
MIDI IN は、SC-8820本体と音色や設定などをやりとりするときに使うものと、 SC-8820に付いているMIDI IN端子です。ここの入力をコンピュータに取り込むことができます。
MIDI OUT は、Roland Serial MIDI Out A、Roland Serial MIDI Out B、Roland Serial MIDI Out Cと SC-8820の音源部が2ポートとSC-8820に付いているMIDI OUT端子が使えます。
音色ですが、コーラス音がかなり強化されていて、男性コーラス、女性コーラス、いろいろな発音があり、歌詞を歌わせることまではできませんが、優秀なコーラス隊がいるように演奏させることができます。アレンジの仕方次第でリアルな感じになるでしょう。
音色についてのエフェクトなどもかなり強化されており、ものすごいの数パラメータがありますが、音色エディット用にソフトが付いており、これで編集してSMFにすることができます。
あまり、音色にコリ過ぎると、他の音源で再生するのが難しくなってしまう傾向にあるので、程々にしておいたほうがいいかもしれません。
キャピタル音は、全体に厚い音色になっているので、SC-55など用に作られたMIDIデータは、ゴージャスな感じになって再生されます。


★★★MIDIプログラム★★★

実際、外部音源を使ってみると、いくつか、今までと違った部分があるようです。
ここからは、想定の話なってしまいますが、ドライバのせいかもしれません。テストしてなんとなく、こうなんではないかといったところの話。ローランドのシリアルの場合です。
この外部音源のポートというのは、何回もオープン出来てしまえるようです。
midiOutOpen();
で、MMSYSERR_NOERRORを返して成功したことを知らせることになっていてるのですが、一回オープンしたポートも、またオープンできてしまいます。
別に認識はされていて、音も鳴るので特に問題はないようにも思えますが、他のアプリケーションからでも開けることになるので、エクスクルーシブがぶつかる時などに問題になるような気がします。
特にエクスクルーシブのアウトは、
midiOutLongMsg();
で送るのですが、他のホームページなどで調べたところ、すべてのエクスクルーシブを出力する前に処理が戻ってくるらしいのです。長いエクスクルーシブもあるわけですから、それは納得できます。
アプリケーションは、送信が完了したことを確認して次のメッセージを送るようにした方が安全です。メッセージがぶつかるとおかしな事になってしまします。一回おかしな事になると、Windowsをリセットしないと、その後、まともに送信できなくなってしまいます。
終わったかはコールバックでMM_MOM_DONEメッセージを見るか、MIDIHDRのdwFlagsを見ることで知る事が出来ます。
エクスクルーシブは間隔をおいて送信するようにMIDIデータが作られているので、このようなことは、あまり起こらないはずですが、沢山の情報がエクスクルーシブといっしょにあるフィードアウトするようなMIDIデータだと待たなくてはならない場合があるようです。
実際、APIやドライバが何をやっているかわからないですが、何回もオープンできると安定しないような気がします。

さて、CY10 V1.0では、MIDI OUTポートのMIDI_MAPPERを開いたあと、すべてのMIDI OUTポートを順番に開いていましたが、Roland Serial MIDI Out AをMIDI_MAPPERにすると、順番に開いく際、エラーを返さないので、もうひとつ同じポートを開いてしまします。このように2回同じポートを開くとエクスクルーシブのOUTが安定しないようです。
多分、ドライバの問題だと思うのですが。なので、CY10 V1.01からは、MIDI_MAPPERはひらかないようにしました。

V1.11からMIDI_MAPPERを優先するようにしました。いくつもポートを使う人は、そういないですし、音が鳴らないなどの問い合わせが多いため変更いたしました。
このとき、MCIコマンドでMIDI_MAPPERをチェックすることにしました。 MCIコマンドを使う場合は、その際、使うMIDファイル名を指定しなくてはなりません。そのため、サンプルとして同梱したMIDファイルを使いますから削除しないでください。


★★★ピッチ・ベンドを入れてみる★★★

CY10では、MIDIキーボードを使うことによって、ピッチベンドなどの情報も入力することができます。
MIDIキーボードに比べるとやりにくいのですが、MIDIキーボードをお持ちでない方でも画面上からリアルタイムにピッチベンドを入力することが出来るようになっています。
画面下方のキーボードのオクターブの数を1にセットし「MIDI OUT : 1」とか書いてあるところ、「TEMPO」の上。ここをクリックというかドラッグすると、ピッチ・ベンドが入れられます。ちょうど『 T 』 のあたりが中心で、左にいくとさがり、右はあがります。
画面右下

をクリックすると

こうなり、青の線の上をクリックというかドラッグというかするとピッチベンドが入ります。
左が下がり、右が上がります。マウスボタンを離すと中心に戻ります。
もう一度クリックすると

となり、コントロールチェンジを入れられます。
もう一度、

をクリックするとテンポに戻ります。