Java Sound プログラマーズガイド

概要紹介

はじめに

対象読者
このドキュメントの内容
詳細情報

第 1 章: Java Sound API の紹介

設計目標
Java Sound API の対象者
Java Sound API とほかのインタフェースの関係
パッケージ
サンプリングオーディオ
サンプリングオーディオとは
オーディオ構成
MIDI
MIDI とは
MIDI の構成
サービスプロバイダインタフェース

第 I 部: サンプリングオーディオ

第 2 章: Sampled パッケージの概要

設計目標
作業の中心はデータ転送
オーディオのバッファー付き処理とバッファーなし処理
基本要素: フォーマット、ミキサー、ライン
書式付きオーディオデータとは
ミキサーとは
ラインとは
オーディオ出力構成のライン
オーディオ入力構成のライン
Line インタフェースの階層

第 3 章: オーディオシステムリソースへのアクセス

AudioSystem クラス
情報オブジェクト
ミキサーの取得
目的の種類のラインの取得
AudioSystem からラインを直接取得する方法
ミキサーからラインを取得する方法
入出力ポートの選択
オーディオリソースを使用するためのアクセス権

第 4 章: オーディオの再生

クリップの使用
再生用のクリップのセットアップ
再生の開始と停止
SourceDataLine の使用
再生用 SourceDataLine のセットアップ
再生の開始と停止
ラインのステータスの監視
複数ラインの再生の同期
出力オーディオの処理

第 5 章: オーディオの取り込み

TargetDataLine のセットアップ
TargetDataLine からのデータの読み込み
ラインのステータスの監視
入力オーディオの処理

第 6 章: コントロールを使ったオーディオ処理

コントロールについて
目的のコントロールを持つラインの取得
ラインからのコントロールの取得
コントロールを使ったオーディオ信号の変更
ラインのミュート状態の制御
ラインのボリュームの変更
さまざまなリバーブのプリセットからの選択
オーディオデータの直接加工

第 7 章: ファイルコンバータおよび形式コンバータの使用

サウンドファイルの読み込み
サウンドファイルの書き込み
ファイル形式およびデータ形式の変換
ファイル形式の変換
異なるデータ形式間でのオーディオ変換
利用可能な変換の識別

第 II 部: MIDI

第 8 章: MIDI パッケージの概要

MIDI について: ワイヤーとファイル
MIDI ワイヤプロトコル内のストリーミングデータ
標準 MIDI ファイルのシーケンスデータ
Java Sound API での MIDI データ表現
MIDI メッセージ
MIDI イベント
シーケンスとトラック
Java Sound API での MIDI デバイス表現
MidiDevice インタフェース
トランスミッタとレシーバ
シーケンサ
シンセサイザ

第 9 章: MIDI システムリソースへのアクセス

MidiSystem クラス
デフォルトデバイスの取得
インストールされているデバイスの確認方法
目的のデバイスの取得
デバイスのオープン

第 10 章: MIDI メッセージの送信および受信

デバイス、トランスミッタ、およびレシーバの理解
トランスミッタを使わずにメッセージをレシーバに送信する方法
タイムスタンプの理解
デバイスに送信されるメッセージのタイムスタンプ
トランスミッタのレシーバへの接続
単一のデバイスの接続
複数のデバイスへの接続
接続のクローズ

第 11 章: MIDI シーケンスの再生、記録、および編集

シーケンサの紹介
シーケンサをいつ使用するか
シーケンスデータの理解
シーケンスとトラック
MidiEvent とティック
シーケンサメソッドの概要
シーケンサの取得
シーケンスのロード
シーケンスの再生
シーケンスの記録および保存
シーケンスの編集
シーケンサの高度な機能
シーケンス内の任意の位置への移動
再生スピードの変更
シーケンス内の個別のトラックの
ミュートまたはソロ機能
ほかの MIDI デバイスとの同期
スペシャルイベントリスナーの指定

第 12 章: サウンドの合成

MIDI 合成について
インストゥルメント
チャネル
サウンドバンクとパッチ
ボイス
インストゥルメントとサウンドバンクの管理
現在ロードされているインストゥルメントの確認
異なるインストゥルメントのロード
インストゥルメントのアンロード
サウンドバンクリソースへのアクセス
シンセサイザの機能と現在のステータスの問い合わせ
チャネルの使用方法
シーケンサを使わずに
シンセサイザを制御する方法
チャネルの現在の状態の取得
チャネルのミュートとソロ
合成音の再生のアクセス権

第 III 部: サービスプロバイダインタフェース

第 13 章: サービスプロバイダインタフェースの概要

サービスとは
サービスの動作
プロバイダが新しいサービスを準備する方法
ユーザーが新しいファイルをインストールする方法

第 14 章: サンプリングオーディオサービスの提供

はじめに
オーディオファイル書き込みサービスの提供
オーディオファイル読み込みサービスの提供
形式変換サービスの提供
新しい種類のミキサーの提供

第 15 章: MIDI サービスの提供

はじめに
MIDI ファイル書き込みサービスの提供
MIDI ファイル読み込みサービスの提供
特定の MIDI デバイスの提供
サウンドバンクファイル読み込みサービスの提供

付録

Appendix 1: コードの概要: AudioSystem.java

付録 B:sound.properties ファイル