ステップシーケンサー

2008年のシンセフェスタに出品する打楽器モノを動かすのに、お客さんが好きなパタンを打ち込めるように作ったステップシーケンサーです。5トラック16ステップのパタンを打ち込んで、このパタンにしたがって、MIDI信号を出力します。

ブログを見てみたら、基板のパタンが起きたのが開催の4日前でした。そこから部品を載せてプログラムを書いて筐体を作って...今でも体がキツさを覚えている突貫プロジェクトでありました。突貫だけに、あちこち変なところもあります。が、改善に手がつかないので、手直しせずそのまま公開します。

仕様

  • 16ステップシーケンス
  • 5ドラムトラック (MIDI チャネル10、バスドラム、スネアドラム、ロー・タム、オープンハイハット、クローズドハイハット)
  • テンポ固定、120BPM
  • 全トラック、全ステップにボタンと LED がついている。ボタンを押すとパタンの ON/OFF がトグルする

ブロックダイアグラム

以下が、ステップシーケンサーの構成です。スイッチ・LED と、それを駆動するスキャナー、および CPU からできています。また、MIDI出力インタフェースを持っています。基板は2ブロックで構成されています。

回路

基板4枚に分けて設計しました。メインボードとコントロールボードが二枚一組で、メインボードが2種類、コントロールボードは共通です。

まずは、メインボード1 の回路図から。CPU と MIDI 出力部が載っています。CPU は ATMega88を使いましたが、ATMega48 でも問題ありません。あとは、コントロールボード上の LED をドライブするためのトランジスタアレイと、スイッチやLED を切り替えるマルチプレクサがいます。コントロールボードに余計な部品を置かないようにするため、スイッチやLEDをドライブする回路は全てメインボードにおかれています。

このメインボードにつなぐコントロールボードが以下です。コントロールボードは、ユーザが触る基板なので、LED・スイッチ以外に余計なものをおかないようにしてあります。二個のコネクタでメインボードと接続します。

上の二枚だけで、8ステップのシーケンサとして動かすこともできますが、16ステップに拡張するため、さらにメインボード2を用意しました。メインボード2では、メインボード1のCPUからアドレス情報だけをもらって、それをマルチプレクサに入れています。マルチプレクサの4051 は、3bit で振り分けを行い、イネーブルビットを 1bit 持っています。イネーブルビットは、アドレスの MSB に割り当て、メインボード1 と 2 で反転させています。このため、メインボード2には、インバータが入っています。Q1 と Q2 がそれです。コントロールボードはメインボード1用と全く同じです。

CPU のピンアサインはこちら→pin_assign

上下基板をつなぐピンヘッダの割り当てはこんなんなってます→connector_assign

ソフトウェア

見てのとおり、回路は、一見ごちゃごちゃしていますが単純な構成です。ややこしい仕事、といってもたいしたことないのですが、は、ソフトウェアでこなしています。

ソースコード→ step_sequencer

シーケンスパタンの入力・表示・パタンの再生機能を持ったプログラムです。テンポはなんと固定。突貫工事のための手抜きです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です