音声音楽スポンサーリンク矩形波のwavファイルはこれまでなんども作ってますが少しずつ洗練したプログラムになって来ています。最適化といってこの先発展した処理をするにあたってここでの作業は無駄にはなりません。汎用のwav्ファイル作成クラスとするために名前も汎用的なSampleWavという名前にしました。サンプルレートはどこからでも静的に参照できるようstaticにし変更できないようにfinalにしてあります。今までオシレータークラスを持つようにしていましたがここではOscillatableという前回作ったインターフェイスに変更しました。これでこのインタフェースを実装しているクラスであればこのクラスのオシレータとして利用できるようになります。他の処理はサイン波作成のときと同じです。0;コンストラクタOscillatableを引数に追加しました。他の処理はオシレーターのクラスからインタフェースの参照値oscillatableに変更された以外は同じです。big_endian);}メインの処理メインの処理ではSampleWavを作成してオシレーターを作成して引数として指定しています。このSquareOscillatorを他のOscillatable実装クラスに変更すると音色を変えることができます。音声ファイルは前回と全く同じものです。http://mocha-java.com/wp-content/uploads/2016/11/square_440.mp3ソース前回のものより洗練されてきました。(2)前回シーケンスの内容を出力するメソッドを作ったのでこれを利用したいと思います。前回のメソッドでは引数にPrintStr...記事を読むJavaとMIDI:シンセサイザーのリセット前回MIDIで音を鳴らしました。ここでは音を開始するコマンドと音を終了させるコマンドを時間差でシンセサイザーに送ることによって一定時間音を鳴...記事を読むSeleniumで翻訳機を作る(2)引き続きSeleniumとGoogle翻訳というページを使って翻訳機を作っています。Google翻訳は以下のリンクにありますので使ってみてく...記事を読むJavaとMIDI:バッハ・チェロ組曲の一部(3)前回の続きで演奏部分の実装をします。ノート番号の一覧は以下の通り設定していました。連想配列は通常の配列と同じように複数のインスタンスをまとめて管理できます。抽象クラスはそれ自体はインスタンスが作られることはありません。継承先のサブクラスで全ての実装が行われ、クラスに抽象を表すabstract...記事を読むクラスにコンストラクタを定義する前回クラスの定義とフィールド変数を宣言するところまで見ました。今回はクラスにメソッドを定義します。メソッドはフィールド変数を外部に参照させた...記事を読むモノラルからステレオに変換する(2)前回汎用の「時間で変化するdouble値を保持するクラス」DoubleMapクラスを作ったので以前作ったFrequencyMapを廃止したい...記事を読むJavaとMIDI:フォリア(3)今回で完成させます。最後の2小節はそれまでと違うので別に作ります。フレーズの定義はこんな感じです。P...記事を読む音声作成クラスのオプティマイズ(1)この先もう少し凝ったことをするために一度クラスを最適化、オプティマイズします。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。外国語としてのJavaと音楽%d人のブロガーが「いいね」をつけました。