« MIDI規格 next edition | トップページ | 平成18年分 給与所得者の保険料控除申請書 兼 給与所得者の配偶者特別控除申請書 »

2006/11/01

MIDI規格next edition第一回『MIDI TUNING Extensions - Scale Octave Tuning (CA-021/RP-020)』

1ヶ月もかけてしまいましたが、ようやく関数化及びマニュアルの作成にひと段落がつきました。

MIDI規格自体が、1998年から MIDI規格1.0 v96.1 SEから改定されておらず、日本語の文献もその時代のものに留まっているので、MIDI Manufacture Association (米国)で公開されているMIDI Standard next editionを一生懸命翻訳したのです。
足りない英語力で。

ただ、これをサクラ用のドキュメントにとどめるのも勿体無い話なので、
何回かに分けてこのblogで翻訳したものを紹介したいと思います。

第一弾として、MIDI TUNING Extensions - Scale Octave Tuning (CA-021/RP-020)

概要
━━━━━━

■スケール・オクターブ・チューニング
各チャンネルの各オクターブの12個の音階について、チューニングを行います。
MIDIデバイスに選択可能なチューニング・プログラムがある場合、あらかじめ設定されているチューニング・プログラムからのオフセット量を指定します。
チューニング・プログラムはデフォルトで平均律が設定されており、平均律からのオフセット量となります。

詳細
━━━━━━
■Scale Octave Tuning 1Byte format (Real-Time)
各チャンネルの各オクターブの12個の音階について、チューニングを行います。
このメッセージは、即座に、現在鳴っている音もチューニングを変更します。

F0 7F <device ID> 08 08 ff gg hh [ss] ... F7

    F0 7F      Universal Real-Time SysEx header

    <device ID>   ID of target device (7F = all devices)

    08       sub-ID#1 = "MIDI Tuning Standard"
    
    08       sub-ID#2 = "scale/octave tuning 1-byte form (Real-Time)"

    ff       channel/options byte 1
                bit 0~1 = チャンネル15~16
                bit 2~6 = 予約(0固定にして下さい。)
    gg       channel byte 2
                bit 0~6 = チャンネル8~14
    hh       channel byte 3
                bit 0~6 = チャンネル1~7

    [ss]     C(ド)~B(レ)の12音階のチューニング量を12Byteで指定します。
                00H = -64 cents
                40H = 0 cents (=平均律)
                7FH = +63 cents

    F7       EOX

■Scale Octave Tuning 1Byte format (Non Real-Time)
各チャンネルの各オクターブの12個の音階について、チューニングを行います。
Scale Octave Tuning 1Byte format (Real-Time)の、ノン・リアルタイム版です。
このメッセージは、現在鳴っている音はチューニングを変更しません。

General MIDI Level.2(GM2)では、このメッセージの実装が義務付けられています。
従って、GM2規格に対応したMIDIデバイスであれば、このメッセージを使用する事が可能です。
MS-GSは、あくまでも、General MIDI Level.1の上位互換なので、使う事は出来ません。

F0 7E <device ID> 08 08 ff gg hh [ss] ... F7

    F0 7E       Universal Non Real-Time SysEx header

    <device ID>   ID of target device (7F = all devices)

    08        sub-ID#1 = "MIDI Tuning Standard"

    08        sub-ID#2 = "scale/octave tuning 1-byte form (Non Real-Time)"

    ff       channel/options byte 1
                bit 0~1 = チャンネル15~16
                bit 2~6 = 予約(0固定にして下さい。)
    gg       channel byte 2
                bit 0~6 = チャンネル8~14
    hh       channel byte 3
                bit 0~6 = チャンネル1~7

    [ss]     C(ド)~B(レ)の12音階のチューニング量を12Byteで指定します。
                00H = -64 cents
                40H = 0 cents (=平均律)
                7FH = +63 cents

    F7        EOX

■Scale Octave Tuning 2Byte format (Real-Time)
各チャンネルの各12個の音階について、チューニングを行います。
Scale Octave Tuning 1Byte format (Real-Time)の、2Byte format版で、指定できる範囲と制度を大きくしたものです。
このメッセージは、即座に、現在鳴っている音もチューニングを変更します。
最小/最大のオフセットは、100centです。


F0 7F <device ID> 08 09 ff gg hh [ss tt] ... F7

    F0 7F      Universal Real-Time SysEx header

    <device ID>   ID of target device (7F = all devices)

    08        sub-ID#1 = "MIDI Tuning Standard"

    09        sub-ID#2 = "scale/octave tuning 2-byte form (Real-Time)"

    ff       channel/options byte 1
                bit 0~1 = チャンネル15~16
                bit 2~6 = 予約(0固定にして下さい。)
    gg       channel byte 2
                bit 0~6 = チャンネル8~14
    hh       channel byte 3
                bit 0~6 = チャンネル1~7

    [ss tt]    C(ド)~B(レ)の12音階のチューニング量を24Byteで指定します。
                00H 00H = -100 cents (8,192step .012207cent単位)
                40H 00H = 0 cents (=平均律)
                7FH 7FH = +100 cents (8,191step .012207cent単位)
                
    F7         EOX

■Scale Octave Tuning 2Byte format (Non Real-Time)
各チャンネルの各12個の音階について、チューニングを行います。
Scale Octave Tuning 2Byte format (Real-Time)の、ノン・リアルタイム版です。
このメッセージは、現在鳴っている音はチューニングを変更しません。
最小/最大のオフセットは、100centです。

F0 7E <device ID> 08 09 ff gg hh [ss tt] ... F7

    F0 7E       Universal Non Real Time SysEx header

    <device ID>   ID of target device (7F = all devices)

    08        sub-ID#1 = "MIDI Tuning Standard"

    09        sub-ID#2 = "scale/octave tuning 2-byte form (Non Real-Time)"

    ff       channel/options byte 1
                bit 0~1 = チャンネル15~16
                bit 2~6 = 予約(0固定にして下さい。)
    gg       channel byte 2
                bit 0~6 = チャンネル8~14
    hh       channel byte 3
                bit 0~6 = チャンネル1~7

    [ss tt]    C(ド)~B(レ)の12音階のチューニング量を24Byteで指定します。
                00H 00H = -100 cents (8,192step .012207cent単位)
                40H 00H = 0 cents (=平均律)
                7FH 7FH = +100 cents (8,191step .012207cent単位)

    F7        EOX


※ 単位の"cent"について
 周波数(音程)の単位で、 100cent = 1半音となります。

|

« MIDI規格 next edition | トップページ | 平成18年分 給与所得者の保険料控除申請書 兼 給与所得者の配偶者特別控除申請書 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/36969/12516945

この記事へのトラックバック一覧です: MIDI規格next edition第一回『MIDI TUNING Extensions - Scale Octave Tuning (CA-021/RP-020)』:

« MIDI規格 next edition | トップページ | 平成18年分 給与所得者の保険料控除申請書 兼 給与所得者の配偶者特別控除申請書 »