モジュール java.desktop
パッケージ javax.sound.midi

クラスSequence

java.lang.Object
javax.sound.midi.Sequence

public class Sequence
extends Object
Sequenceは、Sequencerオブジェクトによって再生可能な音楽情報(多くの場合、曲全体または曲全体)を含むデータ構造です。 具体的には、Sequenceはタイミング情報および1つ以上のトラックを含んでいます。 trackは一連のMIDIイベント(ノート・オン、ノート・オフ、プログラム変更、メタ・イベントなど)で構成されています。 シーケンスのタイミング情報は、そのシーケンスのイベントのタイムスタンプに使用される単位を指定します。

SequenceをMIDIファイルから作成するには、そのファイルを入力ストリームに読み込んでMidiSystemgetSequenceメソッドの1つを呼び出します。 また、シーケンスをゼロから作成するには、空きSequenceに新しいTracksを追加し、それらのTracksMidiEventオブジェクトを追加します。

関連項目:
Sequencer.setSequence(java.io.InputStream stream)Sequencer.setSequence(Sequence sequence)Track.add(MidiEvent)MidiFileFormat
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    protected float divisionType
    シーケンスのタイミング分割形式です。
    static float PPQ
    テンポ・ベースのタイミング形式で、これに対する解像度は四分音符当たりのパルス(ティック)で表示されます。
    protected int resolution
    シーケンスのタイミング解像度です。
    static float SMPTE_24
    SMPTEベースのタイミング形式で、1秒当たり24フレームです(解像度は1フレーム当たりのティックで表示)。
    static float SMPTE_25
    SMPTEベースのタイミング形式で、1秒当たり25フレームです(解像度は1フレーム当たりのティックで表示)。
    static float SMPTE_30
    SMPTEベースのタイミング形式で、1秒当たり30フレームです(解像度は1フレーム当たりのティックで表示)。
    static float SMPTE_30DROP
    SMPTEベースのタイミング形式で、1秒当たり29.97フレームです(解像度は1フレーム当たりのティックで表示)。
    protected Vector<Track> tracks
    このシーケンスのMIDIトラックです。
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    Sequence​(float divisionType, int resolution)
    新しいMIDIシーケンスを、指定されたタイミング分割形式およびタイミング解像度で構築します。
    Sequence​(float divisionType, int resolution, int numTracks)
    新しいMIDIシーケンスを、指定されたタイミング分割形式、タイミング解像度、およびトラック数で構築します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Track createTrack()
    空のトラックをこのシーケンスの一部として新しく作成します。
    boolean deleteTrack​(Track track)
    シーケンスから、指定されたトラックを削除します。
    float getDivisionType()
    このシーケンスのタイミング分割形式を取得します。
    long getMicrosecondLength()
    マイクロ秒単位のこのシーケンスのデュレーションを取得します。
    Patch[] getPatchList()
    このシーケンスで参照されるパッチのリストを取得します。
    int getResolution()
    このシーケンスのタイミング解像度を取得します。
    long getTickLength()
    MIDIティック単位のこのシーケンスのデュレーションを取得します。
    Track[] getTracks()
    このシーケンスの全トラックを含む配列を取得します。

    クラス java.lang.Objectで宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • フィールド詳細

  • コンストラクタの詳細

    • Sequence

      public Sequence​(float divisionType, int resolution) throws InvalidMidiDataException
      新しいMIDIシーケンスを、指定されたタイミング分割形式およびタイミング解像度で構築します。 分割形式は認識されたMIDIタイミング形式の1つであることが必要です。 テンポ・ベースのタイミングの場合、divisionTypeはPPQ (四分音符あたりのパルス)で、解像度はビートあたりのティックで指定されます。 SMTPEタイミングの場合、divisionTypeが1秒あたりのフレーム数を指定し、解像度はフレームあたりのティックで指定されます。 シーケンスには初期トラックを含みません。 トラックは、createTrack()deleteTrack(javax.sound.midi.Track)を使ってシーケンスに追加したり、シーケンスから削除することができます。
      パラメータ:
      divisionType - タイミング分割形式(PPQ、またはSMPTE形式の1つ)
      resolution - タイミング解像度
      例外:
      InvalidMidiDataException - divisionTypeが有効でない場合
      関連項目:
      PPQ, SMPTE_24, SMPTE_25, SMPTE_30DROP, SMPTE_30, getDivisionType(), getResolution(), getTracks()
    • Sequence

      public Sequence​(float divisionType, int resolution, int numTracks) throws InvalidMidiDataException
      新しいMIDIシーケンスを、指定されたタイミング分割形式、タイミング解像度、およびトラック数で構築します。 分割形式は認識されたMIDIタイミング形式の1つであることが必要です。 テンポ・ベースのタイミングの場合、divisionTypeはPPQ (四分音符あたりのパルス)で、解像度はビートあたりのティックで指定されます。 SMTPEタイミングの場合、divisionTypeが1秒あたりのフレーム数を指定し、解像度はフレームあたりのティックで指定されます。 シーケンスはnumTracksで指定されたトラック数で初期化されます。 これらのトラックは最初は空です(すなわち、「トラックの終わり」というメタイベントしか含まれていない)。 トラックは、getTracks()メソッドを使用して編集するために取り出すことができます。 createTrack()deleteTrack(javax.sound.midi.Track)を使って、追加のトラックを追加したり、既存のトラックを削除したりすることができます。
      パラメータ:
      divisionType - タイミング分割形式(PPQ、またはSMPTE形式の1つ)
      resolution - タイミング解像度
      numTracks - シーケンスのトラックの初期番号
      例外:
      InvalidMidiDataException - divisionTypeが有効でない場合
      関連項目:
      PPQ, SMPTE_24, SMPTE_25, SMPTE_30DROP, SMPTE_30, getDivisionType(), getResolution()
  • メソッドの詳細

    • getDivisionType

      public float getDivisionType()
      このシーケンスのタイミング分割形式を取得します。
      戻り値:
      分割形式(PPQ、またはSMPTE形式の1つ)
      関連項目:
      PPQ, SMPTE_24, SMPTE_25, SMPTE_30DROP, SMPTE_30, Sequence(float, int), MidiFileFormat.getDivisionType()
    • getResolution

      public int getResolution()
      このシーケンスのタイミング解像度を取得します。 シーケンスの分割形式がPPQの場合、解像度は1ビートあたりのティックで指定されます。 SMTPEタイミングの場合、解像度は1フレームあたりのティックで指定されます。
      戻り値:
      1ビート当たり(PPQ)または1フレーム当たり(SMPTE)のティック数
      関連項目:
      getDivisionType(), Sequence(float, int), MidiFileFormat.getResolution()
    • createTrack

      public Track createTrack()
      空のトラックをこのシーケンスの一部として新しく作成します。 このトラックには、最初、「トラックの終わり」というメタイベントが含まれています。 新たに作成されたトラックが返されます。 シーケンス内のすべてのトラックは、getTracks()を使用して取得できます。 トラックはdeleteTrack(javax.sound.midi.Track)を使用してシーケンスから削除できます。
      戻り値:
      新しく作成されたトラック
    • deleteTrack

      public boolean deleteTrack​(Track track)
      シーケンスから、指定されたトラックを削除します。
      パラメータ:
      track - 削除するトラック
      戻り値:
      トラックがそのトラックに存在し、かつ削除された場合はtrue、そうでない場合はfalse
      関連項目:
      createTrack(), getTracks()
    • getTracks

      public Track[] getTracks()
      このシーケンスの全トラックを含む配列を取得します。 シーケンスがトラックを含んでいない場合、長さ0の配列が返されます。
      戻り値:
      トラックの配列
      関連項目:
      createTrack(), deleteTrack(javax.sound.midi.Track)
    • getMicrosecondLength

      public long getMicrosecondLength()
      マイクロ秒単位のこのシーケンスのデュレーションを取得します。
      戻り値:
      マイクロ秒単位のこのシーケンスのデュレーション
    • getTickLength

      public long getTickLength()
      MIDIティック単位のこのシーケンスのデュレーションを取得します。
      戻り値:
      ティック単位のこのシーケンスの長さ
      関連項目:
      getMicrosecondLength()
    • getPatchList

      public Patch[] getPatchList()
      このシーケンスで参照されるパッチのリストを取得します。 このパッチ・リストを使用して、必要なInstrumentオブジェクトをSynthesizerにロードできます。
      戻り値:
      このシーケンスで使用されるPatchオブジェクトの配列
      関連項目:
      Synthesizer.loadInstruments(Soundbank, Patch[])