java 音频倍速播放,libsonic - 倍速播放开源库
概述
libsonic是一个支持音频倍速播放的开源库。支持大于2倍速的播放。有ANSI C的版本,也有纯Java的版本。能够方便的集成进你的应用中。
项目主页:https://android.googlesource.com/platform/external/sonic/+/master/doc/index.md
与其它解决方案相比,sonic在播放语音方面有更好的效果(视频播放大多属于这样的场景)。SoundTouch是一个常用的替代方案,在播放music方面效果更好。如果要支持高于两倍速的播放,sonic应该是目前最好的选择。
Sonic使用整数运算完成所有CPU密集型工作,并且在没有FPU的ARM CPU上运行良好。它支持多声道(立体声),并且能改变声音的音高。它适用于流式音频应用,可以处理16位有符号整数,32位浮点或8位无符号格式的声音流。 源代码是普通的ANSI C.简而言之,方便应用于实际的产品。
libsonic的使用
参照实例代码(SonicTest.java),我们可以很容易的在我们的程序中使用sonic。比较不好理解的可能是几个参数的设置,具体作用是什么?
文档中的说明:
speed为2.0意味着语速加倍。pitch为0.95意味着音调降低约5%。
volume为1.4表示采样乘以1.4,如果超过16位整数的最大范围,则截断。
rate可以改变播放速度。设置为2.0会让你听起来像花栗鼠说话速度非常快。0.7的值会让你听起来像巨人说话一样,慢悠悠的。声音的高低叫做音调,频率决定音调。物体振动的快,发出声音的音调就高。振动的慢,发出声音的音调就低
看完这个,我一直有一个疑问,我如果就是想要播放速度加倍,到底应该怎么样设置呢?是设置speed,还是设置rate呢?看来文档中是找不到答案了。只能写个应用实际看看。
实际测试效果:
改变pitch,rate都会使声音听起来不是同一个人的。同时调整pitch,rate也可以起到改变语速的作用(音色不变)。
只是调整语速,设置speed就可以了。
pitch:2.0 rate:0.5 等价于 speed:0.5
调用setChordPitch(true); 设置pitch也可以达到保持音色不变的效果。然而,这只对pitch的值变化不大有效果,pitch的值变化太多也会失真。
speed, pitch, rate这些参数是可以随时改变的,不需要刷新或重现创建Sonic。
java 音频倍速播放,libsonic - 倍速播放开源库相关推荐
- 优秀Java程序员应该知道的20个实用开源库
一个优秀且经验丰富的Java开发人员的特点之一是对API的广泛了解,包括JDK和第三方库.我花了很多时间学习API,特别是在阅读Effective Java 3rd Edition之后,Joshua ...
- html原生音频播放器倍速,HTML5倍数功能视频播放器(加速2倍,1.5倍播放)
HTML5倍数功能视频播放器(加速2倍,1.5倍播放) 倍数功能视频播放器的应用: 培训场景,教育教学场景下,可以倍速观看视频,比如1.5倍,2倍的速度观看视频,可以更快速的看完课程,节省时间. va ...
- python实现语音播放_用Python播放音频,并实现倍速播放——pyaudio模块用法(1)-nrg文件怎么播放...
前言 很多小伙伴从网上看到的pyaudio教程大都是千篇一律复制的,而且讲的也不是很明白,我在这里用我的理解给大家仔细讲一下,比较简单易懂,希望大家能点个关注,支持一下! 此次教程只能播放wav格式音 ...
- Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题
Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题 文章目录 Android MediaPlayer MP3播放器(倍速和音量)的封装和所见的问题 一.技术选型 二. ...
- 针对Android平台播放器开源库NiceVieoPlayer倍速的开发
Android平台的视频开源库可谓百花齐放,直接给出比较流行的几大框架github地址:https://github.com/search?l=Java&o=desc&q=ExoPla ...
- html5带倍速功能的视频播放器(加速2倍,1.5倍播放)
阿酷TONY 采用第三方云视频平台 HTML5倍数功能视频播放器(加速2倍,1.5倍播放) 倍数功能视频播放器的应用: 培训场景,教育教学场景下,可以倍速观看视频,比如1.5倍,2倍的速度观看视频, ...
- ffmpeg 视频倍速播放 和 慢速播放
视频的倍速播放与慢速播放 通过使用 av filter 中的 setpts 来实现: ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" ...
- 酷播云H5播放器倍速播放功能
大家好,我是小酷,小酷今天来说说H5播放器倍速播放功能: 酷播云是支持HTML5播放器及Flash播放器,两者兼容,可自由切换.其中,H5播放器自带倍速播放功能,用户可选择视频的播放速度. 酷播云Ht ...
- 视频倍速 - 在线调倍速的加速器APP工具
视频怎么调倍速?一刀工具箱 APP 提供一键可将手机上的视频倍速播放,可以调整视频倍速的加速器,调节视频的速度也就是调节视频的播放速度! 代码片段 buildVideo(){let that = th ...
最新文章
- ps -ef 的含义
- AI换脸、声音篡改等,明确写入新版《民法典》
- boost::advance用法的测试程序
- 智能音箱音效哪个好_华为支浩:音质好是底线,AI基本功扎实让智能音箱不再是“玩具”...
- 你确定不反编译 likely 看看?
- 论文浅尝 | 用于嵌套命名实体识别的二部平面图网络(BiFlaG)
- 数据结构与算法分析(二)——C++实现链表
- GitHub使用:GitHub中watch star fork三个按钮干什么用的
- [CTO札记]研究:日本Rakuten(乐天)
- Linux如何查找软件的安装位置
- Win11怎么安装语音包?Win11语音包安装教程
- BMFont制作字体图集
- MyBatis的下载
- Python爬虫_宅男福利?妹纸勿点__一蓑烟雨任平生
- 【密码学基础】02 数论基础
- POJ 3233 Matrix Power Series(矩阵快速幂)
- matlab plot函数画线,线型和颜色
- 蚂蚁森林中能量自动收取
- 简易画图工具(Python)
- Agile在线项目管理平台
热门文章
- 基于微信预约挂号小程序毕业设计毕设作品(3)后台功能
- Task5 基于深度学习的文本分类
- bt种子播放器WebTorrent for Mac使用方法
- Swinsian for Mac(高级音乐播放器)
- 在sql强制指定索引查询
- 如果有不限额度,稳定的Facebook广告账号,你也能爆单?!
- asp.net 中根据sessionid 获取或删除session
- [原创]Redis BUG系列(I)——SDS字符串的sdssplitlen函数实现顺序BUG,浪费了计算与内存资源
- 分布式存储Ceph 架构 以及 IO算法流程简介
- 线上出现死锁怎么解决?不看别后悔!!!