MIDI2CV
今回は、各種の誤差要因とその影響について考えてみます。 回路自体は OP アンプにレイル・ツー・レイルタイプではなく、手ごろな LM358 / LM324 / LM2904 / LM2902 を使用した場合でも、精度はともかく動作はするように考慮してあります。 実際、ブレッドボ…
アナログスイッチおよび LPF 部の回路を 1 系統分だけ下に示します。 OP アンプ出力と、アンチログ出力トランジスタのベースとの間の 1 kΩ 抵抗は、前回説明したように、ベース電流を制限してトランジスタを保護するためのものです。 LPF 部は OP アンプを 1…
実際の回路の Vbe(MIN) 側の定電流回路を左に示します。 原理を示すブロック図でのバッファ・アンプは省略されており、定電流回路の OP アンプでトランジスタのベースおよびアナログスイッチ入力をドライブします。 その OP アンプ出力と、負荷回路とは、直…
このところマイコンのプログラムばかり作っていましたが、久々にアナログシンセ回路の実験をしています。 それは、 CA3046、TD62507、TD62501 などのトランジスタ・アレイを使い CV として MIDI2CV からの PWM 信号 (ディジタル値) でドライブする 温度補償…
ATtiny10 版の MIDI to CV プログラム「m2c_tn10」のソースリストを下に示します。 FM 音源プログラムの MIDI データ処理部を再利用しているので、機能を削った部分はコメント・アウトしたり、#if (0) 〜 #endif で無効にしており、プログラム・ソースとして…
ATtiny10 版の MIDI to CV プログラムができました。 ソースリストは長くなるので次回に掲載します。 Arduino につないだままではなく、「応用回路」中に差し替えた場合の回路図を下に示します。 シリアル MIDI / レガシー MIDI インターフェース回路部分に…
ピン変化割り込みと AD 変換完了割り込みを利用したソフトウェア UART 受信プログラムのソース・リストを下に示します。 AD 変換完了割り込みサービス・ルーチン (108 バイト) ピン変化割り込みサービス・ルーチン (50 バイト) 初期化関数 tn10_sw_uart_setu…
ATtiny10 版の MIDI to CV プログラムを作っています。 ATmega168 用の同種のプログラムを元に処理を削り、ピッチベンド等のサポートのない、7 ビットの MIDI ノート番号を CV として PWM で出力し、ゲート信号を ON/OFF するだけの最低限の機能のプログラム…
これまで ΣDM PWM のリニアリティの測定をしていなかったので、整数部 1 LSB の間の小数部 32 レベルについて実測してみました。 結果のグラフを下に示します。 赤の線が 2 次で、青の線が 1 次です。
これまでのところで ΣDM PWM 出力の様子は概要が分かったので、今度は実際に VCO につないでみることにします。 と言っても、アナログ・シンセの VCO モジュールとして機能する回路は手許にないので、PX-150 のテスト用基板に作成した LM331/NJM4151 使用の…
2 次 ΣDM では 1 次 ΣDM に比べて内部状態の数が増えるため、出力系列の周期が大きくなることが予想されます。 といっても、MASH 方式では 1 段目の ΣDM の動作自体は 2 段目の ΣDM の影響を受けないので、全体としての周期は 1 段目の周期の 2、4、8、16、3…
前回の補足として、外部入力が一定値を取る場合の小数部 f の値と、1次 ΣDM 出力波形に含まれる周期変動の基本波の周波数の表を示します。 まず、f が 2 のべき (および 32 からそれを引いたもの) である場合の表を下に示します。 この場合は、基本波と高調…
具体的な実験の手順としては、 Pakurino (Arduino) 用に ΣDM への入力として DC (直流) 出力だけでなく、各種の波形を重畳して出力できるスケッチを作成 その出力の時間波形とスペクトルを、「efu」氏作のフリーソフトウェア「WaveSpectra」で観測 という方…
普通の PWM では、いったんパルス・デューティー値を設定してしまえば、再びその値を変更するタイミングまでは何もする必要がありません。 それに対し、ここでは、PWM デューティーを細かく変化させて分解能を向上させるため、 PWM 周期ごとに処理をする必要…
「FMmelody」のプログラムの説明を書くのをサボって、主に「MIDI2CV」用途を目的とした、シグマデルタ変調 (以下「ΣΔM」、「ΣDM」あるいは「SDM」と略記) により PWM 出力の分解能を上げる実験をしています。 PC 上でプログラムによるシミュレーションを行う…
今回の実験の、 のこぎり波 VCO SCF VCF CPLD による VCO では、いずれの場合もオクターブ境界でノイズが発生していました。 オクターブ・コード + F-Number (D-Number) という構成では、回路動作が理想的でない限り、現実的には避けることのできない現象で…
VCO、VCF、VCA と、アナログシンセの基本ブロックが揃いましたので、実際に音を出してみます。
アンプのゲインが CV 入力に比例する、リニア VCA 部の回路図を下に示します。 VCA の本体は、Operational Transconductance Amplifier (OTA) の LM13700 を使っています。
CPU クロック VCO の制御電圧入力、つまりループフィルタ出力の波形を下に示します。 これば 74HC4046 の 10 ピンのソースフォロア出力を観測したものです。
SCF クロック生成部 MF10 は中心周波数 f0 が SCF クロックの 1/100 になるモードを選びます。 中心周波数が MIDI ノート番号 0 (C0) の約 8 Hz から、実際には存在しないノート番号 131 (B10) の約 16 kHz までを可変範囲とすると、SCF クロック周波数は約 …
アナログ・シンセの VCF 部には、いろいろな回路方式があり、各シンセの個性が現れる部分でもあります。 ここでは、アナログ VCF を CV でコントロールする通常の方法ではなく、スイッチト・キャパシタ・フィルタ (SCF) のクロック周波数を可変して、カット…
オクターブをまたぐ部分で VCO 波形が乱れて、ノイズを生じる現象について、波形およびスペクトラムを示します。 MIDI ノート番号 0 (C0) の最低音 (約 8 Hz) から、ノート番号 127 (G10) の最高音 (約 13 kHz) までを、最もスピードを遅くしたポルタメント…
ADuC7026 ボードと、それに接続する実験ボードの写真を下に示します。 右側が DWM 誌 2006 年 3 月号付属基板 FRK-ADuC で、左側が実験ボードです。 このボード上に、のこぎり波 VCO、スイッチト・キャパシタ・フィルタ (SCF) による VCF、OTA による VCA が…
まだ十分な成果が得られているとは言い難いのですが、MIDI to CV コンバータ + VCO や、MIDI to CV コンバータ + VCF の実験を紹介しておきます。 説明は次回以降に回して、ここでは、ブロックダイアグラムや回路図へのリンクだけを示しておきます。
CPLD 部の回路図を (→こちら) に置きました。 74 シリーズのロジック IC に相当する機能のライブラリと、メガファンクションを使った回路図入力だけで構成されています。 ユーザーが入力する HDL は、一行も書いていません。(システムが自動で生成する HDL …
D-Number の応用例として、MIDI to CV コンバータ + VCO をディジタル的に実現する実験として組んだ回路を紹介します。 ソフトウェア部分は、V850 版のFM音源プログラムに処理を追加する形で実現し、ハードウェア部は、「トランジスタ技術」2006 年 4 月号…