1 / 9

2002 spring Term Project 音楽 data stream 周辺

2002 spring Term Project 音楽 data stream 周辺. KMSF B2 ’ 幸田 acky 拓耶. 今回の製作物. オーディオデータ転送システム CD からのリッピングおよびソケットへの書き込みを行うライブラリ ソケットからの受信およびサウンドデバイスへの書き込み、ボリュームコントロールを行うライブラリ それらのテスト用アプリケーション. 今回のシステム図. GUI. リモコン役 PC. ① 君は誰?. ① 君は誰?. ② 俺 Speaker. ② 俺 CD Player. 制御系やりとり. ③ 再生してくれる?.

Télécharger la présentation

2002 spring Term Project 音楽 data stream 周辺

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2002 spring Term Project音楽data stream 周辺 KMSF B2’幸田 acky 拓耶

  2. 今回の製作物 • オーディオデータ転送システム • CDからのリッピングおよびソケットへの書き込みを行うライブラリ • ソケットからの受信およびサウンドデバイスへの書き込み、ボリュームコントロールを行うライブラリ • それらのテスト用アプリケーション

  3. 今回のシステム図 GUI リモコン役PC ①君は誰? ①君は誰? ②俺Speaker ②俺CD Player 制御系やりとり ③再生してくれる? ④音楽データ Speaker (Amp.) CD Player acky 音声系やりとり CDプレーヤ役PC スピーカ役PC

  4. プロトコル上の工夫 • TCPを利用しているがパケット風の通信(ヘッダ+データの繰り返し)にして音声再生中の周波数の変更などに即座に対応できるようにした。

  5. 実装上の工夫 • コントロール系を別の人間(sunsaku)が開発しているためライブラリ形式にした。 • 音声転送作業がコントロール系の作業に影響しないように別スレッドにしたので、全ての関数が非ブロッキングにできている。 • ビットレートを変えらるようにしてQoSのための布石とした。

  6. 仕様 • ビットレートは3種類 • 1411.2kbps (PCM 44.1kHz 16bit Stereo) • 705.6kbps (PCM 22.05kHz 16bit Stereo) • 352.8kbps (PCM 11.025kHz 16bit Stereo) • FreeBSD4.2以降で動作

  7. 今回の構成 • libcd.so • CDからのリッピングとソケットへの出力を行うライブラリ • libspk.so • ソケットからの入力と/dev/dspへの出力、/dev/mixerの制御を行うライブラリ • cdtest • libcd.soのテストのためのshell形式のプログラム • spktest • Libspk.soのテストのためのshell形式のプログラム

  8. ライブラリの機能 ~libcd.so~ • int cdplay(in_addr_t) • 指定されたアドレスへ再生開始 • int cdstop(void) • 停止 • int cdsetrate(int) • ビットレート変更 • int cdgetstatus(*struct status) • 現在のドライブの状態、ビットレートなどを取得 • int cdpointrel (int) • 相対値による曲番指定 • int cdpointabs(int) • 絶対値による曲番指定 • int cdeject(void) • CD取り出し

  9. ライブラリの機能 ~libspk.so~ • int spkvolrel(int) • 相対値による音量指定 • int spkvolabs(int) • 絶対値による音量指定

More Related