★★ Java の宿題ここで答えます Part 71 ★★
■ このスレッドは過去ログ倉庫に格納されています
0413デフォルトの名無しさん
2011/11/05(土) 17:55:26.95知り合いから聞いたら下記のようなことを言われました。
●SMFの仕様
・ファイル名は自由
・最初の一小節のみを使用(セットアップ小節はないものとする)
・ファイル自体の分解能は自由(読み込む際に分解能4tick/beatに直して配列に格納する)
・ノートナンバー24〜47はノートナンバーに対応する役割のメロディやコードを表す
※インスタンスを生成する時、Note(またはChord).FUNCTION.getFunction(NoteNo)で取得した役割をコンストラクタの引数にぶち込む
※ノートオンからノートオフの長さがNote.lengthに対応する
※同時にノートナンバー0〜11のノートオンイベントがある場合、そのノートナンバーをインスタンス変数paramに代入する
・ノートナンバー48〜127はデータベースのフラグ(タグ的なもの)を表す
※ファイル中にこれらの音高のノートがある場合、HashSet<Integer>型のインスタンス変数flagにノートナンバーの値をaddする
・分類・構成部分・小節番号はフォルダ階層で判別する(詳細は下記)
●だいたいの使い方
getChordDatabaseメソッドを用いることで、指定した条件を満たすコードのデータベースを取得する
getMelodyDatabaseメソッドを用いることで、指定した条件を満たすメロディのデータベースを取得する
上記メソッド名+AtRandomメソッドで、それらのうちのひとつをランダムに取り出す
select( Collection<Database> database, int... flags )メソッドでデータベースのCollectionから特定のフラグが立っているもののみを取り出す
●フラグのうち使い方が既に決まっているもの
48(C3) 短調
■ このスレッドは過去ログ倉庫に格納されています