オーディオファイルを読み取ってバイト配列に保存し、その波形の表示に進む方法について誰かにアドバイスしてもらえますか?私のJavaの知識は非常に基本的です。誰かが私をJavaオーディオプログラミングの学習教材にリンクできれば、それは素晴らしいことです。
2 に答える
パルス符号変調に関するいくつかの基本を理解する必要があります。これは、波が離散バイト/値としてデジタルで表現される方法です。ほとんどの波形フォーマットは、ヘッダー/メタデータとパルスコードのストリームにすぎません。
デジタルサンプリングとパルス符号変調の入門書は次のとおりです。
http://www.speakingcode.com/2011/12/31/primer-on-digital-audio-and-pulse-code-modulation-pcm/
その後は、比較的簡単です。ファイルをロードし、メタデータを読み取って、サンプリングレート、ビット深度などを確認してから、基本的にpcm値を使用して配列を作成します。 Javaチュートリアル、オンラインの多くのページ、およびスタックオーバーフローに関するいくつかの関連する質問。
http://docs.oracle.com/javase/tutorial/essential/io/
配列を作成したら、値はその時点での波の振幅位置を効果的に表します...これらの値をスケーリングして画像に変換します-これを行う方法はたくさんありますが、実際にはあなた次第です。考慮すべき点は、時間軸を気にするのか、それとも波形の形だけを気にするのかということです。形状だけを気にする場合は、簡単です。x軸で時間とスケールを適切にマークする必要がないためです(x軸で時間の標準に従い、y軸で振幅に従うと仮定します)。
あなたの質問は両方ともSOで答えられました。これらの質問に対する私の回答を参照してください。
オーディオとJavaの基本:
Javaでサウンドファイルを作成するにはどうすればよいですか
波形の描画と波形の概要: