秋月でアナログシンセ用VCO CEM3340の互換ICが在庫復活していた。今度はCoolaudio V3340ではなく,ラトビアのALFA製AS3340Aだ(ちなみにALFAのページにあるTipsはかなり役立つ情報。特にTuning the AS3340は素晴らしい)。周波数安定度を改良したALFA特製のAバージョンというのが有難い。このラトビアの会社はヨーロッパやアメリカで製造中止になったアナログICを多数作っている。そのまま互換ではなく,かゆいところを改良していたりするのが有難い。で,秋月のV3340はしばらく在庫があったのだが,結構高価で手が出せないうちに,おいらにアナログシンセ熱が現れてからは完売になってしまった。仕方がないので海外の業者からAS3340を十何個か仕入れたのだが,秋月の在庫復活は有難い。それも¥380と格安だ(海外の業者も似たりよったりの価格なのだが)。販売ページには電源電圧±15Vと書いてあるが,まぁご愛嬌。データシートに記載がある通り,マイナス側は電流制限抵抗ナシに-15Vかけたら内部のツェナーダイオードがぶっ壊れる。まぁでも,それでぶっ壊して文句言うようなヤカラはこんな買い物しないわな。他にアナログシンセ用VCAのSSI2164互換品,AS2164まで復活している(もっとも,以前扱っていたのはCoolaudioのV2164だけど)。こちらは¥650と少し高い。海外直輸入や国内の他業者から互換品を買った方が若干安いかもしれない。で,さっそく発注してみた。2VCO 6音ポリくらいなら作れる部品を揃えておいてあるのだが,歳のせいか最近誤配線や机上からの落下でよくぶっ壊しているので,予備が多い方が心理的安心感。秋月で買える間に仕上げればソケット使ってICを大事に使いまわさなくても良いっていう安心感が大きい。
しかしどのようなルートで入荷したのかは知らんが,秋月でALFAのICを扱ってくれるのは有難い。CA3080やCA3280の互換品なんかエフェクター用に需要ありそうだけどなぁ。CA3080があれば今や真空管屋になってしまったエレハモのSmallStoneが作れる。ギターがシュワシュワ鳴るぞ。いや,ちょっと前まで別ベンダのCA3080互換品扱っていたような気が。完売したか?
昨年諸事情でサボったエアコンのファン掃除を朝から。ファン部分についた黒カビを洗い流すのが目的。去年サボっただけあって,例年以上に水が茶色く染まる。カビが付きにくいようシーズン中は24時間運転していてもコノザマなんだよなぁ。さすがというかなんというか。 毎度毎度よくこんなに色がつくと感心するわ。
先週金曜のつづき。ATtiny202のLFSRのループのうち,ArduinoのdigitalWriteとdigitalReadを,digitalWriteのソースを見て同じようなことを省力化しながら自前で処理するとどうなるかテストしてみた。
ソースはこんな感じ。
uint16_t bit, reg;
uint8_t port1m, port6m;
PORT_t *port1 = digitalPinToPortStruct(PIN_PA1);
PORT_t *port6 = digitalPinToPortStruct(PIN_PA6);
port1m = digitalPinToBitMask(PIN_PA1);
port6m = digitalPinToBitMask(PIN_PA6);
bit = 0;
reg = 0x1234;
while (1) {
bit = (reg ^ (reg >> 2)) & 1;
if (port1->IN & port1m) {
if (bit) {
port6->OUTSET = port6m;
} else {
port6->OUTCLR = port6m;
}
} else {
port6->OUTCLR = port6m;
}
reg = (reg >> 1) | (bit << 14);
}
最初のdigitalPinToPortStructでポートを構造体としてアドレスを得て,そこに目掛けて実際にOUTSETかOUTCLRを立てているだけ。このあたりはAVRの流儀そのままだ。PORT1をチェックしてLOWだったら出力マスクするところもif文で記載。まぁ,実際のdigitalWriteがそのような作りになっていたので,余計な部分を省略して真似したというか。で,結果はというと,無駄な処理が若干減ったのか300KHz出るようになった。これでTR-909のノイズジェネレータとほぼ同等。周波数が同じでもあっちは31ビットでこっちは15ビットだが,音に出してしまえば大差ない。先週も書いたが,70円のマイコンでここまで出れば上出来のような気がする。
先週に比べ,1割くらいのスピードアップ。
整理できていない部品が溜まってきたので,部品箱への大整理。何か作りたいと思わなければ溜まらないのだが,それでは貯まるけれども堪らない。うーん。
昨日の回路を基板化してみた。サービスサイズ10cm×10cmの基板に,出力用RCAと,MIDI IN/THRUのDINコネクタと,16桁×2行のOLEDパネルと,ボタン8個(こんなに要らないとは思うが)とロータリーエンコーダ1個と,コントローラとして秋月のAE-RP2040を搭載。これにYMF262-Mが2個と,YAC512-Mが2個と,オペアンプ4個(TL074×3,TL072×1)と,EEPROMと,ボタン用のポートエクスパンダと,MIDI用のフォトカプラとバッファ。それ以外は3端子レギュレータくらいか。もちろん両面実装。面積的にはもう少し余裕ありそうに見えるが,4層基板ではなく2層基板で実装しているので配線だらけになっている。TL074はデジットの特売品。サービスサイズ基板には有難いSMDタイプ。ただ,これは普通のオペアンプなので,5V単電源で使うと歪みをオーディオではなく楽器として考慮しても1.5Vp-pくらいしか使い物にならない。それ以上はオーバードライブを通したエレキギターのような音になる。DAC YAC512のデータシートを見ると最大2.5Vp-pと記載されている。これが2個だと5Vp-pになる訳。シンセベースを弾くなら歪み上等だが,電源電圧が足りないときの歪みは耳障りな歪みになるパターンが多いので歪ませておく訳にもいかない。電源を9Vとして,ダイオード3本直列でグランドの電位を約2V上げて,プラス側は約7Vになるよう振り分けを実施。これ以上ダイオードを並べてマイナス側を上げると5V用の3端子レギュレータ(LD1117S50)が厳しくなるのでこの辺で。レールtoレールのオペアンプを用意しても良いのだろうが,USBで動かそうとうかそんな気は全く無いので,9V電源が使えるのであればそこまでする必要もないと思う。
先月,途中まで設計して中断していたFM音源シンセを,アナログシンセの前に習作として作ってみることにした。先月設計していたのは90年代のサウンドブラスターに載っていたFM音源LSI YMF262の4オペ4チャネル独自出力を生かして,出力に何故かVCFとVCAが4組ついている4音ポリの謎シンセだったが,設計しなおしているのは普通のFM音源シンセ。例によってネオクラシックなハードシンセだ。もっとも,YMF262はあまり良い音だった記憶がない。当時のサウンドカードのアナログ回路がショボかったのと,同時発音数を稼ぐ為に2オペで使っていたデータが多かったものと予想するが,だったら物量作戦で2個載せて,微妙なディチューンをかけて同時に鳴らせば少しは厚い(暑苦しい?)音になるかもしれないと,YMF262とDAC(YAC512)を2ペアにしてみたのだが,吉と出るか単なる無駄金と出るか。はてさて。
昨日の楽譜をなんとか入稿。歌い手には全く無縁なパリピ仕様の表紙で作成してみた。ってか,曲に合わせた70年代風味のフォントにパリピのミスマッチ感がおいらの自己満足的ツボ。それはおいといて,連絡が来た発送予定日が非情の5/23。うーん,5/23に必要なのだけどなぁ。フライヤーや折パンフを頼むと土日も営業日勘定に入れてくれるのだが,まぁ仕方がない。5/23に配布するのは諦めるか。
楽譜の原稿大詰め。かなりこまかく浄書。Doricoでなんともならん場所や,どうみてもバグっているような場所はPDF出力したあとにAffinity Designer (イラストレータみたいなソフト)でPDFファイルを修正。まぁ,これは実際の編集さんもやっているような気がする。まだまだ先は長いが,明日入稿できればなんとか5/23の練習には間に合いそうだ。
パスポートがそろそろ切れるので写真撮影。色々あって,今回は機械ではなくて写真屋さんで。なんだか家族経営みたいなところだった。最近の証明写真は自動の機械かスマホでの素人撮影ばかりだったので,カメラマン撮影はなんだか新鮮かもしれん。顔をあげたり,肩がちょっと斜めになっていたり,そういうのを直してくれるのが有難い。もっとも,自動撮影でもAIでなんとかできそうな分野ではあるのだけれど。
メインのマシンのMacOSをVenturaにアップデートしてみる。思えば毎年,ゴールデンウィーク前後にアップデートしていたような。今年は互換が気になるソフトは無し。あとは運次第かもしれん。気持ち,Safariの復旧が速くなった気がする。あちこちのページを開けたままでうっかりCommand-Qで終了させた場合,Safariの再起動に物凄く時間がかかったのが,VenturaのSafariはそうでもない。何か改善したのかもしれん。
水曜の続き。実際にLFSRの乱数発生器を作ってみるテスト。コードを簡単にする為に16ビットで回す。ショボいコードを回して最小パルスが8ビット記載で約109KHz,16ビット記載で約120KHz。じゃあ更にコードを簡単にする為に15ビットで回すと約260KHz。遅いと言われているdigitalWrite/Readの部分だけ残して,bitをXORで反転させるだけでも約500KHzは出るので,LFSRをアセンブラで書くか,digitalWrite/Readの部分を直接レジスタアクセスに変更すれば更に最適化できそうだ。それはともかく,8ビットプロセッサなのに16ビット記載の方が速かったのは意外。まぁ,1ビットで260KHz出るなら16ビットとして見立てても16KHzは出ていることになるので,今のままで十分な気がする。TR-909は300KHzだし。
70円でこれだけ出れば御の字。
コードはこんな感じ。ArduinoのmegaTinyCoreボード使用。
まず,AVRは8ビットなので素直(!?)に8ビットで記載。XORするビットは16,14,13,11なので,全て下位バイトだけで処理。LFSRの出力はPA6。PA1はDisableフラグで,コイツが"0"だと出力しない仕様。これで109KHz。
uint8_t bit, regH, regL, cr;
regH = 0x12; regL = 0x34;
while (1) {
bit = (regL ^ (regL >> 2) ^ (regL >> 3) ^ (regL >> 5)) & 1;
cr = (regH & 1) << 7;
regH >>= 1;
regL >>= 1;
regL |= cr;
regH |= (bit << 7);
digitalWrite(PIN_PA6, bit & digitalRead(PIN_PA1));
}
こちらは深いことを考えずに全く同様のコードを16ビットで素直に記載。こっちの方が1割ほど速く120KHz出た。もうひとがんばり。
uint16_t bit, regr;
reg = 0x1234;
while (1) {
bit = (reg ^ (reg >> 2) ^ (reg >> 3) ^ (reg >> 5)) & 1;
reg = (reg >> 1) | (bit << 15);
digitalWrite(PIN_PA6, bit & digitalRead(PIN_PA1));
}
これが完成形。シンセに使うなら15ビットで十分と,思い切って15ビットに削減。XORするビットは15と14。すると260KHzも出る。遅い原因はやはりシフトなのかもしれん。
uint16_t bit, regr;
reg = 0x1234;
while (1) {
bit = (reg ^ (reg >> 2)) & 1;
reg = (reg >> 1) | (bit << 14);
digitalWrite(PIN_PA6, bit & digitalRead(PIN_PA1));
}
大井競馬第10レース,レースそのものが中止。これはびっくり。返し馬で9番クールマニワが倒れてしまった。そのまま除外になっただけだと思ったら,馬が全く動けずに移動させるのに結構時間がかかってしまったらしく,次の11レースが重賞なのでそのままレース中止と来た。当然,全部払い戻しなんだが,トリプル馬単(後半3レースの馬単を全部当てる)対象レースだったので,トリプル馬単まで払い戻し。キャリーオーバー継続だそうだ。しかし一昨年まで中央にいて,去年大井に来て,今年はそこそこ勝っていたらしい。本馬場入場するまで普通にパドックを回っていたのにね。助けようと思えばなんとかなるのかもしれないけど,右肩甲骨骨折で予後不良。ご冥福を。
先週ネタにしたLFSR,これをtinyAVRで動かそうと早速ArduinoのCでコードを書いてみたのだが,コンパイルしてびっくり。なんじゃこの膨大なオブジェクトコードは。31番目と13番目のXORをすればよいだけなので,32ビットで計算するなら,AVRは8ビットなのでレジスタを4つ用意して,順にRORで右ローテートして,最上位のレジスタのbit 6と下から2番目のバイトのbit 6をANDで引き出してEORして,LSLで左1ビットシフトしてから元の最上位レジスタにORするだけのような。出力は最下位のレジスタのbit 0を拾ってGPIOのビットを立てる。うーん,せっかくArduinoで楽をしようと思ったのだけど,結局アセンブラか? でもまぁ,Cのままで出力してどこまで速度出るかだよなぁ。
松屋で今日から販売のネギたっぷりスパイスカレーを喰ってみた。なんだか口が強烈に臭くなりそうな組み合わせだが,中身は平成時代のカレギュウに長ネギを足したような感じだ。ルーはスープカレーのようなスパイシーさ。でもインド系統の味ではないな。あれはコショウだ。松屋の平成カレーと色は違うが味は似てる。これにウスターソースを入れたら平成カレーだ。で,こいつはライスの上に大量の長ネギが載っている。これがスパイスと意外に合う。でもまぁ,長ネギとコショウのお陰で肉として載ってる牛めし用の肉の味が隠れてしまっている。なんだか勿体無い気もしなくもない。令和カレギュウはカレーが割高なので物凄く贅沢品になってしまったが,あれはまだちゃんと肉の味が残る。コイツは残らない。なんだか勿体無いのでライスと肉の部分だけを牛めしとして喰ったらルーが余ってしまった。これはイマイチだ。
トモちゃん最終回まで。なんだか清々しいわ。ずっと応援していたい恋って感じ。性悪女と仮面な笑顔の裏側が怖い餅女もいい味だしてる。ってか,性悪女はそういうキャラなんだろうが,あの餅女,なかなかやるな。見直したぜ。
先週のシンセの続き。スペースの都合でノイズ発振器に4000シリーズを3つも並べられそうもない。となると,マイコン化して8ピンが有難いのだが,PICで作るとなると現行製品用のライターの手持ちはMPLAB SNAPだけだ。まだ2千円しない頃に買ったもの。ただ,コイツも対象チップが限られるので,何が使えるかのリストを調べてみると,アルファベット順で並べているので頭の方にATtinyがある。そうだ。AVRマイコンのATMEL社って今はMicrochip社なんだっけ。コイツを使えば安いしArudino IDEが使えるのでプログラム開発も最適化しない限り楽だ。ATtiny202なら秋月で40円だった筈。しばらく品切れで眼中になかったけど今はどうなのだろうと通販サイトを覗いてみると,あった。70円に値上げしているが70円ならアリだ。で,コイツの書き込みにもMPLAB SNAPが使える訳だが,コイツは単純にArduinoを使って書き込める筈。そう思って調べてみると,最近は中華USBシリアルCH340を使うのがトレンドらしい。数ドルで買えるという利点の他に,5Vキッカリ出力をしてくれることと,書き込み対象マイコンとのタイミングの相性が決め手だそうだ。昔はMacでCH340を使うにはドライバが必要だったが,最近はプレインストールされているのも嬉しい。
このATtiny202の書き込みに必要な部品はCH340モジュールと,ショットキーダイオード(BAT43やBAT54が指定されているがショットキーなら何でも良い)と抵抗(100〜2.2K)1本だけ。何とシンプルなこと。ちなみに,CH340ではなくFT232を使う為には許容可能な性能を得る為にタイムアウト設定を変更しろと書いてある。ここは素直に推奨通り秋月の¥550モジュールと,¥70のATtiny202を購入。ついでにゼロプレッシャーソケットを追加して書き込み器として作成してみた。書き込みソフトとプログラム側の環境はArduino IDEを使って,早速Lチカを書き込んでみる。ボードマネージャでmegaTinyCoreを選択。megaでTinyとは面白い名前。続いてボードを設定。今回試すのはATtiny202なので,ATtiny412/402/212/202 を選択。次にボードのシリアルポートを指定。秋月のCH340モジュールをMacに繋げた場合のデバイス名称は,/dev/tty.usbserial-場所ID だ。場所IDはFT232のようなシリアル番号(?)ではなく数字。差し込んだUSBポートによって変わる。次にチップの種類を設定。場所がわかりにくいが,ツールメニューの中に Chip: "ATtiny412" とか書いてあるメニューがあるので,これもATtiny202に設定する。ATtiny402 (bad signature)と書かれた謎選択種もあるが,これは署名を間違えて最後のバイトが本来0x27であるべきところを0x25になっている個体に対応したものらしい。それはともかく,このChip:を設定しないとコンパイルはできるが書き込み時にIDが違うとエラーになる。ここまで設定すれば,あとはスケッチをコンパイルして,「書き込み装置を使って書き込む」メニューで書き込むだけ。そこそこの速度で動くのが有難い。Arduino IDEのサンプルスケッチBlinkを書き込み,PA3(7ピン)にLEDを抵抗を繋いで点滅を確認。書き込みは問題はなさそう。
よく考えたら変換基板に載せると幅300milという訳にもいかない場合があるので,幅の広い方のソケットも追加。
トグルスイッチは8pと14,16pの切替。
それはともかく,この¥70マイコン,擬似乱数発生器には十分使えそうなので,ノイズジェネレータとして使えるか試してみようと思う。SOP8ピンで,外付け部品はパスコン位なので省スペースなのも有難い。あと,tinyAVR0と呼ばれるATtiny202には非搭載であるが,一つ上の品種tinyAVR1なら8bit DACを搭載しているという。ノイズ評価が必要になるかもしれんが,エンベロープジェネレータとして使えないだろうか。あらかじめエンベロープの設定を送っておいて,ゲートをONにすると設定通りにエンベロープ電圧を生成するとか。まぁ,そんなものは別にメインのマイコンで制御しても大した仕事量ではないのだが,エンベロープジェネレータがあった方が昔のアナログシンセっぽい。
今日でゴールデンウィークも終わり。エアコン掃除をしようと思ったが悪天候でダメ。某教会へグレゴリオ聖歌を歌いに行く。5月なので昇天がテーマ。昇天教会が何故オリーブ山にあるのか。マタイやヨハネとルカの解釈(!?)の違いが興味深い。
上海問屋の新しいキーボードが届いた。壊した方は赤軸だったが,今度はピンク軸だ。タッチの感触はあまりかわらないが静音になってる。まぁ,夜中にゲームやるなら必須の機能なのかもしれないが,押し込んだ感じがなんとなくメンブレンのような感触だ。それこそHHKB-Liteに近いかもしれない(メカニカルなので,あれよりは軽いが)。今度は壊さないようにしないと。
楽譜編曲5曲分,ようやく納品終了。お疲れ様。おいら。
上海問屋のキーボードがぶっこわれた。まぁ,使い方が荒くて前から調子が悪かったので昨年秋くらいからFILCOのMajestouch MINILA-R Convertibleに浮気していたのだが,こいつはWindowsキーボードにありがちな,CTRLキーをAの横に配置するとESCキーが左下の元CTRLの位置になるというvi使いには鬼畜仕様。つい,全角半角キーを連打してしまうということになる。まぁそれだけなら慣れれば良い。四半世紀前に仕事で使っていたHPのキーボードのようにAの左隣のCTRLキーの更に左隣がCAPSで,その下の左シフトの左隣にESCがあるなら使い勝手も良さそうだ。しかしそんなキーボードは現行製品では見当たらないし,そもそもあの配列の小型キーボードは製品すらない。それはともかく,MINILA-Rはカーソルキーが無いのが特徴。仕事で仕方なく使うMS-WordやExcelと,最近やたらと出番があるArduino IDE以外では普段カーソルキーを使わないのでそれでよかったのだ。ところが,先週くらいからずっとDoricoで譜面描き。これがカーソルキーを多用するのだ。音階をABCDEFG文字キーで入力すると音符を五線に載せてくれるのだが,前の音階に使いところに載せるので意図したオクターブではない場合がある。そこでCommand-Option-↑↓でオクターブを変更するのだが,MINILA-RだとCommand-Option-FN-/か右ALTという4つ押しの鬼畜コンビネーションとなり,ブラインドタッチは無理。音符を前後にずらすときはOption-FN-KANAかDELだ。ここでFNの押しが足りなかったり,隣のキーを押していたりするとDELが有効になって音符が消えてしまう。何度それにハマったか。もっとも,初めからMIDIキーボードで入力すれば良いのだが作業場はそこまで広くない。残念ながらこのキーボードではDoricoは無理。ということで,以前使っていた上海問屋の赤軸に戻して譜面描きをしていた。ところがそれが故障。コネクタが弱っていたのが,トドメを刺してしまったっぽい。うーん,昔使っていたHHKB Lite for Macがどこかにあると思うのだけど,あとはApple純正キーボードもどこかに。こいつらはMacで使うには良いのだけど,ゴールデンウィークが終わるとWindowsでも使わんとならんのでMac用ではダメだ。仕方がないのでまた上海問屋をポチり。赤軸は軽くて嫌なのだが仕方がない。CtrlとCAPSの入替と,CommandとOptionの入替がハードでできて(ハードだと借り物のWindowsマシンでも有効),テンキーレスで,カーソルキーがあって,TABの上がESCという年寄仕様はこれくらいしかない(というか,この製品を企画したのは年寄なのだろう)。あとは自作するかだよなぁ。
例によってコメダで譜面描き。今日完成した2曲分を納品。お陰でどこにも遊びに行けないんだよなぁ。
ヤクルト山田哲人のホームランボールを3席隣の少年が取ろうとしたところを強奪した中年オヤジの話がバズってた。ハイビジョンのテレビ中継が入ってなきゃよくある球場与太話で済んだのかもしれんが,テレビ中継が入ってるってのによくやるわ。おまけにソイツがバカツイートしたお陰で一瞬で本名から居住地まで晒されている。なかなか怖い世界だわ。
シンセ回路図検討の続き。12ビットの基準電圧内蔵I2C 4チャネルDAC MCP4728が沢山入手できたので,2VCO目にFMシンセを入れるのはやめて,素直にCEM3340の2VCOにするかなぁ。I2CといってもMCP4728はアドレスが固定なのだが,秋月に置いてあるPCA9306をチップセレクトとしてペアで使えば複数個使うことが可能。まぁ,そんなことをしなくてもCMOS 4051とオペアンプをペアにしてサンプルホールドして使うのが王道なんだろうが,それだと四六時中出力しないとならないので面倒臭い。まぁ4チャネルあればVCOピッチ調整,VCFエンベロープ,VCFレゾナンス,VCAエンベロープと振り分けられるので,1音分の仕事はできる。まぁ,最後のVCAエンベロープは別にDACでVCAを制御しなくても,デジタルボリュームで十分なのだが。あと,ノイズ発振器は昨日の回路が使えそう。まぁ,コイツはPICマイコンでも十分な気はするが。
昔懐かしいローランドのリズムマシンTR-909のノイズ発生器の回路の紹介記事を見かけた。よくあるXORを使ったLFSRのハードウェア実装だ。使っている部品が日立のHD14006なんてまたマニアックなシフトレジスタだが,これは4段か5段のシフトレジスタが4つ入っていて,全部繋げると18段になる。このICを2個使って,13段目と31段目をXORし,1段目にフィードバックしているだけだ。31段目を使うなら28段目とXORかと思ったが,まぁそれはそれ。31段目を出すと28段目を出すのはこのICでは無理だ。実際に作成するにはどうしたらよいか。4006もXORの4070も日立にこだわらなければ国内でヴィンテージ品が未だ入手可能。それを使っても良いし,74HC164を4個組み合わせても良い。74HC164を使うならわざわざ4個買う必要もなく,ループ時間は短くなるが15段と14段で2個の方が安上がり。これが特殊な実装という訳ではなく,Prophet-5なんかで使っているノイズIC MM5837も,データシートを見ると中身は17段シフトレジスタの14段目と17段目をXORしているので,作りは似たようなものだ。TR-909の回路の方が31段使っている分,同じパターンになるまでの時間が長いくらいの違いだ。
しかしこのノイズ,どこで使っているのか気になったので,TR-909の回路図をググって眺めてみた。ここで生成したノイズは緩めのローパスフィルターを介してスネアに使われている。おそらく,これが主目的なのだろう。他に,バンドパスフィルターを介してハンドクラップ,味付けとして強めのローパスフィルターを介してバスドラ,フィルタは通さずそのままタムとして利用。あのアクの強いバスドラやタムの味付けになり,それで現役時代は売れずに,製造終了後にハウスミュージックでブレイクするという皮肉な結果に。ちなみに,もっと味付けが濃いハイハットやシンバルはPCMだ。マスクROM HN61256(32Kbyte)をハイハットとクラッシュとライドでそれぞれ1つずつの贅沢構成。コイツのアドレス線に繋がっているのは16ビットのバイナリカウンタで,12ビットの4040と4ビットの4520のカスケード接続。32Kbyteなので15ビットあれば良く,最上位の1ビットは不要だが,これを~CS信号に繋いでいるので,カウンタが0x0000から0x7FFFまでカウントアップしたら,次のカウントでROMからの出力が切れるという賢い仕掛けだ。ハイハットはオープンとクローズがあり,同時に鳴ることはありえないので,同じROMを使って14ビット目と15ビット目で切り替えて使う(最初の24Kbyteがオープンで,次の8Kbyteがクローズ)。コイツを60KHzのクロックで順次読み出す仕掛け。サンプリングレートだけみると60KHzなので44.1KHzのCDより贅沢なのだが,その先,DACなんて高価なものはついている筈もなく,D-FFが6個入っている4174に抵抗をぶら下げて6ビット出力としている。このチープさがアクの強さなのかもしれん。
しかしTR-909って,中古で二束三文の時代を知っているだけに,今の価格を見るとびっくりするね。なにしろ売れなかったらしいし。