【TarsosDSP】TarsosDSP 简介 ( TarsosDSP 功能 | 相关链接 | 源码和相关资源收集 | TarsosDSP 示例应用 | TarsosDSP 源码路径解析 )(二)

V . TarsosDSP 示例应用


1 . 声音检测 ( SoundDetector ) : 计算 音频采样 的响度 , 当输入的音频样本声音响度超过一个阈值时 , 会触发指定的事件 ;



2 . 音高检测 ( PitchDetector ) : 实时的音频样本 音高 / 频率 监测 , 监测结果是 频率值 ( 单位 Hz 赫兹 ) 和 该频率对应的 概率 ;



3 . 敲击检测 ( PercussionDetector ) : 敲击检测 , 监测打击乐器的第一下瞬间 ;



① 示例 : 如 , 拍手动作 触发 某事件 ;


② 涉及参数 : 该示例中涉及到 声音样本的 频率 和 频率对应的概率 , 这两个参数对检测算法的影响 ;



4 . UtterAsterisk : 这是一个游戏 ;



① 游戏目标 : 辅助唱歌 , 然后尽可能的接近某个旋律 ;


② 实现原理 : 使用 YIN / MPM 算法 , 实现 实时的 频率 / 音高 检测 , 检测器 频率值 ;



5 . Java 频谱图 ( Spectrogram in Java ) :



① 显示内容 : 显示 音频文件 , 或 音频流 的频谱图 和 检测到的 频率信息 ;


② 基本频率 : 音频样本的频率有很多 , 根据某种特征要求 , 选择其中一个作为其基本频率 ;


③ 运行 : 示例中的 jar 程序无法运行 , 需要安装 JDK 1.7 和 Ant 构建脚本 , 自己编译一次 , 就可以运行了 ;


【TarsosDSP】TarsosDSP 简介 ( TarsosDSP 功能 | 相关链接 | 源码和相关资源收集 | TarsosDSP 示例应用 | TarsosDSP 源码路径解析 )(二)


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 上下载源码 , 先看根目录如下 :

【TarsosDSP】TarsosDSP 简介 ( TarsosDSP 功能 | 相关链接 | 源码和相关资源收集 | TarsosDSP 示例应用 | TarsosDSP 源码路径解析 )(二)



3 . 源码目录 src : src 目录是 TarsosDSP 的源码目录 ;

【TarsosDSP】TarsosDSP 简介 ( TarsosDSP 功能 | 相关链接 | 源码和相关资源收集 | TarsosDSP 示例应用 | TarsosDSP 源码路径解析 )(二)



src/core : 主要的核心功能源码 ;


src/test : DSP 功能的单元测试代码 , 在这个目录 ;


src/examples : TarsosDSP 的示例代码 , 提供了 Java 的 Swing 界面 ;


src/android : 涉及到 Android 的音频 IO , 需要依赖 Android 的环境 ;


src/jvm : 涉及到 JRE 的音频 IO , 需要依赖 Java 环境 ;


上一篇:NLPIR大数据语义系统KGB技术引领新方向


下一篇:阿里云服务器ECS、轻量应用服务器和云虚拟主机的区别及对比