jp.crestmuse.cmx.processing
クラス CMXController

java.lang.Object
  上位を拡張 jp.crestmuse.cmx.processing.CMXController
すべての実装されたインタフェース:
TickTimer

public class CMXController
extends java.lang.Object
implements TickTimer

このクラスは,CrestMuse Toolkit (CMX)の主要な機能を簡単に呼び出せるようにしたクラスです. ただし,現時点ではCMXのすべての機能を呼び出せるようになっているわけではありません. このクラスを利用する際には,getInstanceメソッドでインスタンスを取得してから,各種メソッドを 利用します.


メソッドの概要
 void addMusicListener(MusicListener l)
           
 void addSPModule(ProducerConsumerCompatible module)
          リアルタイム処理用の「モジュール」を登録します.
 void closeMic()
           
 void connect(ProducerConsumerCompatible output, int ch1, ProducerConsumerCompatible input, int ch2)
          登録済みの「モジュール」の接続方法を定義します.
static MidiEventWithTicktime createControlChangeEvent(long position, int ch, int type, int value)
           
static CMXFileWrapper createDocument(java.lang.String toptag)
          CMXが対応しているXML形式の文書オブジェクトを生成します.
 WindowSlider createMic()
          マイクから波形データを受け取って,短区間ごとに区切った波形断片を次々と 出力する「モジュール」を生成します.
 WindowSlider createMic(int fs)
          マイクから波形データを受け取って,短区間ごとに区切った波形断片を次々と 出力する「モジュール」を生成します.
 MidiEventSender createMidiEventSender()
           
 MidiInputModule createMidiIn()
          認識済みのMIDI入力デバイスからMIDIイベントを受け付けてそのまま出力する 「モジュール」を生成して返します.
 MidiOutputModule createMidiOut()
          認識済みのMIDI出力デバイスに,入力されたMIDIイベントを出力する「モジュール」を 生成して返します.
static MusicRepresentation createMusicRepresentation(int measure, int division)
          音楽推論用のオブジェクトを返します.
static MidiEventWithTicktime createNoteOffEvent(long position, int ch, int nn, int vel)
           
static MidiEventWithTicktime createNoteOnEvent(long position, int ch, int nn, int vel)
           
static MidiEventWithTicktime createProgramChangeEvent(long position, int ch, int value)
           
static MidiEventWithTicktime createShortMessageEvent(byte[] message, long tick, long position)
           
static MidiEventWithTicktime createShortMessageEvent(java.util.List<? extends java.lang.Number> message, long tick, long position)
           
 TappingModule createTappingModule(java.awt.Component c)
           
 MidiInputModule createVirtualKeyboard()
          仮想鍵盤を表示し,キーボードのキーを押すと,対応するMIDIイベントが 出力される「モジュール」を生成します,
 MidiInputModule createVirtualKeyboard(java.awt.Component c)
          仮想鍵盤を表示し,キーボードのキーを押すと,対応するMIDIイベントが 出力される「モジュール」を生成します,
 SynchronizedWindowSlider createWaveCapture(boolean isStereo)
          現在サウンドカードから再生中の音を受け取って,その波形データを短区間ごとに区切った 波形断片を次々と出力する「モジュール」を生成します.
static CMXController getInstance()
          このクラスのインスタンスを返します.
 long getMicrosecondPosition()
          現在の再生中の音楽データにおける現在の再生箇所をマイクロ秒単位で 返します.
 long getTickPosition()
          現在の再生中の音楽データにおける現在の再生箇所をティック単位で 返します.
 int getTicksPerBeat()
          現在読み込まれているMIDIデータのTicks Per Beat(1拍あたりの ティック数)を返します.
 boolean isNowPlaying()
          現在,音楽を再生中かどうかを返します.
 void mp3read(java.io.InputStream input)
          指定されたMP3ファイルを読み込みます.読み込まれたMP3ファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.
 void mp3read(java.lang.String filename)
          指定されたMP3ファイルを読み込みます.読み込まれたMP3ファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.
 void playMusic()
          すでに読み込まれた音楽データの再生を開始します.
static void println(CMXFileWrapper f)
          CMXFileWrapperオブジェクトをXML形式で標準出力に書き出します.
static CMXFileWrapper read(java.io.InputStream input)
          CMXが対応しているXML形式の文書を読み込みます.
 void readConfig(java.io.InputStream input)
          音響信号処理に関する各種パラメータや設定を記述してConfigXMLファイルを読み込みます.
 void readConfig(java.lang.String filename)
          音響信号処理に関する各種パラメータや設定を記述してConfigXMLファイルを読み込みます.
static CMXFileWrapper readfile(java.lang.String filename)
          CMXが対応しているXML形式の文書を読み込みます.
static MIDIXMLWrapper readSMFAsMIDIXML(java.io.InputStream input)
          標準MIDIファイルをMIDIXML形式で読み込みます.
static MIDIXMLWrapper readSMFAsMIDIXML(java.lang.String filename)
          標準MIDIファイルをMIDIXML形式で読み込みます.
 void setMicrosecondPosition(long t)
          次回再生時の音楽の再生開始箇所をマイクロ秒単位で指定します.
 void showAudioMixerChooser(java.awt.Component parent)
           
 void showMidiInChooser(java.awt.Component parent)
          認識済みのMIDI入力デバイスの選択ダイアログを表示します.
 void showMidiOutChooser(java.awt.Component parent)
          認識済みのMIDI出力デバイスの選択ダイアログを表示します.
 void sleep(long ms)
           
 void smfread(java.io.InputStream input)
          指定された標準MIDIファイルを読み込みます.読み込まれた標準MIDIファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.
 void smfread(MIDIXMLWrapper midi)
          MIDIXMLドキュメントを標準MIDIファイルに変換して読み込みます.
 void smfread(SCCXMLWrapper scc)
          SCCXMLドキュメントを標準MIDIファイルに変換して読み込みます.
 void smfread(java.lang.String filename)
          指定された標準MIDIファイルを読み込みます.読み込まれた標準MIDIファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.
 void startSP()
          登録済みの「モジュール」を実行開始します.
 void stopMusic()
          再生中の音楽を停止します.
 void waitForMusicStopped()
          音楽の再生が停止されるまで,スレッドを停止します.
 void wavread(java.io.InputStream input)
          指定されたWAVファイルを読み込みます.読み込まれたWAVファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.
 void wavread(java.lang.String filename)
          指定されたWAVファイルを読み込みます.読み込まれたWAVファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.
static void write(CMXFileWrapper f, java.io.OutputStream output)
          CMXFileWrapperオブジェクトを,対応するXML形式で出力ストリームに書き出します.
static void writeAsSMF(MIDIXMLWrapper f, java.io.OutputStream output)
          MIDIXMLドキュメントを標準MIDIファイルとして出力ストリームに書き出します.
static void writeAsSMF(SCCXMLWrapper f, java.io.OutputStream output)
          SCCXMLドキュメントを標準MIDIファイルとして出力ストリームに書き出します.
static void writefile(CMXFileWrapper f, java.lang.String filename)
          CMXFileWrapperオブジェクトを,対応するXML形式でファイルに保存します.
static void writefileAsSMF(MIDIXMLWrapper f, java.lang.String filename)
          MIDIXMLドキュメントを標準MIDIファイルとしてファイルに保存します.
static void writefileAsSMF(SCCXMLWrapper f, java.lang.String filename)
          SCCXMLドキュメントを標準MIDIファイルとしてファイルに保存します.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

addMusicListener

public void addMusicListener(MusicListener l)

addSPModule

public void addSPModule(ProducerConsumerCompatible module)
リアルタイム処理用の「モジュール」を登録します.


closeMic

public void closeMic()

connect

public void connect(ProducerConsumerCompatible output,
                    int ch1,
                    ProducerConsumerCompatible input,
                    int ch2)
登録済みの「モジュール」の接続方法を定義します.


createControlChangeEvent

public static MidiEventWithTicktime createControlChangeEvent(long position,
                                                             int ch,
                                                             int type,
                                                             int value)

createDocument

public static CMXFileWrapper createDocument(java.lang.String toptag)
CMXが対応しているXML形式の文書オブジェクトを生成します. たとえば,SCCXML形式の文書オブジェクトを生成する際には, createDocument(SCCXMLWrapper.TOP_TAG) とします.


createMic

public WindowSlider createMic()
マイクから波形データを受け取って,短区間ごとに区切った波形断片を次々と 出力する「モジュール」を生成します. サンプリング周波数は16kHzとします.


createMic

public WindowSlider createMic(int fs)
マイクから波形データを受け取って,短区間ごとに区切った波形断片を次々と 出力する「モジュール」を生成します. fsにはサンプリング周波数をHz単位で指定します.


createMidiEventSender

public MidiEventSender createMidiEventSender()

createMidiIn

public MidiInputModule createMidiIn()
認識済みのMIDI入力デバイスからMIDIイベントを受け付けてそのまま出力する 「モジュール」を生成して返します. このメソッドは,showMidiInChooserメソッドによって MIDI入力デバイスを選択した後でしか使用できません.


createMidiOut

public MidiOutputModule createMidiOut()
認識済みのMIDI出力デバイスに,入力されたMIDIイベントを出力する「モジュール」を 生成して返します.


createMusicRepresentation

public static MusicRepresentation createMusicRepresentation(int measure,
                                                            int division)
音楽推論用のオブジェクトを返します.


createNoteOffEvent

public static MidiEventWithTicktime createNoteOffEvent(long position,
                                                       int ch,
                                                       int nn,
                                                       int vel)

createNoteOnEvent

public static MidiEventWithTicktime createNoteOnEvent(long position,
                                                      int ch,
                                                      int nn,
                                                      int vel)

createProgramChangeEvent

public static MidiEventWithTicktime createProgramChangeEvent(long position,
                                                             int ch,
                                                             int value)

createShortMessageEvent

public static MidiEventWithTicktime createShortMessageEvent(byte[] message,
                                                            long tick,
                                                            long position)

createShortMessageEvent

public static MidiEventWithTicktime createShortMessageEvent(java.util.List<? extends java.lang.Number> message,
                                                            long tick,
                                                            long position)

createTappingModule

public TappingModule createTappingModule(java.awt.Component c)

createVirtualKeyboard

public MidiInputModule createVirtualKeyboard()
仮想鍵盤を表示し,キーボードのキーを押すと,対応するMIDIイベントが 出力される「モジュール」を生成します,


createVirtualKeyboard

public MidiInputModule createVirtualKeyboard(java.awt.Component c)
仮想鍵盤を表示し,キーボードのキーを押すと,対応するMIDIイベントが 出力される「モジュール」を生成します,


createWaveCapture

public SynchronizedWindowSlider createWaveCapture(boolean isStereo)
現在サウンドカードから再生中の音を受け取って,その波形データを短区間ごとに区切った 波形断片を次々と出力する「モジュール」を生成します.


getInstance

public static CMXController getInstance()
このクラスのインスタンスを返します.


getMicrosecondPosition

public long getMicrosecondPosition()
現在の再生中の音楽データにおける現在の再生箇所をマイクロ秒単位で 返します.


getTickPosition

public long getTickPosition()
現在の再生中の音楽データにおける現在の再生箇所をティック単位で 返します. ただし,このメソッドは読み込み済みのデータがMIDIデータのときしか 使用できません.

定義:
インタフェース TickTimer 内の getTickPosition

getTicksPerBeat

public int getTicksPerBeat()
現在読み込まれているMIDIデータのTicks Per Beat(1拍あたりの ティック数)を返します. このメソッドは読み込み済みのデータがMIDIデータのときしか 使用できません.

定義:
インタフェース TickTimer 内の getTicksPerBeat

isNowPlaying

public boolean isNowPlaying()
現在,音楽を再生中かどうかを返します.


mp3read

public void mp3read(java.io.InputStream input)
指定されたMP3ファイルを読み込みます.読み込まれたMP3ファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


mp3read

public void mp3read(java.lang.String filename)
指定されたMP3ファイルを読み込みます.読み込まれたMP3ファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


playMusic

public void playMusic()
すでに読み込まれた音楽データの再生を開始します.


println

public static void println(CMXFileWrapper f)
CMXFileWrapperオブジェクトをXML形式で標準出力に書き出します.


read

public static CMXFileWrapper read(java.io.InputStream input)
CMXが対応しているXML形式の文書を読み込みます.


readConfig

public void readConfig(java.io.InputStream input)
音響信号処理に関する各種パラメータや設定を記述してConfigXMLファイルを読み込みます. createMicなどを使用する際には必須です.


readConfig

public void readConfig(java.lang.String filename)
音響信号処理に関する各種パラメータや設定を記述してConfigXMLファイルを読み込みます. createMicなどを使用する際には必須です.


readfile

public static CMXFileWrapper readfile(java.lang.String filename)
CMXが対応しているXML形式の文書を読み込みます.


readSMFAsMIDIXML

public static MIDIXMLWrapper readSMFAsMIDIXML(java.io.InputStream input)
標準MIDIファイルをMIDIXML形式で読み込みます.


readSMFAsMIDIXML

public static MIDIXMLWrapper readSMFAsMIDIXML(java.lang.String filename)
標準MIDIファイルをMIDIXML形式で読み込みます.


setMicrosecondPosition

public void setMicrosecondPosition(long t)
次回再生時の音楽の再生開始箇所をマイクロ秒単位で指定します. ただし,このメソッドは音楽停止中しか使用できません.


showAudioMixerChooser

public void showAudioMixerChooser(java.awt.Component parent)

showMidiInChooser

public void showMidiInChooser(java.awt.Component parent)
認識済みのMIDI入力デバイスの選択ダイアログを表示します. 表示するダイアログボックスの親ウィンドウが不明な場合,parentには nullを指定することもできます.


showMidiOutChooser

public void showMidiOutChooser(java.awt.Component parent)
認識済みのMIDI出力デバイスの選択ダイアログを表示します. 表示するダイアログボックスの親ウィンドウが不明な場合,parentには nullを指定することもできます.


sleep

public void sleep(long ms)

smfread

public void smfread(java.io.InputStream input)
指定された標準MIDIファイルを読み込みます.読み込まれた標準MIDIファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


smfread

public void smfread(MIDIXMLWrapper midi)
MIDIXMLドキュメントを標準MIDIファイルに変換して読み込みます. 読み込まれた標準MIDIファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


smfread

public void smfread(SCCXMLWrapper scc)
SCCXMLドキュメントを標準MIDIファイルに変換して読み込みます. 読み込まれた標準MIDIファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


smfread

public void smfread(java.lang.String filename)
指定された標準MIDIファイルを読み込みます.読み込まれた標準MIDIファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


startSP

public void startSP()
登録済みの「モジュール」を実行開始します.


stopMusic

public void stopMusic()
再生中の音楽を停止します.


waitForMusicStopped

public void waitForMusicStopped()
音楽の再生が停止されるまで,スレッドを停止します.


wavread

public void wavread(java.io.InputStream input)
指定されたWAVファイルを読み込みます.読み込まれたWAVファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


wavread

public void wavread(java.lang.String filename)
指定されたWAVファイルを読み込みます.読み込まれたWAVファイルは, このクラスのインスタンス内に保存され,playMusicメソッドが呼ばれたときに 読み込まれます.


write

public static void write(CMXFileWrapper f,
                         java.io.OutputStream output)
CMXFileWrapperオブジェクトを,対応するXML形式で出力ストリームに書き出します.


writeAsSMF

public static void writeAsSMF(MIDIXMLWrapper f,
                              java.io.OutputStream output)
MIDIXMLドキュメントを標準MIDIファイルとして出力ストリームに書き出します.


writeAsSMF

public static void writeAsSMF(SCCXMLWrapper f,
                              java.io.OutputStream output)
SCCXMLドキュメントを標準MIDIファイルとして出力ストリームに書き出します.


writefile

public static void writefile(CMXFileWrapper f,
                             java.lang.String filename)
CMXFileWrapperオブジェクトを,対応するXML形式でファイルに保存します.


writefileAsSMF

public static void writefileAsSMF(MIDIXMLWrapper f,
                                  java.lang.String filename)
MIDIXMLドキュメントを標準MIDIファイルとしてファイルに保存します.


writefileAsSMF

public static void writefileAsSMF(SCCXMLWrapper f,
                                  java.lang.String filename)
SCCXMLドキュメントを標準MIDIファイルとしてファイルに保存します.