αJunoの内蔵コーラス


Roland Junoシリーズのシンセサイザーは、初代のJuno-6からコーラスが搭載されています。コーラスは、時間変化するエコーのようなエフェクタです。入力信号のコピーが、若干の時間遅れで一度だけ付加されます。この時間遅れの大きさがLFOで周期的に変化します。また、同じ処理を左右のチャンネルに対して行うのですが、JunoシリーズではLFOの信号を左右のチャネルで逆相にすることでステレオでの広がり効果を出しています。

下のGIFアニメーションはαJunoで低周波のパルス波にコーラスをかけた様子です。緑と赤が左右のチャンネルの信号です。エコーが時間変動していること、左右のチャネルで時間変動が逆相になっていることがわかります。

Junoシリーズのコーラスは、Junoの音色を決定づけている大きなポイントになっています。開発者の方々もこだわりが強いところのようです。

井土 私からは、“ここだけは押さえておけよ”と伝えていました。

–“ここだけ”というのがどこなのか気になります。
井土 (JUNO-106の)コーラスです。“とにかくコーラスだけはちゃんと作れよ”と念を押しましたね(笑)。
Roland – Stand-Alone Articles – Roland Boutique 製品開発ストーリー #2

JunoシリーズのコーラスはBBDという素子を使った回路で、LFO信号のrateやコーラス成分の大きさ(depth)のパラメータは機種ごとに変化しています。
それぞれの機種の仕様が以下のページにまとめられています。

roland_ensembleFX_choruses

Junoシリーズのところだけ抜き出すと以下のようになっています。

Juno-6:
I = 100% amount, 0.4Hz, triangle / II = 100% amount, 0.6Hz, triangle / I + II = 25% amount, 8Hz, sine like

Juno-60:
I = 100% amount, 0.5Hz, triangle / II = 100% amount, 0.8Hz, triangle / I + II = 8% amount, 1Hz, sine like

Juno-106: Juno-60と同じらしい

αJuno: LFOを0~127のパラメータで設定

Juno-106までは「Chorus I」「Chorus II」という二つのボタンがメインパネルにあり、それらを(どちらか又は両方)押すことで設定を変えていました。αJunoでは音色プログラミングの中でコーラスのオンオフとレート(0~127)を設定するようになっています。

共通に使用されているBBDは松下のMN3009というチップです。この当時のBBD素子としては非常にポピュラーだったもののようです。以下のリンクに当時のデータシートらしきものを見つけました。

BBD-Manual.pdf

MN3009の概略は以下のようになっていました。

BBD素子は、入力信号をサンプリングしてバッファに蓄積し、それを出力するという仕組みになっています。バッファの実体はコンデンサで、入力信号の電位を、蓄積した電荷として記憶します。

コンデンサは上の図のように、2つの電子スイッチの間に接続されています。電子スイッチはクロックでオンオフされますが、1つおきに逆相のクロックが与えられています。そのため、コンデンサは1つ前のコンデンサに接続される状態と、1つ後のコンデンサに接続される状態が交互に生じます。

クロックがHのときに電位を先頭のバッファにサンプリングしたとすると、クロックがLのときはサンプリングした電位を2番目のバッファへコピーします。そして、再度クロックがHになったとき、3番目のバッファが2番目のバッファの電位をコピーします。

この仕組みによって、コンデンサに蓄えられた電荷はクロックごとに後段のコンデンサへ移っていきます。

記憶された電位自体はアナログ的に記録されていますので、後段へ伝播する過程でだんだん劣化していきます。また、最終出力段では信号はクロック周波数に応じて階段状に変化する信号なりますので、ローパスフィルターを使ってクロック成分を除去する必要があります。

MN3009はバッファが256段、クロックが10KHz~200KHzとなっています。クロックは入力信号に対してサンプリング周波数として働きます。クロックのHとLのそれぞれでバッファを1段消費しますので、サンプリング周波数に対しては128個のバッファがあることになります。従って、10KHzサンプリングで128段、すなわち12.8msecが最長の遅延時間となります。

αJunoでは、クロックの生成に同じ松下のMN3101というチップが使われています。このチップは下図のような内部構成になっており、内部のオシレータまたは外部からの信号により、逆相の2つのクロック信号を生成します。

内部オシレータはインバータ2個で構成されており、以下のように外付けのC1/R1/R2で周波数を決定します。また、5番6番のピンを開放とすれば7番ピンに外部から信号を与えることもできます。

次の図はαJunoのコーラス部分のブロック図です。BBDとある部分に、MN3009とMN3101が使われています。左右で独立した回路となっており、LFOの信号は左右で逆相で供給されています。

入力音声は、まずLPFで高域をカットしてからBBDへ入力され、BBDからの出力ではクロック成分をカットするために再度LPFを通しています。このLPFは、下図のようにオペアンプを使った正帰還型LPFです。BBDの前段も後段もLPFの定数は同じで、計算するとカットオフ周波数=9773Hz、Q=2.0878となります。

入力側のLPFの直前、出力側のLPFの後(加算回路の手前)にもRCによるLPFがついています。C=0.0018uF、R=10Kでカットオフ周波数は8842Hzとなっています。

BBD部分の回路は以下のようになっています。MN3101の7番ピンに入力される、クロックの元となる信号は外部のVCOから供給されており、VCOには温度補償回路がつけられています。これはローランドのコーラスではおなじみの回路のようで、こちら(12)に同様な回路の解説があります。

そのクロック源の制御信号を生成しているのが以下の回路です。クロックの周波数はメインボードのDACを使って生成しているLFO用CV信号で制御されています。

コーラスrateの周波数がどの範囲で変動するのか、回路図だけでは読み取れないのですが、上のオシロスコープの画像から読み取る限りでは、遅延は0.6msec~4.6msecくらいの範囲で変動しています。その変動速度を制御するLFOは、ざっくり計測した感じだと15Hz~0.008Hzくらいの範囲で設定できるようです。(LFOの遅いほうの周期は2分以上になりますので、むちゃくちゃ長いです。)サンプリング周波数の下限値は、波長が4.6msecの1/128くらいですので28KHzくらいになる計算です。ローパスフィルタはカットオフが10KHz弱ですので、計算は合いますね。

BBDを通過して得られたコーラス信号は、再度LPFを通り、コーラスON/OFFの電子スイッチに到達します。
LPFの直後にはRCによるHPFが挟まっています。C=0.047uF、R=100Kでカットオフ周波数は34Hz程度となります。

以下は低周波にコーラスをかけた波形ですが、元波形(左端)に比べると、コーラス成分(中央および右端)は低周波成分がカットされています。

コーラスがONのときは、生成されたコーラス信号と元信号を加算回路で合成します。この部分はオペアンプを使った普通の加算回路です。(下図の下半分)

合成された信号はエキスパンダに送られます。
BBDを使ったコーラスは雑音が載るので、コンプレッサとエキスパンダをセットにしたコンパンダを使ってS/Nを上げることがよくあります。BBDに入力する前に、音量の小さい信号を増幅しておき、BBDから出力された後で、拡大した信号を元の大きさへ減衰させるわけです。

αJunoはこの部分で独特の構成を取っています。前述のroland_ensembleFX_chorusesに以下のような解説があります。

The Juno-1 is the first Roland synths that used compression/expansion for noise reduction in the chorus section. The compression is not achieved by the usual NE570/NE571 pair. Instead of Roland used a “compressed” envelope voltage for the VCAs and then placed a second VCA after the after the Chorus lines, which was fed with an “expanding” CV.
(Juno-1は、コーラスセクションのノイズ低減のためにコンプレッサ/エキスパンダを使った、ローランド初のシンセだ。コンプレッサはよくあるNE570/NE571ペアによるものではない。その代わりにローランドは、VCAの制御電圧を「コンプレスした」状態で使い、コーラス出力の後段に配した2番目のVCAを「エキスパンド」した制御電圧で動作させている。)

以前、αJuno-2のVCAの解説の際に

EXP端子にはVCAのレベル信号のほか、コーラス回路からの信号がCOMPANDING CVとして入力されています。
おそらく、コーラスがオンのときに音量を下げる働きをするのではないかと思います。

と書きましたが、これはコーラスの出力側のエキスパンダと連動してVCAをコンプレッサとして動作させるための信号だったのですね。

なお、αJunoのサービスマニュアルにはこれについての記載は見当たりませんでしたが、αJunoと同じVCA/VCFとコーラスを内蔵するSuperJXの音源モジュール版であるMKS-70のサービスマニュアルのP.6に、

IC40(IR3R05)のVCAとIC47(5241L)は、コンプレッション/エキスパンドとして働き、SN比を改善しています。

という記載がされていました。

コメント