デザインスポンサーリンクシーケンスを作れるようになってきましたがまだ使いにくいので手を入れていきます。今回は時間の管理についてです。現在のところシーケンスは楽曲作成に一番向いているPPQというタイミング形式を使っています。これは四分音符の解像度を指定するもので一番小さい時間単位をティックと呼びます。一般的な解像度は480とされていますがこの場合四分音符は480のティックに分割できることになります。八分音符は240ティック、十六分音符は120ティックといった具合です。シーケンスを作る時にはMIDIメッセージはMIDIイベントという時間情報を持ったオブジェクトにラップされる、つまり包まれるわけですがこの時には時間位置をティックで指定します。以下はシーケンスを作る時の処理の一部です。resolution));MidiEventのインスタンスを作る時には開始位置からのティックを指定することになります。開始位置は0で一拍経過するごとに480ティック足されていきます。4拍子の曲の場合2小節目の最初は4拍あとなので480の4倍の1920ティック、9小節目であれば8小節経過した後なので480の4倍の8倍の15360ティックとなります。楽曲を作る側では「何小節目の何拍目」と指定したいのに実際には「何ティック目」で入力することを求められています。この変換をいちいちするのは大変面倒です。これを解決するのが今回の目的です。以前デジタル信号を作った時にちょうど同じような問題がありこれを解決していました。この時の方法を参考にしてみたいと思います。次回はこれを参考にしながらMIDIでの解決方法を考えます。ミナ・ベルジェJavaとMIDI:シーケンサーを終了させるJavaとMIDI:時間情報を管理する(2)関連記事JavaとMIDI:ハノンの練習曲第一番(2)実装の続きです。実装内容は以下の8音でフレーズを設定した後音程を1ずつ増やして14回繰り返すのでした。...記事を読むJavaとMIDI:音色を変更する(3)前回まででサウンドバンクを利用した音色の変更はJavaから操作可能になりました。重要なのは操作マニュアルから設定値を見つけることでもあ...記事を読む標準入力からint型整数を取得するユーティリティを作る前回は入力を求めるメッセージを出力し文字列の入力を取得するところまで作りました。今回は文字列ではなくint型整数を取得したいと思います。おそ...記事を読む標準入力からオプション選択を取得するユーティリティを作るユーザーから任意の値を取得するのではなくプログラム側の提示したオプションから選択してもらうケースを想定します。あるケースとしてはユーザー...記事を読むJavaとMIDI:バッハ・チェロ組曲の一部(1)ここまでMIDIで演奏するJavaのツールを作ってきたので何か演奏したいと思います。前回までの実装を進めて一曲全部を入力しました。今まではオーディオの情報を直接作り出して音楽を製作していましたがここから話題を変えてMIDIで音楽を作りたいと思います。MIDIとは1980...記事を読むJavaとMIDI:MIDIの環境を調べるMIDIをJavaを経由で利用するにあたってまずやることは自分のPC上で使えるMIDIのデバイスを調べることです。認識...記事を読むJavaとMIDI:シーケンスエディターの作成バッハのチェロ組曲のシーケンス作りをしましたがまだコードが煩雑であるのでツールをさらに追加していきたいと思います。結果として楽曲作成に集中で...記事を読むJavaとMIDI:時間情報を管理する(2)以前作った拍子を管理するクラスTimeSignは「何小節目の何拍目」かを入力すると「開始から何拍目」であることを返すように作られていました。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。外国語としてのJavaと音楽%d人のブロガーが「いいね」をつけました。