簡體   English   中英

如何使用 java-openal 處理音頻 (wav)

[英]How to process audio (wav) using java-openal

我正在嘗試從 .wav 獲取更多信息 例如,使用分貝或 RMS 將 .wav 切成碎片。 或者提高 .wav 的分貝 如果我也能得到頻率信息就完美了。 .wav 是單聲道。

我可以使用urish/java-openal播放我的 .wav 。 由 Uri Shaked 創建。 我會查看 OpenAL 文檔嗎? 還是我應該找另一個音頻庫? 我更喜歡 Java 而不是 C。我不擅長 C。

首先使用一些庫打開 WAV 文件並用原始音頻波填充一個數組,該數組將采用 PCM 格式...請參閱在 Java 中讀取 wav 文件... WAV 格式很簡單,因此您可以編寫自己的代碼進行解析一個 WAV 文件並查看 44 字節標頭和 PCM 音頻有效負載,請參閱下面的 WAV 規范鏈接

一旦你有了整數數組,我建議你簡單地打印到控制台……取決於你發送整數數組的位置,你可能需要先將它轉換為浮點數……通常整數從 0 到 2 的某個冪不等像 2^16 - 1 ......通常你只會對這些整數的一小部分感興趣,而不是整個文件......這被稱為樣本窗口,其中每個整數都是已數字化的源音頻樣本從它的模擬源說從麥克風到一個離散的整數來表示音頻曲線在某一時刻的高度

通常為了獲得頻率,您將陣列或陣列的一部分發送到 FFT 調用中……這會將信號從時域轉換到頻域……在轉換過程中它既不會丟失也不會獲得信息……一旦進入頻域,您就可以將其反向發送,即進行逆變換以獲得原始時域信號...... 這是解析頻域數據的方法

請注意,您可以使用命令行工具 FFMEG 對音頻(和視頻)進行大量操作……它也可以作為一個庫使用,您可以從代碼中調用(以各種語言)

OpenAL 是一個很好的庫,用於渲染音頻或從麥克風捕獲音頻

祝你好運,歡迎來到 DSP 的世界

這是一些 WAV 規范的詳細信息

http://tiny.systems/software/soundProgrammer/WavFormatDocs.pdf http://soundfile.sapp.org/doc/WaveFormat/ http://www.labbookpages.co.uk/audio/javaWavFiles.html https:// blogs.msdn.microsoft.com/dawate/2009/06/23/intro-to-audio-programming-part-2-demystifying-the-wav-format/ http://soundfile.sapp.org/doc/WaveFormat/
http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html http:// soundfile.sapp.org/doc/WaveFormat/ #craig@ccrma.stanford.edu http://unusedino.de/ec64/technical/formats/wav.html http://www.drdobbs.com/database/inside-the -riff-specification/184409308 http://www.gamedev.net/page/resources/_/technical/game-programming/loading-a-wave-file-r709 http://www.topherlee.com/software/pcm -tut-wavformat.html http://www.labbookpages.co.uk/audio/javaWavFiles.html http://www.johnloomis.org/cpe102/asgn/asgn1/riff.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM