1 / 16

Java 言語による 「 DTM アプリケーション」の開発 ~ Java Sound API の利用~

Java 言語による 「 DTM アプリケーション」の開発 ~ Java Sound API の利用~. 北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 0421605  迫 大志. 制作概要 制作目的 研究内容 開発成果. 評価 考察 今後の課題 参考文献. 発表内容(目次). 制作概要. 制作目的 DTM アプリケーションの開発 制作手順 1.必要機能の洗い出し 2.機能の実現手段の模索 3.機能を実装 4.2~3繰り返し 成果 実際のアプリケーション. 制作目的. 目的 Java プログラミング能力向上

ornice
Download Presentation

Java 言語による 「 DTM アプリケーション」の開発 ~ Java Sound API の利用~

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. Java言語による「DTM アプリケーション」の開発~Java Sound API の利用~ 北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 0421605 迫 大志

  2. 制作概要 制作目的 研究内容 開発成果 評価 考察 今後の課題 参考文献 発表内容(目次)

  3. 制作概要 制作目的 DTMアプリケーションの開発 制作手順 1.必要機能の洗い出し 2.機能の実現手段の模索 3.機能を実装 4.2~3繰り返し 成果 実際のアプリケーション

  4. 制作目的 目的 Javaプログラミング能力向上 アプリケーション制作 GUIの制作技術向上 DTMプログラミングの知識修得 DTMの新規参入者獲得 DTMソフトウェアが高価

  5. 研究内容 JavaSound API 入出力への効果と制御のための低レベル API 利用パッケージ Java.Sound.midi.* MIDI イベントの転送 シーケンシング イベントからのサウンドを合成

  6. 研究内容 MIDI基礎知識 MIDI Message ノートオン,ノートオフ,プログラムチェンジ,etc... Tick MIDIで使われる時間の単位 Event MIDI MessageにTickを指定 Track Eventの集まり

  7. 研究内容 MIDIファイルの構造 SMF(Standard MIDI File)‏ MIDIファイルの共通保存形式 ヘッダーブロック ファイルデータの基本情報 フォーマット等 トラックブロック 実際の演奏情報 MIDIチャンネルメッセージ等

  8. 研究内容 GM(General MIDI)‏ 音色の種類や番号などを共通に定義したもの GM基本仕様 チャンネル 音声情報を伝達するケーブルのようなもの 各チャンネルで個別の音色を演奏 10chのみ鍵盤(ピッチ)ごとにリズム音色指定 音色数 プログラムナンバーに対応した128音色 パーカッションマップに対応した47音色

  9. 開発成果 • DTMアプリケーション • 動作環境 • JRE 1.6.0_03以上 • SMFファイルフォーマット1 • フォーマット0 • 1Trackで構成されたファイル • フォーマット1 • 複数Trackを含む、主にチャンネルを2系統以上使用したい時に使われる仕様

  10. 開発成果 • Fileメニュー • 新規作成 • ファイル入力 • ファイル出力 • Trackメニュー • Track追加削除 • プロジェクトタブ • プロジェクトファイル名などを表示

  11. 開発成果 • SoundPanelタブ • Trackの表示 • チャンネル表示 • 音色情報表示 • ミュート設定

  12. 開発成果 Piano Rollタブ Track内イベント表示 Eventの設置 1px1Tickの設定 クリックでノートオン・オフ時のTickを指定 Sequencerの再生・停止・一時停止

  13. 評価 • Javaプログラミング能力の向上 • GUIについての理解と知識は向上 • JavaでのDTMプログラミングに必要な知識不足 • DTMアプリケーション • 改善点多々 • 機能不足 • 市販のものとは比べ物にならない • DTMアプリケーションを制作する上でのノウハウ獲得

  14. 考察 • 知識の不足箇所 • Channelのミュート方法 • 機能不足 • Event設置時のマーカー表示 • Tickを固定長にして選択 • Velocityの変化 • 他規格への互換 • etc... • DTMプログラミング • Java Sound APIでの実現方法の模索

  15. 今後の課題 不足機能の実装 MIDI MessageにVelocityの変化を実装 Tickを固定長にして選択 音符ごとの固定長に指定 Soundbankの選択 デフォルトのsoundbankが存在すると認識しないのでJREに含まれるsoundbank.gmを削除すること 他規格への互換 GUI外装の装飾 機能の拡張 VSTなどソフトウェア・シンセサイザの利用 MIDI機器への入出力

  16. 参考文献 • Java で Hello World サウンド編 • http://www.hellohiro.com/sound.htm • Java で MIDI にこんにちは • http://www.cwbp.com/mdpw/java/ • Java Sound プログラマーズガイド • http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/sound/programmer_guide/contents.html • 詳説MIDI規格 • http://www.pluto.dti.ne.jp/~daiki/Midi/Midi.html

More Related