アナログ・シンセサイザを学研 sx-150で学ぶ

published_with_changes 更新日: event_note 公開日:

labelLTspice labelシンセサイザ

のこぎり波の製作から始まって、アンチログ回路とVCOの製作に至りました。当初は考えていなかったのですが、ボリュームで音色やテンポが変わるのでシンセサイザのようなものができたことになります。

15年以上前に学研からsx-150というアナログ・シンセサイザが発売されたことと、その定数付き回路図がネットに公開されていることを知りました。自作回路にはない、音作りのための波形操作の機能/回路がそのシンセサイザには搭載されています。音を鳴らすことよりも、その音が鳴る回路や音の波形に興味が湧きます。

フリマではまだ手ごろな価格で売っているので、これを入手して、LTspice解析と実機波形の観察を行ってみようと思います。


音の入力

音の仕組み

sx-150の取扱説明書には、次のように説明されています。

電極棒で演奏を始めると、まずコントローラーが2種類の制御信号を発生します。一つは、CV(Control Voltage、制御電圧)と呼ばれる、音の高さを制御する信号です。もう一つは、ゲートと呼ばれる、音のオン/オフを制御する信号です。

CV は、カーボンパネルの位置に応じて変化します。ゲートは、電極棒がスライドパネルに接触するとON になります。

この2種類の信号は、VCO に渡されます。VCO は、ゲート信号が上がっている間、音信号を発生します。音の高さは、CV に応じて決められます。VCO の出力のままでは、「ブー」というブザー的な単調な音しか出せません。そこで、

この信号をVCF に通します。VCF は、音信号の周波数成分のうち高音域だけを削り取って、音色を加工します。この時、ただ加工するだけでなく、フィルターのかけ方を、ゲートが開始してからの時間に応じて変動させ、音色に変化を付けます。

この時間変動EG(Envelope Generator、エンベロープ・ジェネレーター)からの信号で制御します。EG は、ゲートONを合図に、一度立ち上がってから減衰するパターンの信号を発生します。立ち上がり時間と減衰時間は調整でき、これでさまざまな変動パターンが作れます。もう一つ、

ふろくシンセはLFOと呼ばれる、制御信号の発生器を持っています。LFO は、繰り返しパターンの制御信号を発生させることにより、VCO の音の高さを揺らします。これらを組み合わせて、さまざまな音をつくります。


音の基本はCV入力で作ると説明にあったので、まずCVを理解することにします。電源は単3電池4本から、3端子レギュレータで5Vの定電圧を作っています。

回路図を見ると、CV入力はボリュームで代用できそうです。サクサクとLTspiceに取り込んで解析してみると、R10:75kΩを介するボリューム入力にR6:33kΩを介するバイアス電圧を付加して、500mV位の電圧がVCO入口のNPNトランジスタ・ベースに入っていることがわかりました。この値を変えてやれば、VCOの発振周波数をいじれる(音階が変わる)のだと思います。

シミュレーションではBase電圧の変更はボリュームで抵抗を変えたのですが、実機ではボリュームではなくカーボンパネルが抵抗の役割を担っています。このカーボンパネルの抵抗は両端で実測で90kΩでした。

なお、実機のLFOはボリュームの値によって無効(一定値?)にできるようなので、とりあえず未入力で考えました。




VCO

積分回路、のこぎり波

回路とシミュレーション

CV入力から、AntiLogを経由してVCOまでの回路をLTspiceで解析しました。AntiLogは温度補償は考慮しておらず、NPNトランジスタひとつだけでVCOから電流を引張っています。最初にあるオペアンプU2は積分回路でのこぎり波の生成です。次のオペアンプU3は発振を繰り返すためのコンパレータです。

LFOのボリュームU6を図の50kΩに設定すると、Pulse出力は一定値にできます。この設定でシミュレーションしました。



このVCOは自作VCOと似ているようで、異なります。最大の違いは積分回路をON/OFFするトランジスタがなくて、コンパレータからダイオードD1を介してチャージ電流が積分コンデンサC2に流れこんでいることです。放電時にトランジスタを介してGNDへ電荷を放出する動作でもなさそうです。

シミュレーションの解析結果をつぶさに見ていくと、積分コンデンサC2への充放電は次のようになっています。

  • チャージ工程:コンパレータU3の出力がスレッショルドHigh電圧になるまで、D1、R23を介してC2に電流が流れる。
  • ディスチャージ工程:コンパレータU3の出力電圧がスレッショルドLowに下がるので、フィードバックされてる非反転入力側とオペアンプU2出力(のこぎり波出力:SAW)も下がる。これに呼応してC2から電荷が放出される。


制御入力電圧CVを0Vから4Vまでランプ状に上げたときの解析結果を示します。CV=0Vでも、PIとPulseの電圧があるので1Hzに満たない周波数で発振しています。CV電圧が上昇するに伴って、NPNトランジスタQ2のベース・エミッタ間電圧V(base)が高まり、コレクタ電流Ic(Q2)が流れます。Ic(Q2)は下図に示すように、CVやV(base)に対して指数関数的に変化します。 


実機波形

シミュレーションの実機との整合性を確認するため、実機波形を測定します。基板からジャンパー線を写真のように出しました。これで音と聞き比べながら、オシロで波形観察ができます。



下記はCVを1サイクル中に0~5Vの間で可変し、それを10Hz で繰り返した時の波形です。CV電圧はR10:75kΩを通って、ピンク色のベース電圧V(base)になります。SP.outはスピーカ信号です。各測定項目の波形はシミュレーションと同等です。これで、シミュレーションの実機との整合性が確認できました。


ヒステリシス・コンパレータ

コンパレータは教科書的な非反転増幅回路ではないので公式は使えません。そこで、基本にさかのぼってスレッショルド電圧を考えると、次式になります。下図の回路定数を入れて計算した結果と共に示します。ここで、$V_{Lout}$ と$V_{Hout}$ はコンパレータの出力(0V /5V)です。
$$ \begin{aligned}&V_{TH}=\cfrac{R1+R2}{R2}\cdot V_{Ref}+V_{Lout} =\cfrac{10k+22k}{22k}\cdot 2.5+0=3.64  \\ &V_{TL}=-\cfrac{R1+R2}{R2}\cdot V_{Ref}+V_{Hout} =-3.64+5=1.36   \tag1 \end{aligned}$$

式(1)の計算は、シミュレーションと同じ結果となりました。
    vth: v(t)=3.63966 at 0.00727933
    vtl: v(t)=1.36057 at 0.0172789



アンチログ(AntiLog)

アンチログ特性はNPNトランジスタの$I_C\,- \, V_{BE}$ 特性を利用しています。sx-150では複雑な構成ではなくNPNトランジスタひとつですませています。
コレクタ電流はベース電流に比例($I_C=h_{FE}\cdot I_C$)しているので、$I_C\,- \, V_{BE}$ 特性は $I_B\,- \, V_{BE}$ 特性と同じ形になります。
引用:2SC1815 データーシート

前項(積分回路)で示したシミュレーション結果を用いて、横軸をベース・エミッタ間電圧V(base)、縦軸をコレクタ電流Ic(Q2)で表したものが下図です。

上段2つの波形はアンチログ特性を示す$V_{BE}-I_C$特性です。Ic(Q2)が指数関数で変化していることがわかります。制御電圧CVを変化させたとき、コレクタ電流 Ic(Q2): 10nA~20μA が流れて発振が起きています。

下段2つの波形はヒステリシス特性です。のこぎり波のスレッショルド電圧は読み取り値で、下限:1.11V, 上限:3.65V でした。前項で求めたヒステリシス・コンパレータの静特性と比べると下限値が少し異なります。




CV入力による周波数変化

シミュレーション

下図のグラフは、CV電圧を0.3Vごとに刻んで解析した結果です

左グラフはCV=1.6V, 3.1V の2ケースをピックアップしました。CVを変えて周波数が変わっても、方形波V(reset) とのこぎり波V(saw) の出力電圧は変わりません。
  • V(reset) : 下限 0V, 上限 5V
  • V(saw)   : 下限 1.11V, 上限 3.57V

右のグラフは、CV電圧を横軸にとり、縦軸は発振周波数(対数)、Q2コレクタ電流(対数)とエミッタ・ベース間電圧を示します。発振周波数とQ2コレクタ電流が指数関数で変化しており、エミッタ・ベース間電圧がリニアに変化していることがわかります。

CV=1.0V以下で周波数がゼロになっているのは、周期が長くシミュレーション上での測定ができなかったからです。

                                                                                               CV電圧 [V]

実機波形

実機ではカーボンパネルの代わりに100kΩの抵抗で測定しました。この方法で CV: 1.4V ~ 3.3V の変更が可能でした。この時の発振周波数は、20Hz ~ 1kHz です。方形波V(reset) とのこぎり波V(saw) の出力電圧は多少の変動がありますが、基本的には周波数によらず一定です。

  • V(reset) : 下限 480~560mV, 上限 3.68V
  • V(saw)   : 下限 1.68V, 上限 3.48~3.68V
CV=1.4V, 26Hz


CV=3.3V, 1kHz

下図はCV電圧を変更したときの特性です。周波数は指数関数、ベース・エミッタ間電圧は比例です。

LFO

sx-150の取扱説明書には、次のように書かれています。低周波数の波形をCV電圧に加算する役割のようです。
LFO
LFOI: Low Frequency Osci-llatorの頭文字を取ったもので、低い周波数の発振器という意味。一定の周期でゆっくりと変化する。元の発振音の音程を変化させる。

LFO WAVE
LFOが出す波の形を切り替える。

三角波(Triangle):
直線的に連続して上下を繰り返す波。

矩形波(Square):
幅50%のパルス波で、2つの値を一定間隔で繰り返す波。

LFO RATE
LFOが出す波の繰り返しの速さを調整する。


回路とシミュレーション

2つのオペアンプの役割はVCOと同じで、回路構成も似ています。充放電は共に抵抗R19とボリュームU6を介して同じ経路で正逆の電流が流れるので、充放電時間が同じになり三角波を生成します。このとき、ボリュームU6の抵抗比率で充放電時間が変わり、周波数を変更できる仕組みのようです。

スレッショルドは式(1)で求められます。定数を入れて計算すると、
$$ \begin{aligned}&V_{TH}=\cfrac{R20+R21}{R21}\cdot V_{Ref}+V_{Lout} =\cfrac{18k+33k}{33k}\cdot 2.5+0=3.86  \\ &V_{TL}=-\cfrac{R20+R21}{R21}\cdot V_{Ref}+V_{Hout} =-3.86+5=1.14   \tag2 \end{aligned}$$
シミュレーションによると、ボリュームの抵抗比率(回転角度)によって、0~95Hzまで周波数が変わることがわかります。左の時刻歴波形は、ボリュームの比率0.2と0.8のケースをピックアップしました。スレッショルドの値は式(2)と同じです。



LFOを加算した時のResetとSaw出力をシミュレーションすると、LFOの周期でV(base)が変動し、その度に周波数が高まっている様子がわかります。

8mV, 8Hz の矩形波LFOの加算により、ResetとSawの周波数は85Hzから114Hzに高まっています。このシミュレーションの条件はCV=3vでLFOのボリューム比 0.9 です。


実機波形

実機ではLFOの周波数を1.2Hz~78Hzの間で可変できました。

25HzのSaw出力に、LFOとしてPulse 1.2Hzを加えたときの波形が下図です。Pulse ON のときにSawとResetの波形が密になる様子がわかります。音としても、1Hz位でゆっくり波打っている音色の変化が聞き取れました。この周波数でのPulseは矩形波からかなり歪んでいます。

LFO Pulse 1.2Hz

同じく、LFOを最大の78Hzにした時の波形が下図です。視覚的にはSawのスロープがLFOに呼応して波打っているように見えます。聴感的には、LFOが低周波のときはブザー音のように小刻みなON/OFFが区別できますが、LFOの周波数を上げるに連れてホイッスルのような連続音に聞こえます。

LFO Pulse 78Hz

ボリュームを左いっぱいに回したときの抵抗比 1ではLFOは波を発生しません。



エンベロープ・ジェネレータ

sx-150の取扱説明書には次のように書いてあります。時間によって波形の立ち上がりと立ち下がりの形を変える機能のようです。


回路とシミュレーション

この回路への入力はコンデンサC3へ加わるH/Lの電圧です。冒頭項の音の仕組みの説明でゲートと言われているのがこれにあたります。

CV電圧に入力がある(音が出る)と、C3電圧(555 IC のトリガ入力)はになり(ゲートON)、555 IC が発振します。このとき、C5コンデンサへの充放電電圧の立ち上がり(ATTACK)と立ち下がり(DECAY)の時間をそれぞれのボリュームU2, U1で調整しているようです。また、ボリュームU3で分圧比を変えて出力の高低を決めているようです。


ATTACK(ボリュームU2の変更)

U2抵抗が大きいほど、時定数が大きくなり立ち上がりが遅れます。

DECAY(ボリュームU1の変更)

U1抵抗が大きいほど、時定数が大きくなり立ち下がりが遅れます。

PITCH ENV(ボリュームU3の変更)

U3の分圧比で、出力を増減します。

CV入力にエンベロープ・ジェネレータを付加したシミュレーション

ATTACK, DECAY, PITCH ENV の各々の機能が電圧に変換され、CV電圧に加算されます。ただし、PITCH ENVはエンベロープ・ジェネレータ機能の出力の大きさを設定する機能なので、これを絞ってしまうとエンベロープ・ジェネレータの機能が付加されません。

視覚的にわかりやすい条件(CV=2.6V, 各ボリュームの抵抗比 0.1)でシミュレーションしたときの出力波形です。エンベロープ信号ENVが立ち上がると波形が密になっている様子がわかります。CV=2.6Vで40Hzの周波数が0.7秒後に110Hzに立ち上がり、その後立ち下がって1秒後に40Hzに戻ります。


実機波形

CV電圧の過渡的なON/OFFを作るため、抵抗は実機のカーボンバッドとプローブで作っています。そのためCV電圧が各ケースで少し異なります。

ATTACK

ボリュームを左に回すとENVの立ち上がりが遅くなります。2.8Vを2.5secほどで立ち上がっています。 聴感ではウイーンというように音が盛り上がっていくように聞こえます。

ATTACK 大

ボリュームを中ほどの設定にすると、立ち上がり時間が0.25secになりました。

ATTACK 中

DECAY

DECAYボリュームを左に回して大きくすると、立ち下がり時間が2.5secになりました。

DECAY 大

PITCH ENV

PITCH ENV ボリュームを左に回して大きくすると、ENV電圧を小さくすることができます。

PITCH 小



VCF

VCFは音色を加工する役割で、ローパスフィルタ(CUTOFF)と共振(RESONANCE)2つの機能を使って音色を加工します。

この時、ただ加工するだけでなく、フィルターのかけ方を、ゲートが開始してからの時間に応じて変動させ、音色に変化を付けます。この時間変動はEG(Envelope Generator、エンベロープ・ジェネレーター)からの信号で制御します。

回路については、下記のように説明があります。

VCF の基本構造は、トランジスターとコンデンサーでできています。トランジスターを抵抗に置き換えると働きが理解しやすいかもしれません。コンデンサーは周波数が高い信号ほど通しやすいという性質を持つので、音信号のうち高音成分だけを取り除きます。トランジスターに与える制御信号を変えると、フィルターがかかり始める周波数が変化します。VCF を通った音は、やわらかくなり、波形も丸まります。ふろくでは、コルグMS-20タイプのフィルターを採用しています。
引用元:sx-150の取扱説明書

シミュレーション

模擬的に50Hzののこぎり波をVCF回路に入れた時のシミュレーションを載せます。エンベロープは0-1V, 周期2secの三角波を1sec後から入れています。
    0-1sec:エンベロープENV作用なし
    1-3sec:RESONANCE(共振) ON 
    3-5sec:RESONANCE(共振) OFF
    黄色:CUTOFF 小 
    水色:CUTOFF 大 (より低い cut off 周波数)

音色の違いを想像すことはできませんが、波形としての違いはわかります。




全体構成は下図の回路になります。(LFOは省略)シミュレーション結果と音声ファイルを添付します。




実機波形

実機波形もシミュレーションと同じで音色の違いを想像すことはできませんが、波形としての違いがSP.outに明確に出ています。

CUTOFF

CUTOFF 小:左切り

CUTOFF 中

CUTOFF 大:右切り


RESONANCE

RESONANCE ON

RESONANCE OFF

聴感上の違いは、波形の振幅に表れているようにCUTOFFを大きくするほど音が大きくなる感じです。RESONANCEも同じで、OFFにすると音が大きくなる感じです。

Powered by Blogger | Designed by QooQ

keyboard_double_arrow_down

keyboard_double_arrow_down