【TarsosDSP】TarsosDSP 简介 ( TarsosDSP 功能 | 相关链接 | 源码和相关资源收集 | TarsosDSP 示例应用 | TarsosDSP 源码路径解析 )
文章目錄
- I . TarsosDSP 函數(shù)庫(kù)簡(jiǎn)介
- II . TarsosDSP 功能
- III . TarsosDSP 相關(guān)資源鏈接 ( 官方資料 )
- IV . TarsosDSP 源碼和相關(guān)資源收集 ( 官方資料 )
- V . TarsosDSP 示例應(yīng)用
- VI . TarsosDSP 源碼路徑解析
I . TarsosDSP 函數(shù)庫(kù)簡(jiǎn)介
1 . TarsosDSP 是 Java 庫(kù) : TarsosDSP 是一個(gè)音頻處理 Java 庫(kù) , 該庫(kù)是純 Java 實(shí)現(xiàn) , 沒(méi)有依賴任何外部的第三方庫(kù) ;
2 . TarsosDSP 庫(kù)的目的 : 提供簡(jiǎn)單易用的接口 , 調(diào)用音頻處理算法實(shí)現(xiàn)相關(guān)業(yè)務(wù)邏輯 ;
3 . TarsosDSP 庫(kù)的定位 : 數(shù)字信號(hào)處理 ( DSP ) 算法都很復(fù)雜 , 涉及傅里葉變換 , 數(shù)字濾波器等算法 , 復(fù)變函數(shù)等數(shù)學(xué)理論 , 想想就很復(fù)雜 ;
① 小巧簡(jiǎn)單 : TarsosDSP 庫(kù)在旨在減小函數(shù)庫(kù)庫(kù)的體量 , 可以簡(jiǎn)單地調(diào)用 ;
② 功能豐富 : TarsosDSP 庫(kù)目的是為了提供強(qiáng)大齊全的功能 , 可以勝任任何實(shí)際應(yīng)用中的業(yè)務(wù)邏輯 ;
③ 平衡點(diǎn) : 明顯上面兩個(gè)功能是相悖的 , 功能越強(qiáng)大 , 函數(shù)調(diào)用越復(fù)雜 , 函數(shù)庫(kù)體量越大 , TarsosDSP 目的是找到二者的一個(gè)平衡點(diǎn) , 既能保證簡(jiǎn)介 , 有盡量提供豐富的 DSP 處理功能 ;
II . TarsosDSP 功能
1 . 聲音起始檢測(cè) : A percussion onset detector , 檢測(cè)聲音的第一下的發(fā)音瞬間 ;
2 . 音高檢測(cè)算法 : 給一個(gè)音頻樣本 , 檢測(cè)該樣本的聲音頻率 , 音高 , 可以用于樂(lè)器調(diào)音器實(shí)現(xiàn) , 聲音識(shí)別領(lǐng)域 ; TarsosDSP 中提供了多個(gè)該該類型算法 , 如 : YIN , Mcleod Pitch method 等 ;
3 . 動(dòng)態(tài)音高檢測(cè)算法 : Dynamic Wavelet Algorithm Pitch Tracking , 動(dòng)態(tài)的頻率 , 音高檢測(cè)算法 , 分析動(dòng)態(tài)輸入的音頻流中的音高頻率 ; ( 個(gè)人理解 )
4 . 解碼算法 : 實(shí)現(xiàn)了 Goertzel DTMF 解碼算法 , 用于將 MP3 等壓縮格式的音頻 , 解碼成 PCM , WAV 格式的音頻 ;
5 . 時(shí)間拉伸算法 : WSOLA 算法 , 拉伸音頻的時(shí)間 , 變速不變調(diào)算法 , 等音頻處理 , 如音頻中的倍速播放功能 ;
6 . 重采樣算法 : 改變音頻的采樣率 , 聲道數(shù) , 采樣大小等音頻屬性 , 將 44100 Hz , 立體聲 , 32 位采樣的音頻 , 轉(zhuǎn)為 8000Hz , 單聲道 , 8 位采樣 , 瞬間將音頻大小縮小了 40 倍 , 當(dāng)然音質(zhì)也變垃圾了 ;
7 . 過(guò)濾器 : 過(guò)濾雜音 , 噪音 等 ;
8 . 簡(jiǎn)單的合成器 : 合成多個(gè)聲音到同一個(gè)聲道 ;
9 . 音頻效果器 : 為音頻添加諸如 , 混響 , 重低音 , 環(huán)繞音 , 均衡器 等音頻效果器 ;
10 . 音高轉(zhuǎn)換算法 : 變聲器算法 , 將聲音變?yōu)樘}莉音 , 大叔音 , 男聲變女聲 等操作 ;
這是一個(gè)很好的 DSP 算法學(xué)習(xí)平臺(tái) , 如果將 TarsosDSP 的代碼及內(nèi)部的原理都理解了 , 算是一個(gè)入門級(jí)的音頻算法工程師了 ;
III . TarsosDSP 相關(guān)資源鏈接 ( 官方資料 )
1 . TarsosDSP GitHub 源碼地址 ( 重點(diǎn) ) : GitHub - JorenSix / TarsosDSP
① TarsosDSP 各個(gè)版本資源地址 ( 文檔 / 代碼示例 / 各平臺(tái)函數(shù)庫(kù) ) : Index of /releases/TarsosDSP/
② TarsosDSP 最新版本資源地址 ( 文檔 / 代碼示例 / 各平臺(tái)函數(shù)庫(kù) ) : Index of /releases/TarsosDSP/TarsosDSP-latest/
2 . TarsosDSP 詳細(xì)資源地址 :
① TarsosDSP 文檔地址 : TarsosDSP latest Documentation
② TarsosDSP 示例地址 : TarsosDSP latest Examples
③ TarsosDSP Java 函數(shù)庫(kù)下載地址 : TarsosDSP-Android-latest.jar
④ TarsosDSP Android 函數(shù)庫(kù)下載地址 : TarsosDSP-latest.jar
3 . Rubber Band :
① 項(xiàng)目主頁(yè) : Make your audio applications stretchier than ever
② Android 平臺(tái)使用 Rubber Band 實(shí)時(shí)音頻時(shí)間拉伸庫(kù) : GitHub - JorenSix / RubberBandJNI ;
4 . TarsosDSP 相關(guān)文章目錄 : TarsosDSP ;
① Android 平臺(tái)使用 TarsosDSP : TarsosDSP on Android - Audio Processing in Java on Android ;
② Android 平臺(tái) mp3 音頻解碼 : Decode MP3s and other Audio formats the easy way on Android
③ Java 通過(guò) JNI 控制音頻時(shí)間拉伸和變調(diào) : Control Audio Time Stretching and Pitch Shifting from Java using Rubber Band And JNI
IV . TarsosDSP 源碼和相關(guān)資源收集 ( 官方資料 )
整理了一上午 , 將目前能找到的官方資料都收集了一遍 ;
1 . 下載地址 : TarsosDSP 資料
2 . TarsosDSP 手冊(cè) : 強(qiáng)烈推薦 TarsosDSP-2.3-Manual.pdf 手冊(cè) , 絕對(duì)是入門的第一手好資料 , 整個(gè)手冊(cè)看完 , 基本能學(xué)會(huì) TarsosDSP ;
3 . 整體目錄 :
4 . TarsosDSP 函數(shù)庫(kù) :
① 函數(shù)庫(kù)平臺(tái) : 分別提供 Java 和 Android 的函數(shù)庫(kù) JAR 包 ;
② 附帶源碼 : 分別提供 帶完整源碼 和 不帶源碼的 JAR 包 , 學(xué)習(xí)開(kāi)發(fā)階段建議使用 帶源碼版本的 JAR 包 , 上線時(shí)使用不帶源碼的 JAR 包 , 節(jié)省體積 ;
③ 函數(shù)庫(kù) JDK 版本 : TarsosDSP 源碼兼容 JDK 1.6 版本 , JAR 文件都編譯為 JDK 1.7 版本 ;
5 . TarsosDSP 示例應(yīng)用 : 提供 232323 個(gè)示例應(yīng)用 ;
V . TarsosDSP 示例應(yīng)用
1 . 聲音檢測(cè) ( SoundDetector ) : 計(jì)算 音頻采樣 的響度 , 當(dāng)輸入的音頻樣本聲音響度超過(guò)一個(gè)閾值時(shí) , 會(huì)觸發(fā)指定的事件 ;
2 . 音高檢測(cè) ( PitchDetector ) : 實(shí)時(shí)的音頻樣本 音高 / 頻率 監(jiān)測(cè) , 監(jiān)測(cè)結(jié)果是 頻率值 ( 單位 Hz 赫茲 ) 和 該頻率對(duì)應(yīng)的 概率 ;
3 . 敲擊檢測(cè) ( PercussionDetector ) : 敲擊檢測(cè) , 監(jiān)測(cè)打擊樂(lè)器的第一下瞬間 ;
① 示例 : 如 , 拍手動(dòng)作 觸發(fā) 某事件 ;
② 涉及參數(shù) : 該示例中涉及到 聲音樣本的 頻率 和 頻率對(duì)應(yīng)的概率 , 這兩個(gè)參數(shù)對(duì)檢測(cè)算法的影響 ;
4 . UtterAsterisk : 這是一個(gè)游戲 ;
① 游戲目標(biāo) : 輔助唱歌 , 然后盡可能的接近某個(gè)旋律 ;
② 實(shí)現(xiàn)原理 : 使用 YIN / MPM 算法 , 實(shí)現(xiàn) 實(shí)時(shí)的 頻率 / 音高 檢測(cè) , 檢測(cè)器 頻率值 ;
5 . Java 頻譜圖 ( Spectrogram in Java ) :
① 顯示內(nèi)容 : 顯示 音頻文件 , 或 音頻流 的頻譜圖 和 檢測(cè)到的 頻率信息 ;
② 基本頻率 : 音頻樣本的頻率有很多 , 根據(jù)某種特征要求 , 選擇其中一個(gè)作為其基本頻率 ;
③ 運(yùn)行 : 示例中的 jar 程序無(wú)法運(yùn)行 , 需要安裝 JDK 1.7 和 Ant 構(gòu)建腳本 , 自己編譯一次 , 就可以運(yùn)行了 ;
6 . Goertzel DTMF 解碼器 : 使用 Goertzel 算法實(shí)現(xiàn) ; 提供了一個(gè) UI 界面展示其解碼過(guò)程 ;
7 . 音頻時(shí)間延長(zhǎng) ( Audio Time Stretching ) : 使用純 Java 代碼實(shí)現(xiàn) WSOLA 算法 , 這是一種變速不變調(diào)的音頻處理算法 ; 使用 WSOLA 算法可以在不改變聲音 頻率 / 音高 的前提下 , 修改音頻的播放速度 , 即播放器常用的倍速播放功能 ; 好多比較水的音頻播放器倍速播放的時(shí)候 , 聲音音調(diào)都變了 , 如 …
8 . 音頻特征提取 ( Audio Feature Extraction ) : 這是一個(gè)簡(jiǎn)單的命令行程序 , 可以用于提取音頻特征 ;
9 . 音頻合成器 ( Audio Feature Extraction ) : 也是一個(gè)命令行程序 , 可以用于音頻合成 ;
10 . 變調(diào) ( Pitch Shifting ) : 用于改變音頻樣本的 音高 / 頻率 ; 既可改變從麥克風(fēng)實(shí)時(shí)輸入的音頻流的頻率 , 也可以改變一個(gè)音頻文件的 聲音頻率 ; 該應(yīng)用同時(shí)提供了命令行功能 ;
VI . TarsosDSP 源碼路徑解析
1 . TarsosDSP GitHub 源碼地址 ( 重點(diǎn) ) : GitHub - JorenSix / TarsosDSP
2 . 源碼根目錄 : 從上面 GitHub 上下載源碼 , 先看根目錄如下 :
3 . 源碼目錄 src : src 目錄是 TarsosDSP 的源碼目錄 ;
src/core : 主要的核心功能源碼 ;
src/test : DSP 功能的單元測(cè)試代碼 , 在這個(gè)目錄 ;
src/examples : TarsosDSP 的示例代碼 , 提供了 Java 的 Swing 界面 ;
src/android : 涉及到 Android 的音頻 IO , 需要依賴 Android 的環(huán)境 ;
src/jvm : 涉及到 JRE 的音頻 IO , 需要依賴 Java 環(huán)境 ;
總結(jié)
以上是生活随笔為你收集整理的【TarsosDSP】TarsosDSP 简介 ( TarsosDSP 功能 | 相关链接 | 源码和相关资源收集 | TarsosDSP 示例应用 | TarsosDSP 源码路径解析 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【数据挖掘】神经网络 后向传播算法( 向
- 下一篇: 【数据挖掘】神经网络 后向传播算法 (