リズムマシンとつないで録音してみました。単3×6(9V)の電池を内蔵しているので取り回しが楽。ACアダプタも使用可。電池を内蔵しているので適度な重さがあります。Mix後のMasterレベル(出力レベル)を調節可。入力端子がRCAジャック。わたくしの場合はほとんどRCAプラグで機材をつないでいます。周波数特性AD9833ファンクションジェネレータ(Bypass出力)からサイン波を出力。Masterレベルは@1kHzで増幅率Av=2になるよう調節。出力負荷RL=1kΩで入出力を測定しました。増幅率Av=6dBとして、-3dBのポイントは2.5Hz、150kHz程度です。出力(入力POTを最大にしてAv=1になるようにMasterレベルを調整)出力(入力POTを中点あたりにしてAv=1になるようにMasterレベルを調整)入力POTを最大にして入力段で減衰させない場合は歪率が悪化するようですがノイズ・フロアは下がります。MIDILibraryを使ってみる。自作のシンセをPCのDAWからコントロールできないかと思ってマイコンのMIDIライブラリを調べてみました。わたくしが使えるデバイスはArduino、Nucleo(mbed)、PSoC5LPなので一通り当たってみました。Arduino開発環境がこなれているので一番信頼しています。←だいたいすでに誰かがやってくれている。オフィシャルサイトのPlaygroundにMIDILibraryがあります。これは基本的にはシーケンサーやMIDI機器とMIDIケーブルで接続してArduinoと通信するライブラリです。midiとして使えるそうです。UnoのようにUSB-Serial変換にATMega8U2/16U2を用いているものしか使えません。互換品はUSB-Serial変換にたいがいCH340を使っているのでMocoは使えません。開発ボード」はUSB-Serial変換にATMega16U2を搭載しているようです。←持ってないので未確認です。mbedmbedにもArduinoから移植されたMidiLibraryがあります。オフィシャルサイトのCookBookにUSBMIDIライブラリがあります。3というエラーが出てコンパイルできませんでした。ライブラリのソースをチラ見すると「LPC_USB」というオブジェクト名が出てきてLPC専用なのかもしれません。(LPC810)」)全然使っていないのでこれも保留。PSoC5LPPSoC5LPにもUSBMIDIがあるようです。MIDILibraryを使ってみる。いうわけで、まずはArduinoのMIDILibraryを試してみることにしました。フォトカプラを使ったMIDI受信は以前簡単に試したことがあります。IDEにMIDILibraryをインストールしてExample/BASIC_IOを動作させました。ブレッドボード配線図<追記:2018.04.28>Arduinoへのプログラミング中にMIDI信号を受信すると書き込みに失敗するので、プログラミング中はD0とフォトカプラ間のケーブルは抜いておいた方がいいです。US-144MKIIに出力し、MIDIケーブル経由でフォトカプラ(TLP552)で受信しました。Ch.に4を指定しました。Exampleはch.4を受信するように書かれています。MIDIシーケンスはBPMに60を指定し、1小節目の1拍目にC3を1発出して、2秒に1回MIDI信号が送られるようにしました。BASIC_IOはMIDI信号を受信すると1秒間LEDを点灯させるので、これで2秒に1回の周期でArduinoのLEDが点滅します。RX(D0)にMIDI信号を受信したとき、TX(D1)からプログラムに書かれている通りのMIDIメッセージが送出されます。OUT(D1)SimpleSynth受信したMIDI信号の音階をArduinoのtone()関数で再生するものです。ブレッドボード配線図D10にスピーカーをつないで、無事チープなメロディーが再生されました(^q^/※普通のスピーカーをつなぐと爆音になると思います。実験用に低効率のスピーカーをつないでいます。Ch.を1にしないとダメなようです。1を指定したことになるようです。使い方」でかなり詳細に解説されています。</追記>D13にGate信号も出力されているので(LEDの点滅に利用されています)、CV出力用にDACをつなげれば、これだけでMIDI-CV/Gateコンバーターになりそうな感じです。ケースへの組み込みTakachiのTS-1に組み込みました。基板はPOTの裏面に両面テープで貼り付けています。ダイソーの「超強力アクリルフォーム両面テープ」の19mm幅のものを使いました。15mm幅のものもあって、15mm幅のものを3枚並べればC基板の幅(約47mm)にほぼぴったりになるので、15mm幅の方がよかったかも?今度からは両方用意しておこうと思います。LEDの取り付けは今まで瞬着を使っていたのですが、しばらく使っていなかったので固まってしまって使えませんでした。試しにダイソーでグルーガンを買ってきてケースのホールに接着しました。耐久性はまだわかりませんが、接着は瞬着より楽です。考えてみればグルーガンとスティック合わせて324円なのでその辺の瞬着より安い(^q^;RCAジャックはすぐにゆるゆるになってしまうので、いつものようにロックタイト243を使って固定しました(ゆるゆるになるのはRCAジャックだけ)。ロックタイト243は同じものを3年ぐらい使い続けていますが劣化しておらず使用できました。ケース組み込み三種の神器(ロックタイト243、超強力両面テープ、グルーガン)内蔵電池に9V電池を使えばスペース的に余裕があるのですが、9V電池は持ちが悪く電池交換の手間がかかるので単三電池×6で9Vとしました。単三電池×6を使うとスペースがギリギリで、電解コンデンサと電池が干渉しないように互い違いになるように配置する必要がありました。厚紙でカバーのモックアップを作って、配置の確認ひとまず動作確認はしましたが、特性測定もしてみたいと思います。Widthを変調してみました。XSplitで録音、録画しています(Audioはたぶん96kbpsです)。面白味はありません(^q^;もともとのPOTと並列にLFOを入れましたがまずまず効いています。Boardに使っているOPAMPを、NJM13404、NJM2732、NJU7032に交換して比較しました。(単電源もしくはGNDまで使えるフルスイングOPAMP)NJM13404NJM2732NJU7032NJM13404は波形の下側がクリップしています。これはオーディオ・インターフェイスの入力のACカップリングの影響の様です。ArduinoLFOの出力をACカップリングしない場合/した場合をオシロで測定しました。10uFでACカップリング、RL=10kΩNJM2732とNJU7032を比較すると、高調波歪の出方が違うので悩むところですが、WaveSpectraの表示値を信用してTHD+Nの小さいNJU7032を使うことにしました。製作物のまとめ(2017/05~2018/04)この1年はマイコンからアナログ回路にシフトしつつあった1年だったと思います。このBlogを始めたころはデバイスの限界、自分の技術や知識の限界がよくわからず暗中模索でしたが、このデバイスならこれぐらいはできそう、逆にこれは無理だろうという線引きがある程度できるようになってきたと思います。アナログ回路は頭ではこういうことだろうなと理解できても、自分で回路を組んで挙動を見ないことには使いこなすことはできません。ひとつひとつはしょーもなさそうに見える回路でも、自分の手で組み上げることによって、より大きな回路を考えるときに応用が効くようになると思います。囲碁や将棋でいうと詰碁、詰将棋です。しょーもないと思っていた回路が実は非常に深い意味を持っていることに気づかされることがよくあります。一言でいうと、「一筋縄ではいかない」です。ソフトウェアでも規模が大きくなると大変なことになりますが、アナログ回路の場合は選択肢が二値ではないため理屈で考えてもダメなことが多く(もしくは小難しい計算をしないと導き出せない)、複雑さはソフトウェアの比ではありません。体育会系的に「体で覚えろ」という世界なのかもしれません。設計するのは大変ですが、アナログ回路はソフトウェアとは違って全体の構成が「目で見てなんとなくわかる」メリットがあると思います。ベースマシン2016年に製作したSPI制御のモノ・シンセです。モジュラー・シンセのように基板を取り換えて拡張できるようにしています。各モジュールのパラメーターはすべてシーケンサーからSPI経由で設定できるようにしています。Controlのハイブリッド・シンセです。目下の課題はシーケンサーのSPIコマンド送出周期が1kHzが上限のために発生するノイズ対策です。2」にまとめています。今後はBSM02として開発を続ける予定です。2というソフト・シンセにインスパイアされて作ったDrumシンセです。KICK音に特化していますが、設定によってはSNARE、TOMっぽい音にもなります。KICKのぬくさを踏襲して、アナログ回路で音色のバリエーションを出せるようにしています。KICK音にゴーストっぽい音を足せるようにノイズ発生回路も入れています。ベースマシンと同じように各モジュールはSPI制御していて、POTの設定値をADCで拾い、デジタル的に音をリアルタイムに変化させられるようにしています。まとめ」でまとめています。両電源IC(LT1054とMAU106)ベースマシンはLT1054で単電源のACアダプタから両電源をつくりましたが、KIK01はMAU106で両電源をつくりました。今のところ両方ともちゃんと動作しています。値段はMAU106の方が若干高くパッケージサイズも大きいですが、出力波形はMAU106の方がきれいだと思います。LT1054は非絶縁なので入力側と出力側でGNDを共通にする必要がありますが、MAU106は絶縁タイプのためGNDレベルをずらす用途でも使えると思います。4という「ディストーション」エフェクタがあります。Screamerを模したものだと思います。真空管によるディストーションではなく、「真空管アンプを叫ばせる」エフェクターという意味です。ギターはかつて練習してみたものの指が痛くなるのにどうしても慣れないのと、世の中にはギターが上手すぎる人がいることがいることがわかって嫌気がさしてやめてしまいました。RATの回路を調べてみてわかりました。オーバードライブ・エフェクタと呼ばれるものの本質が、どうやらダイオードによるリミッターなのではないか。そこで、ギターではなく自作のベースマシンにかけてみて良くなる具合を探りつつ、オーバードライブ・エフェクタを「TS-OD1」と名付けて製作しました。作ってみて思ったのですが、歪系のエフェクトをシンセにかける場合は、ギター用のエフェクターよりVCFやVCAなどシンセそれ自体で歪ませた方が面白い気がします。「タグ:TS-OD1」AD9833ファンクションジェネレータAmazonで売っているAD9833を使ったDDS信号発生器モジュールを利用して実用的なファンクションジェネレータを作りました。AD9833の出力用のDACが10bitなので可聴帯域では自作のPCM5102Aファンクションジェネレータと比べると波形は汚いですが、5MHz程度までサイン波を出力できます。AD9833の仕様では12.5MHzまで出力できるとなっていますが、サンプリングレート付近になってくるとサイン波とは呼べない波形になってしまうので5MHz程度までで使用しています。DevicesのICなので安心感があり、アナログ回路を高周波数で評価する用途では大活躍しています。加えればそれに比例した電流が出てくる回路です。可変電圧源はキットでもよくあるのですが、可変電流源はなかなか無いので製作してみました。なんとなく誤算気味な気もしますが使いどころがあればいいなあと思っています。DACのMCP4922を使ってLFOを作りました。基本的にはArduinoを使ったデジタル低周波発振器ですが、Arduinoしばりをかけつつアナログ回路にも使えるようにできるだけきれいな波形を出せるようにしました。KIK01やBSM02の変調に使いたいと思っています。トランジスタ回路の設計」を読みながら、ブレッドボードで実験しました。冒頭でも述べた通り、最初は「なるほど!なるほど!」と理解したつもりでむさぼりついて読んだ記憶があるのですが、いざ自分で回路を組んでみると、これは周到に用意された道しるべなのだと思いました。考えずにやみくもに定数を変えて実験すると途端にひずみまくります。今となっては、アキュフェーズの中の人の著作ならなるほどなあ~と思うところもありますが、やはり名著だと思います。続・トランジスタ回路の設計」も読みながら実験していきたいと思います。木工にもチャレンジしました。大きなサイズの市販のケースは価格が高いので、材料をおもに100均で調達して低コストで筐体を製作する方策を探りました。MDFは100均で調達していますが、サイズを考えるとホームセンターでも値段はあまり変わらないと思います。木材は価格、加工のしやすさではMDF一択だとおもいますが、いかんせん木ねじが効かないしすぐに割れてしまうのが弱点だと思います。MDFの工作は木ねじじゃなく木工用ボンドで接着することを基本として考えて構造を考える必要があると思います。塗装はまだ試行錯誤中ですが、そのうちKIK01のフレームの塗装もやってみたいと思っています。塗装の見栄えを気にしだすと、MDFではなく、単板を使うと木目がきれいに出ます。単板材で安いと言えばSPFですが、SPFは薄くても1x4で板厚が19mmあります。ホームセンターで10mm厚程度の単板材を探したら、アガチスという安くも高くもない単板が売っていたのを見つけて、ベースマシンの側板はアガチス材にニスを塗装して木目を生かして仕上げました。単板のニス塗装は見た目や手触りがいいのでモチベーションアップにつながります。運用の結果この1年に限らず、運用中の製作物について気づいた点をまとめておきます。LME49600ヘッドホンアンプ最初は電池電源で使っていて、猛烈にノイズが乗っていて愕然としたのですが、「±9V安定化電源」を使うようになってノイズは気にならなくなりました。電池電源はそれ自体が発するノイズは少ないですが、商用電源を使うと大地へのアースがされることになるのでノイズを低減できるのかもしれません。定量的に調べる気力はありませんが順調に爆音でいけます。音量が欲しい気もしますが、さらに爆音再生するにはLME49600のバッファ回路の前段に入れているDCキャンセル回路の増幅率をもう少し上げたほうがいいかも。仮想GNDの取り扱いに問題がありますが、電池電源では運用できています。電源を他の装置と共有するとやばいことになります(^q^;画像の青〇で囲ったあたりに問題があります。トランジスタ回路の設計」では、カレントミラーは差動増幅回路のコレクタ負荷の置き換えとして紹介されていますが、差動増幅回路はブレッドボードでの実験が難しいので単体で実験してみました。電流源のI1の電流がコピーされてR1に流れます。実際の回路では電流は測定しにくいので、R1を100Ω、1kΩ、10kΩにしてパラメーター解析しました。R1の値を変えても電流は変わらないので、R1の値によって電圧降下が変化します。Sweep」としてR1の電圧降下(VCC-OUT)をDC解析しました。