通过ffmpeg工具裁剪掉音频文件中的静默时间(将音频文件中声音低于指定分贝的时间段裁剪掉)

通过ffmpeg获取音频静默时间段=>通过静默时间段截取非静默音频=>将非静默音频合并为完整音频

工具的github地址:https://github.com/secret1base/silencevoice

下面是相关的ffmpeg命令

1、输出音频波形图

ffmpeg -i C:\Users\Lenovo\Desktop\cctv0810_5050381qyL.mp3 -filter_complex "showwavespic=s=1720x180"  -frames:v 1 C:\Users\Lenovo\Desktop\111.png

2、mp3转pcm

ffmpeg -y -i C:\Users\Lenovo\Desktop\cctv0810_5050381qyL.mp3 -acodec pcm_s16le -f s16le -ac 2 -ar 16000 C:\Users\Lenovo\Desktop\16k.pcm

3、将音频文件中的静默时长从音频文件中移除后输出一个音频文件(测试后发现没有效果)

ffmpeg -i SILENCE.mp3 -af silencedetect=n=-50dB:d=1 -y -ab 192k SILENCE_OUT.mp3

4、输出音频文件中静默时间的开始与结束的时间节点

ffmpeg -i C:\Users\Lenovo\Desktop\20200801134820261.mp3 -af silencedetect=n=-50dB:d=0.5 -f null - 2> C:\Users\Lenovo\Desktop\log.txt

5、拆分音频文件

ffmpeg -ss 00:00:10 -t 00:01:00 -i input.mp3 -c copy output.mp3-i 输入的音频-c copy 用原来的编码并复制到新文件中-ss 起始时间-t 截取音频时间长度-ss和-t xx        // 单位:秒-ss和-t xx:xx:xx  // 时:分:秒

6、合并音频文件,这个是将多个音频合并为一个,合并后播放的效果为同时播放a、b、c音频的声音,也就是说将“天空之城”和“稻香”合并后会同时播放天空之城和稻香,而不是在播放完前者后再播放后者。

ffmpeg -i 音频文件1 -i 音频文件2 -i 音频文件3 -filter_complex amix=inputs=数量:duration=first:dropout_transition=数量 输出音频文件ffmpeg -i 1.mp3  -i 2.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 a.mp3

7、拼接音频

1、方法一ffmpeg -i "concat:C:\Users\Lenovo\Desktop\xx\1.mp3|C:\Users\Lenovo\Desktop\xx\2.mp3" -c copy C:\Users\Lenovo\Desktop\xx\merge.mp32、方法二ffmpeg -f concat -safe 0 -i C:\Users\Lenovo\Desktop\xx\zz.txt -c copy C:\Users\Lenovo\Desktop\xx\merge.mp3zz.txt的内容为ffconcat version 1.0file 'C:\Users\Lenovo\Desktop\xx\1.mp3'duration 44.0file 'C:\Users\Lenovo\Desktop\xx\2.mp3'duration 279.0注意事项:不同的音频被合并后时间长度会发生变化,不是a拼接b后的时长不等于a+b甚至会小于a或小于b

音频静默时间截取工具相关推荐

  1. 我好像很久没安利软件给大家啦,今天给大家种草一款OmniFocus for Mac(GTD时间管理工具)标准版

    OmniFocus for Mac版是设计用来快速捕捉你的想法,并允许您存储,管理和处理可操作的待办事项.完美的GTD系统,在任何任务上都足够灵活的管理风格,OmniFocus 3 mac中给你一个始 ...

  2. 专业的音频和视频转换工具Smart Converter Pro破解版

    专业的音频和视频转换工具Smart Converter Pro破解版是今天小编为Mac用户提供的音频和视频转换工具,Smart Converter Pro提供了许多令人惊叹的功能,使您的转换更快,更智 ...

  3. 时间序列分析工具:Prophet、statsmodels、DeepAR、Xgboost类模型、RNN类模型

    时间序列分析工具:Prophet.statsmodels.DeepAR.Xgboost类模型.RNN类模型 目录 时间序列分析工具:Prophet.statsmodels.DeepAR.Xgboost ...

  4. Java格式化日期用斜杠_[java工具类01]__构建格式化输出日期和时间的工具类

    在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...

  5. 做倒计时一天_不知道这6个管理时间的工具,做不好时间管理

    在分享6个时间管理工具之前,我们先来解决一个根本问题: 为什么要做时间管理? 百科给的定义是:时间管理是指通过事先规划和运用一定的技巧.方法与工具实现对时间的灵活以及有效运用,从而实现个人或组织的既定 ...

  6. 15、【 商品管理模块开发】——后台获取商品详情功能开发及PropertiesUtil配置工具,DateTimeUtil时间处理工具开发...

    1.后台获取商品详情接口: 在上一篇文章所新建的ProudctManageController类中新建下面方法: *Controller: //获取商品详情接口@RequestMapping(&quo ...

  7. 推荐:个人时间跟踪工具 ManicTime

    在<个人管理 - 目标管理之前,你会时间管理吗>中我介绍的时间管理三阶段之一"对时间的实际去处进行记录"时说过现在有很多时间管理工具,也有人希望我介绍一下我使用的工具, ...

  8. RelativeDateFormat时间计算工具类

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;/*** 时间计算工 ...

  9. jquery插件:图片截取工具jquery.imagecropper.js

    工作需要参考网上的一些代码做了个图片截取工具,最后干脆封装成一个jquery的插件. 除了jquery,本插件还引用了UI库,包括ui.draggable.js ImageCropper 演示 Ima ...

最新文章

  1. nsqjs客户端的部署
  2. 【转】读马化腾的产品设计观
  3. invalid ELF header
  4. 安全测试的目的,发现哪些问题
  5. Linux驱动编程 step-by-step (四) 字符设备的注册与设备节点的自动创建
  6. ambari 2.5.0源码编译安装
  7. Struts2的action中处理JSONP方式提交的中文乱码问题:
  8. 自从阿里买了Flink母公司以后,你不懂Flink就out了!
  9. Oracle归档日志与非归档日志的切换及路径设置
  10. 01我为什么学Unity3d
  11. Solarwinds实现MSN报警
  12. mcgs组态软件中字体如果从左到右变化_MCGS脚本程序 -
  13. 网络管理员面试时常用的问题及答案
  14. misc fiction 科幻小说中的五大鸡肋发明
  15. 【论文笔记】Semantic Parsing on Freebase from Question-Answer Pairs
  16. 【Java从零到架构师第③季】【41】SpringBoot-配置文件_YAML_lombok_设置Banner
  17. Planned Contrasts and Post hoc Tests 多重检验校正
  18. PID串口助手的第一部分:串口通信
  19. 斐波那契数列(Fibonacci) - 这就是算法吗?爱了爱了
  20. 在c语言中char的用法,在C語言中 char的用法是怎麼用的啊

热门文章

  1. go defer,panic,recover详解 go 的异常处理
  2. mysql复合函数索引_联合运输按照(    )标准分为协作式和衔接式的联合运输。...
  3. 自定义Imageview控件实现多种手势操作 (拖动、水平缩放、竖直缩放、等比例缩放、双击、长按)
  4. 生鲜自提柜能否疫战成名?未来是一片蓝海还是一地鸡毛?
  5. ROM和RAM测试总结
  6. clion解决运行按钮灰色
  7. 学术论文写作以及discussions/results与conclusion的区别
  8. 华为 AP3010DN-V2 使用
  9. create_ap遇到的问题
  10. java 更改屏幕分辨率_Java 多屏(双屏)设置屏幕显示器分辨率方法代码(SetRes)