CDJを作る

CDJ を作る
ダ
M32Rファンクラブ
-50%
拡張ピッチコントロール
スクラッチコントローラ
これを手で回転させて、音を聞きながらキューポイントを
設定します。
+50%
-12%
ピッチコントロール
CDの再生速度を調整し
ます。2枚のCDのテンポ
を同じにするのに使用し
ます。
+12%
ロケートコピー
キュー
前トラック
次トラック
トラック番号/全トラック
再生/一時停止
巻き戻し
早送り
トラック内残り時間
音の出だしをキューとして設定すると、正確にそのポイント
から再生をおこなうことができます。2枚のCDを違和感なく
切り替えるのに使用します。
ダブルスタート
ループスタート
ループエンド
ピッチ
現在のトラックの再生
ぢが終了するまでの残
り時間を表示します。
終了/再ループ
取り出し
クロスフェーダー
CDの指定した区間を、継ぎ目なしに連続再生します。まずルー
プスタートを押すと開始位置が記憶されます。次にループエン
長押しすると
ディスクを取り
どちらのCDの音を出
すかを切り替えます。
ドを押すと終了位置が記憶され、スタート位置に戻って再生が
行われます。
出します。
中央にすると、両方の
音が出ます。
設計のポイント
(図は原寸大)
DJ用CDプレーヤー、通称CDJは、CDをリアルタイム
に自在に再生するための機器です。クラブディスコな
このCDJの基本仕様は、以下のようにしました。
- A4サイズ
どではレコードをよく使いますが、これをCDに置き換え
- CDJを2台とミキサーを内蔵
たものです。再生速度を変えたり、正確なポイントから
の再生をおこなったりすることができます。パーソナル
- フルデジタル処理
- シームレスループ
ユースでも、CDをノンストップスタイルに編集するとき
は重宝します。
- リバース再生
- スクラッチコントローラ
- 1枚のCDの2ヶ所を同時再生
しかし市販のCDJは、レコードプレーヤーを前提にし
ているためか非常に大きいという問題点があります。
- スプリットキューモニター
- コストはできるだけおさえる
CDJは、片方のCDを再生中に、もう片方を準備する
形で運用するため、最低限、CDJを2台とミキサーが
すでに販売は終了していますが、M32R/Eという組み
1台必要になりますから、大きさの問題は深刻です。
込み向け32bitプロセッサは、非常にリアルタイム性の
そこで、ジャストA4サイズのCDJを自作してみようと
高いシステムを作ることができます。そこで、このプロ
セッサを使用して、CDJを自作することにしました。
いうのが本稿の趣旨です。
スピンアップタイム
●┏┳右ドライブ
●ノーマル
●左ドライブ┳┓
ドライブアサイン
(まだ完成していません)
片方のCDを、両方
のプレーヤーで同
時に再生するとき
に使用します。
レベルメータ
●シンクロ
●ノーマル
●リバース
ピッチモード
逆転再生をし
たり、他方のド
ライブのピッチ
ボリューム
●左モニター/マスター
●マスター
●右モニター/マスター
モニター
ヘッドホンに出す
音を選択します。
とまったく同じ
にしたりします。
●Vモード(モニター)
●Vモード
●Pモード
操作モード
キュー設定の方法を
選択します。Pモード
はPioneer互換、V
モードはVestax互換
です。Vモードでは、
キューモニター音の
有無も切り替えます。
システム構成
メインボードのCPLD(EPM7032SLC)がATAイン
ターフェース・D/Aインターフェースを司り、メインボー
ドのPICがスイッチ・LED・ボリュームなどユーザー操作
部の制御を司っています。
ATはバス接続、D/Aは同期シリアル通信、ユーザー
操作部は非同期シリアル通信です。
エンコーダ
エンコーダ
モーター
CPUボード
OAKS32R
電源ユニット
FL管
メインボード
PIC ×2
CPLD
キー・LED
CDD
D/A
CDD
READ
cd0
外バス
READ
cd1
ATA
DMA
SDRAM
タスク
CPU
割り込み
buf0
SRAM
buf1
内バス
DMA
23μs
CSIO
今回使用したM32102は、内部66MHz、外部33MHzの
RISCプロセッサで、64KBの内蔵SRAM、2つのDMAコン
ソフトウェアは、このハードの性能を最大限に発揮させるた
め、専用に設計したμITRONをOSとしています。いちばん重
トローラなどが用意されています。また、今回使用したOAKS
32Rボードには、8MBのSDRAMが搭載されています。
要なのが、1サンプルごとに6チャネルの補間処理をおこなっ
て出力する割り込みハンドラで、約23μ秒間隔で呼ばれます。
4チャンネル分の出力データは、DMAを使ってシリアルI/O
CDJでは、ピッチを変えたりスクラッチ処理をおこなったりす
るため、大量の補間処理をおこなう必要があります。M32R
にはDSP機能も内蔵されていますが、通常はバスがネックと
なり性能が発揮できません。
に渡され、D/Aコンバータに送られます(上図の下半分)。
そこで今回のシステムでは、ソフトウェアは内蔵SRAMだけ
を使用することで、バスネックを回避しています。SDRAMは
DMAを使ってアクセスすることで、CDの先読みキャッシュと
してバックグラウンドで動作します(上図の上半分)。
エンコーダ
DJといえばスクラッチ。このCDJでは、レコードに近いスク
ラッチを実現するため、モーターでターンテーブルを回転
させるように設計しました。ターンテーブルに相当するのは
ドライブディスクで、PIC12C508が埋め込まれており、プ
リントコイルにより磁気信号を作り出しています。これによ
り、ドライブディスクそのものの回転と、ドライブディスク・フ
リーディスク間の変位の両方を検出し、通常再生時のワウ
化粧ディスク
フラッターを抑えられるようにしました。
フリーディスク
4.信号転送
3.フリー
ディスクの
変位取得
ドライブディスク
2.ドライブ
ディスクの
1.給電
変位取得
固定ディスク
5.A/D変換
給電
左A相
左B相
右A相
右B相
A/D
1ms
A相
B相
ドライブディスク(原寸大)
A相
B相
ドライブディスクには、タイミング信号を
重畳した電源が共有されます。マイコン
はA相とB相のコイルを駆動し、磁界を
+
0
作り出します。A相とB相の組み合わせ
により、90°ずつ位相のずれた4つの信
号が得られるので、これをA/D変換し
て相対位置を取得します。
0
このエンコーダは1周あたり51200カ
ウントの分解能を持ちますが、これに補
正をおこなうため、実際の分解能はもっ
と低くなります。
磁界強度
+
磁界強度
+
+
磁界強度
+
-
磁界強度
おわりに
本日はM32Rファンクラブのブースに足を運んでいただき、ありが
とうございました。
最近は、高性能な組み込み向けプロセッサが、ホビーで使えるよう
になっています。本機のようなリアルタイムオーディオ処理は、昔で
はまったく考えられませんでしたが、今は高性能なプロセッサが手
に入るため、ソフトウェアだけでほとんどの処理ができるまでになっ
ています。
プリント基板も、フリーのCADでデータを作ってインターネットで注
文すれば、1週間で代引きで届くサービスが複数あります。今回のメ
イン基板は大きい方ですが、両面スルーホール・レジスト・片面シル
クで、4枚製造して合計5万円前後のはずです。
残念ながらM32R/Eプロセッサは生産を終了してしまいましたが、
高性能なプロセッサが、学習キットなどとして市場にいくつもでてい
ます。何か作りたいものがあれば、やろうと思えばできる時代です。
みなさんも、作ることを楽しんでいただければ幸いです。
2009/5/2 M32Rファンクラブ代表 π