Roland αJunoのDCO(7)

αJunoも、他のJuno同様にノイズを音源にすることができます。
下図がαJunoのノイズの波形です。
これを見ると、Juno-106までと異なり、αJunoではノイズもデジタル方式になっているようです。
1と0がランダムに出力された波形になっています。

aj-dco-noise1.png

もう少し拡大して見てみると、パルスとパルスの最短の間隔は42.5μsecくらいでした。
つまり、23.5KHz以下の様々な周波数の矩形波を切り替えながら出力しているということになります。
aj-dco-noise2.png
デジタル回路でノイズを生成する方法としては、M系列というホワイトノイズに近い数列を生成できるLinear-feedback shift register(LFSR)という方式が有名なようです。
実際のところαJunoでどのような方式が使われているのかは分かりませんが、おそらくLFSRを使っているのだろうと思います。

ちょっと脇道にそれますが、以前スペースインベーダーのサウンド生成を調べた際も、ノイズはシフトレジスタで生成されていました。
その回路は4006という18段のシフトレジスタを使っており、下図のような構成になっています。

invader-noise.png

ちょっとわかりにくいですが、シフトレジスタをD5→Q9→D1→Q4→D10→Q13→D14→Q17という構成で接続しています。
これを書き下すと次の図のようになります。
LFSR的には、
X^17 + X^5 +1
という多項式になるようです。

invader-noise2.png

さて、このノイズも含めると、αJunoのDCOは

・矩形波(3種)
・鋸波(5種)
・1オクターブまたは2オクターブ下の矩形波(6種)
・ノイズ

の4つを足し合わせた波形を出力できます。

中でも有名なのが「Hooverサウンド」でしょう。(ビデオでは2:30あたりから)

この音の元になったのは、ファクトリープリセットにある「What the」という音色のようですが、これは
・PULSE3(PWMありのPULSE)
・SAW3(PWMありの鋸波)
・SUB6(2オクターブ下のデューティ比25%の矩形波)
・NOISE
を足し合わせています。
フィルターやエンベロープ無しの素のDCO出力の音はこんな感じです。

波形を見てみると以下のようになっています。
1DCOとはいえ、ずいぶん複雑な波形になっていますね。
なのになぜか音は不思議とあっさりしています。
これはαJunoの独特な持ち味のように思います。

aj-dco-hoover.png

Roland αJunoのDCO(6)

前回、αJunoのDCOでは波形をパルス波でスイッチング(あるいは、パルス波を波形で変調)した波形が特徴だと書きました。
今回はその実現方法について考えてみます。

登場する波形は、基準の周波数をfとして

・8f, 4f, 2f, f, f/2, f/4の方形波(デューティ比50%)
・2f, fのPWM矩形波
・fの鋸波

です。

これらを使ってサブオシレータの6つの波形を生成するには、下図ように2つの波形のANDを取れば実現できます。

aj-dco-sub.png

また、鋸波の5つの波形も、下図のようにすれば生成できます。
4つの三角で表している記号はアナログスイッチです。左右の信号の接続・切断を上部の制御端子で制御します。
どの波形も基本は鋸波で、制御端子に加えている信号だけが違います。

aj-dco-saw.png

このアナログスイッチですが、実際にはトランジスタ1個で実現できます。
下図は、Roland αJunoのDCO(4)で触れたJuno-106の波形生成部分をBSch3Vで書き直したものです。
鋸波は、「SAW on/off」信号によってオンオフすることができます。
先の図で示した5種類の波形を生成するには、制御信号を「SAW on/off」へ入力すれば実現できると思われます。

wavegenerator.png

パルス波の3つの波形は簡単ですので省略します。

上に示したように、αJunoのDCOでは様々な制御信号を生成する必要があります。
矩形波については、8fの周波数の矩形波を分周すれば4f、2f、f、f/2、f/4の矩形波が生成できます。

若干悩むのは、PWMの波形です。
周波数がfのPWM波形は鋸波から生成できますが、2fのPWM波形は生成できません。
2fの矩形波は生成されていますが、ここから鋸波を生成してさらにPWM波を生成するのは無駄が大きい気がします。
2fのPWM波形は、SAW3でしか使用されておらず、2fの鋸波はどこにも使われないからです。

PWM波形の生成は、プログラマブル・カウンタの値がある値以上であれば出力1、そうでなければ0、というようにデジタル処理で生成することもできます。
この場合はデューティ比を離散的にしか変更できなくなりますが、αJunoのパラメータ指定はスライダが無く、デジタルのみで行いますので、デジタル方式で良いという判断はありそうです。
この方式はPWM波形専用のカウンタが必要になるものの、鋸波を発生させたりCVをホールドする回路が不要になります。

Roland αJunoのDCO(5)

aj-dco1.jpg

前回まではJuno-60/106の回路図を元にDCOの動作について考えてきましたが、αJunoではJuno-60/106よりも波形のバリエーションが多くなっています。
その一覧はαJunoのトップパネルにも表示されています。
パルス波が3種類(PULSE1~PULSE3)、鋸波が5種類(SAW1~SAW5)、サブオシレータが6種類(SUB0~SUB5)です。
PULSE0とSAW0は「OFF」を表します。サブオシレータはOFFを表す波形が無く、別のパラメータ(SUB LEVEL)でOFFを指定します。

alpha-juno-dco.jpg

先日購入したばかりのAnalog DiscoveryでDCOからの出力をキャプチャしてみました。
VCFへ入力される直前の信号(以下の回路図の矢印の位置)で測定していますので、フィルタの影響は全く受けていないはずです。

aj-dco2.png

まずパルス波ですが、これは特に変わったところはありません。
パルス波はLFOでPWMをかけることができ、LFOレートが0のときは任意のデューティ比に固定することもできます。
用意されているのは、上記に加えてデューティ比50%および25%の波形です。

αJuno独特の波形としては、まず鋸波を高速にオンオフした波形があります。
あるいは、パルス波を鋸波でPAM(パルス振幅変調)したものとも言えます。
周波数は、鋸波の周波数の1オクターブ上と3オクターブ上の周波数です。

aj-dco-saw2.pngaj-dco-saw4.png

さらに合わせ技?として、3オクターブ上の矩形波を1オクターブ上の矩形波でオンオフした結果の波形で鋸波をオンオフする波形があります。

aj-dco-saw5.png

また、1オクターブ上のPWM波形でオンオフした波形もあります。このオンオフに使われている波形はパルス波のPWMモードの波形と同期しています。

aj-dco-saw3.png

鋸波は、これらに素の波形を加えた5種類が用意されています。

サブオシレータについても、同様の波形が用意されています。
サブオシレータの周波数から見て2オクターブ上の矩形波および3オクターブ上の矩形波を使ってサブオシレータをスイッチングした波形です。

aj-dco-sub2.pngaj-dco-sub3.png

サブオシレータはこのほかに、素の波形、デューティ比25%の波形がそれぞれ-1オクターブ、-2オクターブで用意されていますので、都合6種類となります。

以上を周波数に着目して整理すると、以下のようになります。

・f PULSE1、PULSE2、SAW1~5
・f(PWMあり) PULSE3
・f/2 SUB0~3
・f/4 SUB4、SUB5
・2f SAW2、SAW5およびSUB2をスイッチング
・2f(PWMあり) SAW3をスイッチング
・4f SUB3をスイッチング
・8f SAW4、SAW5をスイッチング

次回はαJunoのDCOの内部構成について考えてみます。