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

简介: 【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 构建脚本 , 自己编译一次 , 就可以运行了 ;


image.png


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

image.png



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

image.png



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


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


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


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


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


目录
相关文章
|
16小时前
|
分布式计算 Java API
Java8 Lambda实现源码解析
Java8的lambda应该大家都比较熟悉了,本文主要从源码层面探讨一下lambda的设计和实现。
|
1天前
|
算法 Java Go
ArrayList源码解析
ArrayList源码解析
5 1
|
1天前
|
存储 安全 Java
【HashMap源码解析(一)(佬你不来看看?)】
【HashMap源码解析(一)(佬你不来看看?)】
6 1
|
5天前
|
安全 前端开发 Java
10:基于Servlet模拟用户登录功能的实现与解析-Java Web
10:基于Servlet模拟用户登录功能的实现与解析-Java Web
20 3
|
7天前
项目管理工具计划模板解析:项目管理工具的双重功能与创建方法
本文介绍了项目计划模板的含义和重要性。项目计划模板是用于规划项目结构的可编辑文档,帮助团队明确任务、分配责任和管理时间。模板有助于跟踪项目进度、避免任务冲突,并简化会议安排。创建模板通常涉及选择合适的项目管理工具,如Zoho Projects或Microsoft Excel,然后分解任务、定义日期并持续调整。在Zoho Projects中,用户可以按步骤创建模板,包括命名、添加任务和设置相关细节。
18 0
|
8天前
|
缓存 Java 开发者
10个点介绍SpringBoot3工作流程与核心组件源码解析
Spring Boot 是Java开发中100%会使用到的框架,开发者不仅要熟练使用,对其中的核心源码也要了解,正所谓知其然知其所以然,V 哥建议小伙伴们在学习的过程中,一定要去研读一下源码,这有助于你在开发中游刃有余。欢迎一起交流学习心得,一起成长。
|
9天前
|
监控 数据挖掘 BI
探索项目管理系统:解析五大功能,洞悉项目成功的关键
项目新手常忽视管理系统的价值,而高手已借助系统实现规划清晰。优秀的项目管理系统必备五大功能:项目WBS分解、图表报表、工时管理、团队协作和任务自动化。WBS能将复杂项目拆分成可管理任务,明确责任,评估时间和资源需求,便于跟踪进度。Zoho Projects作为示例,支持创建任务层级,利用甘特图和资源利用图监控进度和资源分配,工时管理则帮助控制项目时间和成本。同时,系统促进团队协作,如通过即时通讯和知识库增强团队凝聚力,而任务自动化则减少错误,提升效率。
16 1
|
11天前
|
域名解析 缓存 网络协议
CCNA 200-301系列:DNS简介
【4月更文挑战第21天】
25 5
|
12天前
|
SQL 缓存 Java
|
12天前
|
XML 人工智能 Java
Spring Bean名称生成规则(含源码解析、自定义Spring Bean名称方式)
Spring Bean名称生成规则(含源码解析、自定义Spring Bean名称方式)

推荐镜像

更多