Comments
Description
Transcript
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ファンクラブ代表 π