◇EZアプリ(Java) Phase3 -PhrasePlayerで音楽再生-

●PhrasePlayerの性能
これはPhase2.5から使える機能です。もちろんPhase3でも使えます(と言うかPhase3機は今までのPhaseも動作します)
・Phrase:4和音×4トラック
・AudioPhrase:16和音×1トラック
を同時再生可能です。
全トラックを使えば32和音再生が可能ですが、それをするならMediaPlayerを使った方が楽です。
2音以上の同時再生を行う事が出来る点がPhrasePlayerの特徴です。

●Phraseファイルを作る
再生可能なファイルはspfファイルです。

・フォーマット
通常のMIDIファイルを用意して下さい。
但し、1トラック中に4和音までです。それを越えるとツールで変換できません。

・変換ツールダウンロード場所
YAMAHA SMAF GLOBAL
http://smaf-yamaha.com/jp/
->上のバーのツール
->SMAFオーサリングツールのダウンロード
->ATS-SMAFPhraseL1(ゲームサウンド)
色々なツールが置かれていますが、このツールが一番確実です。

●AudioPhraseファイルを作る
再生可能なファイルはmmfファイルです。

・フォーマット
以下の2種類が可能です。
通常のMIDIファイルで、合計16和音まで
モノラル・16bit・8000HzのWAVファイル

・通常のMIDIからmmf変換
以下のツールで行います。
YAMAHA SMAF GLOBAL
http://smaf-yamaha.com/jp/
->上のバーのツール
->SMAFオーサリングツールのダウンロード
->SSC-MA3-SMAF(着信音)

MIDIファイルがFormat0で無い場合は警告が出て変換出来ません。
その場合は、以下のツールを使ってFoemat1からFoemat0に変換して下さい。
FC10 (Ver.1.0.0)
YAMAHA SMAF GLOBALの同じ場所に並んでいます。

・WAVからmmf変換
以下のツールで行います。
YAMAHA SMAF GLOBAL
http://smaf-yamaha.com/jp/
->上のバーのツール
->SMAFオーサリングツールのダウンロード
->WSC-MA2-SMAF(着信音)

●PhraseとAudioPhraseを同時再生する
公式のAPIマニュアルに再生方法が説明されていますが、言葉で説明されても意味不明です。
本来プログラムの説明とは、以下のようにプログラムを添えて説明するべきです。

//PhrasePlayerライブラリ
import com.jblend.media.smaf.phrase.*;

//PhrasePlayer生成
PhrasePlayer ph_play = PhrasePlayer.getPlayer();
//AudioPhraseトラック取得
AudioPhraseTrack auph_tr;
auph_tr = ph_play.getAudioTrack();
//Phraseトラック取得
PhraseTrack[] ph_tr = new PhraseTrack[4];
ph_tr[0] = ph_play.getTrack();
ph_tr[1] = ph_play.getTrack();
ph_tr[2] = ph_play.getTrack();
ph_tr[3] = ph_play.getTrack();
try{
  //AudioPhraseデータ生成
  AudioPhrase auph;
  auph=new AudioPhrase("resource:1.mmf");
  //Phraseデータ生成
  Phrase[] ph = new Phrase[4];
  ph[0]=new Phrase("resource:1.spf");
  ph[1]=new Phrase("resource:2.spf");
  ph[2]=new Phrase("resource:3.spf");
  ph[3]=new Phrase("resource:4.spf");
  //AudioPhraseデータをAudioPhraseトラックにセット
  auph_tr.setPhrase(auph);
  //PhraseデータをPhraseトラックにセット
  ph_tr[0].setPhrase(ph[0]);
  ph_tr[1].setPhrase(ph[1]);
  ph_tr[2].setPhrase(ph[2]);
  ph_tr[3].setPhrase(ph[3]);
}
catch(Exception e){
  System.out.println(e.toString());
}
//AudioPhraseトラック再生
auph_tr.play(1);
//Phraseトラック再生
ph_tr[0].play(1);
ph_tr[1].play(1);
ph_tr[2].play(1);
ph_tr[3].play(1);


トップメニュープログラマ専用EZアプリ(Java)Phase3