java.lang.Object
javax.sound.midi.Sequence
public class Sequence extends Object
Sequence
は、Sequencer
オブジェクトで再生できる音楽情報(多くの場合、曲全体または曲全体)を含むデータ構造です。 具体的には、Sequence
はタイミング情報および1つ以上のトラックを含んでいます。 各track
は一連のMIDIイベント(ノート・オン、ノート・オフ、プログラムの変更、メタ・イベントなど)で構成されています。 シーケンスのタイミング情報は、そのシーケンスのイベントのタイムスタンプに使用される単位を指定します。
Sequence
をMIDIファイルから作成するには、そのファイルを入力ストリームに読み込んでMidiSystem
のgetSequence
メソッドの1つを呼び出します。 空のSequence
に新しいTracks
を追加し、これらのTracks
にMidiEvent
オブジェクトを追加することで、シーケンスを最初から構築することもできます。
- 関連項目:
-
フィールドのサマリー
修飾子と型フィールド説明protected float
シーケンスのタイミング分割形式です。static final float
テンポ・ベースのタイミング形式で、これに対する解像度は四分音符当たりのパルス(ティック)で表示されます。protected int
シーケンスのタイミング解像度です。static final float
SMPTEベースのタイミング形式で、1秒当たり24フレームです(解像度は1フレーム当たりのティックで表示)。static final float
SMPTEベースのタイミング形式で、1秒当たり25フレームです(解像度は1フレーム当たりのティックで表示)。static final float
SMPTEベースのタイミング形式で、1秒当たり30フレームです(解像度は1フレーム当たりのティックで表示)。static final float
SMPTEベースのタイミング形式で、1秒当たり29.97フレームです(解像度は1フレーム当たりのティックで表示)。このシーケンスのMIDIトラックです。 -
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明空のトラックをこのシーケンスの一部として新しく作成します。boolean
deleteTrack
(Track track) シーケンスから、指定されたトラックを削除します。float
このシーケンスのタイミング分割形式を取得します。long
マイクロ秒単位のこのシーケンスのデュレーションを取得します。Patch[]
このシーケンスで参照されるパッチのリストを取得します。int
このシーケンスのタイミング解像度を取得します。long
MIDIティック単位のこのシーケンスのデュレーションを取得します。Track[]
このシーケンスの全トラックを含む配列を取得します。
-
フィールド詳細
-
PPQ
public static final float PPQテンポ・ベースのタイミング形式で、これに対する解像度は四分音符当たりのパルス(ティック)で表示されます。- 関連項目:
-
SMPTE_24
public static final float SMPTE_24SMPTEベースのタイミング形式で、1秒当たり24フレームです(解像度は1フレーム当たりのティックで表示)。- 関連項目:
-
SMPTE_25
public static final float SMPTE_25SMPTEベースのタイミング形式で、1秒当たり25フレームです(解像度は1フレーム当たりのティックで表示)。- 関連項目:
-
SMPTE_30DROP
public static final float SMPTE_30DROPSMPTEベースのタイミング形式で、1秒当たり29.97フレームです(解像度は1フレーム当たりのティックで表示)。- 関連項目:
-
SMPTE_30
public static final float SMPTE_30SMPTEベースのタイミング形式で、1秒当たり30フレームです(解像度は1フレーム当たりのティックで表示)。- 関連項目:
-
divisionType
protected float divisionTypeシーケンスのタイミング分割形式です。- 関連項目:
-
resolution
protected int resolutionシーケンスのタイミング解像度です。- 関連項目:
-
tracks
-
-
コンストラクタの詳細
-
Sequence
public Sequence(float divisionType, int resolution) throws InvalidMidiDataException 新しいMIDIシーケンスを、指定されたタイミング分割形式およびタイミング解像度で構築します。 分割形式は認識されたMIDIタイミング形式の1つであることが必要です。 テンポ・ベースのタイミングの場合、divisionType
はPPQ (四分音符あたりのパルス)で、解像度はビートあたりのティックで指定されます。 SMPTEタイミングの場合、divisionType
は1秒当たりのフレーム数を指定し、解像度は1フレーム当たりのティック数で指定します。 シーケンスには初期トラックを含みません。 トラックは、createTrack()
とdeleteTrack(javax.sound.midi.Track)
を使ってシーケンスに追加したり、シーケンスから削除することができます。- パラメータ:
divisionType
- タイミング分割形式(PPQ、またはSMPTE形式の1つ)resolution
- タイミング解像度- 例外:
InvalidMidiDataException
-divisionType
が有効でない場合- 関連項目:
-
Sequence
public Sequence(float divisionType, int resolution, int numTracks) throws InvalidMidiDataException 新しいMIDIシーケンスを、指定されたタイミング分割形式、タイミング解像度、およびトラック数で構築します。 分割形式は認識されたMIDIタイミング形式の1つであることが必要です。 テンポ・ベースのタイミングの場合、divisionType
はPPQ (四分音符あたりのパルス)で、解像度はビートあたりのティックで指定されます。 SMPTEタイミングの場合、divisionType
は1秒当たりのフレーム数を指定し、解像度は1フレーム当たりのティック数で指定します。 シーケンスはnumTracks
で指定されたトラック数で初期化されます。 これらのトラックは最初は空です(すなわち、「トラックの終わり」というメタイベントしか含まれていない)。 トラックは、getTracks()
メソッドを使用して編集用に取得できます。createTrack()
およびdeleteTrack(javax.sound.midi.Track)
を使用して、追加のトラックを追加したり、既存のトラックを削除したりできます。- パラメータ:
divisionType
- タイミング分割形式(PPQ、またはSMPTE形式の1つ)resolution
- タイミング解像度numTracks
- シーケンスのトラックの初期番号- 例外:
InvalidMidiDataException
-divisionType
が有効でない場合- 関連項目:
-
-
メソッドの詳細
-
getDivisionType
public float getDivisionType()このシーケンスのタイミング分割形式を取得します。- 戻り値:
- 分割形式(PPQ、またはSMPTE形式の1つ)
- 関連項目:
-
getResolution
public int getResolution()このシーケンスのタイミング解像度を取得します。 シーケンスの分割形式がPPQの場合、解像度は1ビートあたりのティックで指定されます。 SMPTEタイミングの場合、解像度はフレームごとのティックで指定されます。- 戻り値:
- 1ビート当たり(PPQ)または1フレーム当たり(SMPTE)のティック数
- 関連項目:
-
createTrack
public Track createTrack()空のトラックをこのシーケンスの一部として新しく作成します。 このトラックには、最初、「トラックの終わり」というメタイベントが含まれています。 新たに作成されたトラックが返されます。 シーケンス内のすべてのトラックは、getTracks()
を使用して取得できます。 トラックは、deleteTrack(javax.sound.midi.Track)
を使用してシーケンスから削除できます。- 戻り値:
- 新しく作成されたトラック
-
deleteTrack
public boolean deleteTrack(Track track) シーケンスから、指定されたトラックを削除します。- パラメータ:
track
- 削除するトラック- 戻り値:
- トラックがそのトラックに存在し、かつ削除された場合は
true
、そうでない場合はfalse
- 関連項目:
-
getTracks
public Track[] getTracks()このシーケンスの全トラックを含む配列を取得します。 シーケンスがトラックを含んでいない場合、長さ0の配列が返されます。- 戻り値:
- トラックの配列
- 関連項目:
-
getMicrosecondLength
public long getMicrosecondLength()マイクロ秒単位のこのシーケンスのデュレーションを取得します。- 戻り値:
- マイクロ秒単位のこのシーケンスのデュレーション
-
getTickLength
public long getTickLength()MIDIティック単位のこのシーケンスのデュレーションを取得します。- 戻り値:
- ティック単位のこのシーケンスの長さ
- 関連項目:
-
getPatchList
public Patch[] getPatchList()このシーケンスで参照されるパッチのリストを取得します。 このパッチ・リストを使用して、必要なInstrument
オブジェクトをSynthesizer
にロードできます。- 戻り値:
- このシーケンスで使用される
Patch
オブジェクトの配列 - 関連項目:
-