VRC7のユーザー定義音色

Last-modified: 2022-06-10 (金) 10:45:34

目次

レジスタマップ

アドレスD7D6D5D4D3D2D1D0オペレータ
00AMVIBEG TYPKSRMULTIModulator
01Carrier
02KSLTLModulator
03-DCDMFBCarrier
04ARDRModulator
05Carrier
06SLRRModulator
07Carrier

この値を@OP<num> に設定します。
VRC7 utilityで音色データからレジスタ値を簡単に計算できます。
VRC7_utility

レジスタの説明

AM (AmplitudeModulation)

0~1


  • 振幅変調(トレモロ)のスイッチです。

VIB (Vibrato)

0~1


  • ビブラートのスイッチです。

MULTI (Multiple)

0~15


  • 発音するキーに対する倍率が発音周波数となる
    MUL0123456789ABCDEF
    倍率1/2123456789101012121515
    例) F(t)=Esin(ωft+Isin(7ωft))
      F-Numberによる周波数=ωft
      搬送波(Carrier)のMULTIPLE=1
      変調波(Modulator)のMULTIPLE=7

TL (TotalLevel)

0~63


  • エンベロープジェネレータの出力に対して減衰量を加算し、音色の制御をするための値です。
    最小分解能は0.75dBで、最大47.25dBまで変調度を絞り込むことができます。
    TLD5D4D3D2D1D0
    減衰量(db)2412631.50.75

DC (DistortionCarrier)

0~1


  • 搬送波(Carrier)の波形を半波整流します。0:正弦波 1:半波整流波

DM (DistortionModulator)

0~1


  • 変調波(Modulator)の波形を半波整流します。0:正弦波 1:半波整流波
    正弦波、半波整流

FB (FeedBack)

0~7


  • 第1スロット(Modulator)のフィードバックFM変調の変調度を与えます。
    FB01234567
    変調度0π/16π/8π/4π/2π
    FeedBack
  • フィードバックするとかなり強烈で複雑な倍音を得られますが、設定はかなり複雑になります。

KSL (KeyScaleLevel)

0~3


  • 多くの自然楽器は音程が高くなるほど減衰します、それをシミュレートします。
    KSL減衰量
    D7D6(dB/OCT)
    000
    1 00 11.5
    0 11 03
    116
    ※OPLシリーズの資料では減衰量1.5と3でbitが逆になっており間違っているらしい。
    (参考:RuRuRuさんChabinnさんの発言より1 2 3
  • 3db/OCT(オクターブ)の場合の各F-Number(周波数レジスタ)での減衰量
    \OCT F-Num01234567
    00.0000.0000.0000.0000.0000.0000.0000.000
    10.0000.0000.0000.0000.0003.0006.0009.000
    20.0000.0000.0000.0003.0006.0009.00012.000
    30.0000.0000.0001.8754.8757.87510.87513.875
    40.0000.0000.0003.0006.0009.00012.00015.000
    50.0000.0001.1254.1257.12510.12513.12516.125
    60.0000.0001.8754.8757.87510.87513.87516.875
    70.0000.0002.6255.6258.62511.62514.62517.625
    80.0000.0003.0006.0009.00012.00015.00018.000
    90.0000.0753.7506.7509.75012.75015.75018.750
    100.0001.1254.1257.12510.12513.12516.12519.125
    110.0001.5004.5007.50010.50013.50016.50019.500
    120.0001.8754.8757.87510.87513.87516.87519.875
    130.0002.2505.2508.25011.25014.25017.25020.250
    140.0002.6255.6258.62511.62514.62517.62520.625
    150.0003.0006.0009.00012.00015.00018.00021.000
    F-Numberは上位4ビットの値
    1.5dB/OCTは上記の1/2倍
    6dB/OCTは上記の2倍

KSR (KeyScaleRate)

0~1


  • 多くの自然楽器は、音程が高くなるほど、音の立ち上がり、立ち下がりが速くなります。それをシミュレートするスイッチです。
  • キースケールオフセット
    01234567オクターブ
    0101010101010101F-Num MSB
    0000111122223333KSR=0Rks
    0123456789121112131415KSR=1
    ※F-Num MSBは周波数レジスタの最上位ビット
    RATE=4×R+RksRはAR,DR,RRでの設定値
    Rksはキースケールオフセット値
    ただし、R=0のときはRATE=0
    各レイトでの立ち上がり、立ち下がり時間も参照して下さい。

EGTYP (EnvelopeGeneratorType)

0~1


  • 減衰音か持続音かの切り替えをします。0は減衰音、1が持続音です。
    減衰音、持続音のエンベロープ
    ※SUS ON:ppmckではサスティンOn/Offは制御できません。
    (因みにSUS ONの場合はRRが5になるだけなので、RRを5とすればSUS ONの代わりになります)

AR (AttackRate)

0~15


  • 音の立ち上がり時間の設定です。数値が大きいほど速くなります。

各レイトでの立ち上がり、立ち下がり時間を参照して下さい。

DR (DecayRate)

0~15


  • アタック後の減衰時間を決めます。数値が大きいほど速くなります。

各レイトでの立ち上がり、立ち下がり時間を参照して下さい。

SL (SustainLevel)

0~15


  • アタック後、減衰してくるボリュームです。このボリュームまで下がったあと持続音ならその音量がずっと保たれ、減衰音なら後述のリリースで決められたスピードでさらに減衰します。
    SLD7D6D5D4
    減衰量(dB)-24-12-6-3

RR (ReleaseRate)

0~15


  • 音の消えていく時間の設定です。数値が大きいほど速くなります。
     

  • RATEは、キースケール(KSR)後のRATEです。
    また、レイトの値を上位4ビット(RM)と下位2ビット(RL)に分割してRM-RLと表しています。
  • RATE=RMx4+RL
    RM:AR,DR,RRの値
    RL:Rksの値、3を超えた値はRMに桁上がり(RKsはKSRを参照)
  • 各レイトでの立ち上がり、立ち下がり時間
    RATEEG decay time[ms]EG attack time[ms]
    RMRL0dB-40dB10%-90%0dB-40dB10%-90%
    1531.270.520.000.00
    1521.270.520.000.00
    1511.270.520.000.00
    1501.270.520.000.00
    1431.470.600.140.10
    1421.710.680.180.12
    1412.050.820.220.14
    1402.551.030.280.18
    1332.941.210.300.22
    1323.421.370.340.22
    1314.101.650.420.26
    1305.112.050.500.32
    1235.872.410.540.36
    1226.842.740.600.38
    1218.213.300.700.44
    12010.224.100.840.54
    11311.754.830.970.64
    11213.685.471.130.72
    11116.416.601.370.84
    11020.448.211.691.09
    10323.499.651.931.29
    10227.3610.942.251.45
    10132.8313.192.741.69
    10040.8716.413.382.17
    9346.9919.313.862.57
    9254.7121.884.512.90
    9165.6526.395.473.38
    9081.7432.836.764.34
    8393.9738.627.725.15
    82109.4243.779.015.79
    81131.3152.7810.946.76
    80163.4965.6513.528.96
    73187.9577.2415.4510.30
    72218.8487.5418.0211.59
    71262.61105.5621.8813.52
    70326.98131.3127.0317.38
    63375.90154.4830.9020.60
    62437.69175.0736.0423.17
    61525.22211.1243.7727.03
    60653.95262.6154.0734.76
    53751.79308.9661.7941.19
    52875.37350.1572.0946.34
    511050.45422.2487.5454.07
    501307.91525.22108.1369.51
    431503.58617.91123.5882.39
    421750.75700.30144.1892.69
    412100.89844.48175.07108.13
    402615.821050.45216.27139.03
    333007.161235.82247.16164.78
    323501.491400.60288.36185.37
    314201.791688.95350.15216.27
    305231.642100.89432.54278.06
    236014.322471.64494.33329.55
    227002.982801.19576.72370.75
    218403.583377.91700.30432.54
    2010463.304201.79865.08556.12
    1312028.664943.28988.66659.11
    1214006.805602.391153.43741.49
    1116807.206755.821400.60865.08
    1020926.608403.581730.151112.24
    レイトが「0」の場合は、エンベロープは変化しません。
    リリースレイトの減衰時間は、ディケイレイトの表と同じ
     
     
     

OPLLでの楽音の作り方

下記はYM2413アプリケーションマニュアルから抜粋させて頂きました。

この章では、OPLLのオリジナル音色レジスタに、どのような値を入力すると、ピアノやブラスなどの楽音を作ることができるかを説明します。

1.音作りの考え方

FM方式での音作りの基本は、まず作りたい楽器の特徴をよく理解することです。例えば、ピアノであれば、鍵盤を押したときに、鋭い音の立ち上がりがあり、その後、押鍵を続けていれば、徐々に音が消えて行くエンベロープを持っています。また、倍音の構成も立ち上がり時に多く、時が経つに連れて倍音の数は少なくなり、一定の倍音構成に近づいて行きます。
以上のような特徴をつかんだ後、FMの式でいかにして実現するかを考えます。エンベロープの特徴から出力振幅を、そして倍音構成から変調指数を決めることができます。また、倍音の構成はオペレータの周波数も関与していますから、周波数比もある程度決めることができます。このように、各楽音の特徴からFMの各パラメータをおおまかに決め、その次に音を聞きながら細部をつめてゆくようにすれば、望みどおりの音色を得ることができます。

2.音作りの基本

FM音源とは、モジュレータによってキャリアを変調することから生じる効果を利用したものです。したがって、FMの基本式パラメータ(キャリアの出力レベル、モジュレータの出力レベル、モジュレータのフイードバックレベル、キャリアの周波数、モジュレータの周波数)を上手に扱うことにより、各楽音のピッチ、音色、音量のすべてを決めることができます。このFMの各パラメータとOPLLのパラメータとの関係は、表のとおりです。

表 OPLLの音作りの基本

項目関与するパラメータMIN←(音の変化)→MAX
キャリアの出力レベルTOTAL LEVEL (A/D/S/Rの各データ、KeyScaleデータ)音量小←→音量大
モジュレータの出力レベル丸い音色←→明るい音色
モジュレータのフイードバックレベルFB普通の音色←→鋭い音色(Noise)
キャリアの周波数MULTIPLE (BLOCK/F-Number)ピッチ低←→ピッチ高
モジュレータの周波数近い倍音←→離れた倍音

3.音作りの例

  1. エレクトリックピアノ
    1. オペレータの周波数の決定
      整数倍の高調波をすべて出すために、2つのオペレータともにMULTIPLEは「1」を使います。
      (増加は整数倍数によります。)
    2. オペレータの出力レベル
      今度はモジュレータの出力を変更して音色を調整します。このとき、オペレータ1のレベルを決めるときには、低音部がまずピアノらしいリッチな高調波を得られるように設定し、それから高音にかけての変化はオペレータ1のレベルスケーリングで調整します。高音部ではほとんど正弦波になる位までレベルスケーリングをする必要があります。
    3. EGの設定
      ここでは音量と音色のエンベロープを決めます。まず、オペレータ2はアタックを鋭く、しかもある程度長く伸びるエンベロープにします(これは程度を変えさせることができます)。モジュレータになるオペレータ1では立ち上がりだけ倍音が多く、あとは一定にして音色変化はさせません。音量調整としてオペレータ2についてもキースケーリングをかけます。また、高音部にかけて音のシャープさを出すためには、RATEのスケーリングを行うとよいでしょう。
    4. データの再調整
      以上で音作りはほぼ終了ですが、EGなどのセッティングにより音色が幾分違ったものになってきます。この場合、オペレータの出力レベルやフイードパックレベルを再調整して、最終的な音に仕立てます。例えば、金属的な響きが強すぎると思われる場合には、オペレータ1のレベルを下げます。
    5. エフェクト付け
      最後にエレクトリックピアノの音をより生かすために、トレモロ効果をLFOによって付加します。これは内蔵の振層変調の機能を利用してもよいですし、ソフトウェアでTOTAL LEVELの値を2~6Hzの周期で更新(三角波で可)することも可能です。
  2. トランペット
    1. オペレータ出力
      モジュレータであるオペレータ1のトータルレベルは$1O~$28程度の控えめな値にし、フイードバックレベルはブライトな響きを出すために最大の「7」にします。
    2. オペレータの周波数
      基本的には、両方のオペレータ共に1倍にセットすればよいでしょう。
    3. EG
      2つのオペレータとも、ゆっくりとしたアタック音にします。そしてブラスのサウンドではモジュレータのアタックはすべてキャリアよりも遅くします。「プァン」というブラス特有のアタックを表現するのに必要なことです。
    4. キースケーリング
      ゆっくりとした立ち上がりにエンベロープをセットしたため、高音部でハギレが悪くなります。このため、速いパッセージを弾いたときに不自然にならないように、レイトスケーリングを少しかけます。
    5. LFO
      ブラスはどんな上手なプレーヤーが吹いても、ロングトーンの場合にはピッチがほんの少し揺れてきます。これを表現するためにビブラート効果を加えます。
       
       
       

参考資料