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