按语音停顿切分

直接用pydub库,实现拆分的核心就是:
silence_thresh是认定小于-50dBFS以下的为silence,发现小于-50dBFS部分超过 600毫秒,就进行拆分

#!/usr/bin/env python3
# encoding: utf-8
'''
@file: audio_breakage.py
@time: 2020/5/10 0010 15:18
@author: Jack
@contact: jack18588951684@163.com
'''from pydub import AudioSegment
from pydub.silence import split_on_silence
import osinit_id = 0
root = r'F:\GitHub\audio_split\data\wav05'
file_lst = []
audiopath_lst = []## 加载数据
def search_audio(file_dir):"""递归查找音频文件:param file_dir::return:"""items = os.listdir(file_dir)items = [os.path.join(file_dir, item) for item in items]for item in items:if os.path.isdir(item):search_audio(item)else:file_lst.append(item)search_audio(root)for file in file_lst:if len(file.split('.')) == 2:audiopath_lst.append(file)def read_wave(path):format_type = path.split(".")[-1]if format_type in ["wav", "WAV"]:wav_audio = AudioSegment.from_file(path, format="wav")elif format_type == "mp3":wav_audio = AudioSegment.from_file(path, format="mp3")elif format_type == "m4a":wav_audio = AudioSegment.from_file(path, format="mp4")return wav_audio, format_typefor i, audiopath in enumerate(audiopath_lst):audiopath = os.path.join(root, audiopath)print(audiopath)## 读入音频sound, audiotype = read_wave(audiopath)## 切割print('开始切割')chunks = split_on_silence(sound, min_silence_len=600, silence_thresh=-50)filepath = os.path.split(audiopath)[0]chunks_path = filepath + '\\chunks\\'if not os.path.exists(chunks_path):os.mkdir(chunks_path)print('开始保存音频片段')for j in range(len(chunks)):new = chunks[j]save_name = chunks_path + '{}_{}.{}'.format(i + init_id, j, audiotype)new.export(save_name, format=audiotype)print('{}\t{}\t{}'.format(i + init_id, j, len(new)))print('保存完毕')

切割效果如下:
切割前:

切割后:

ASR—音频数据断句切割相关推荐

  1. pydub 音频停顿 断句 切分

    ​​​​​​​https://github.com/jiaaro/pydub#installation jiaaro/pydub @ GitHub

  2. android 语音自动分句,进行音频断句的自动拆分方法及系统与流程

    本发明涉及语音.字幕处理技术领域,尤其涉及进行音频断句的自动拆分方法及系统. 背景技术: 目前字幕制作领域,主要通过人工进行语音断句,人工语音断句的前提是将语音全部听一遍,在听写的同时通过拍打快捷键来 ...

  3. 音频文件按照正常语句,断句拆分的处理方法

    关于录音文件断句分割的方法 前言 最近看讲座听在线英文电台的时候总有个想法, 讲座能不能自动记笔记? 电台能不能自动配中英文翻译对照字幕? 当然,这些东西,在一些软件里其实已经实现了的. 只是找不到能 ...

  4. 英语听力自动断句程序

    自动断句程序 本程序的最初设计目的是为了实现: 输入一个英语听力对话文件,开始播放,每说一句自动暂停,然后选择下一句还是重复该句,直到播放结束. 源代码如下: import wave import n ...

  5. 北理工校友发明文言文“填词大师”,断句、造词都能做,高考文言文满分靠它了...

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 都说GPT-3能接人话,补充上下文关系,中文版的"填词大师"你见过没? 不仅是中文版,这个"填词大师" ...

  6. RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)

    2019独角兽企业重金招聘Python工程师标准>>> 注:此前写了一些列的分析RTMPdump(libRTMP)源代码的文章,在此列一个列表: RTMPdump 源代码分析 1: ...

  7. android生成预处理文件,FFmpeg:Android利用Filter进行音频数据预处理

    前言 这篇文件简单介绍下移动端Android系统下利用FFmpeg的Filter进行音频数据预处理的方法. 按照惯例先上一份源码 AndroidFFmpegFilter. 项目实现了: FFmepg编 ...

  8. 使用Sinc卷积从原始音频数据进行轻量级的端到端语音识别

    论文: Lightweight End-to-End Speech Recognition from Raw Audio Data Using Sinc-Convolutions 摘要: 许多端到端自 ...

  9. 龙泉寺贤超法师:用AI为古籍经书识别、断句、翻译

    本文转载自:HyperAI超神经 内容提要:来自最强科研寺庙龙泉寺的贤超法师,近年来一直在研究人工智能与文献古籍的融合,目前,他已带领的<大藏经>团队实现 AI 自动标点.文白翻译.古籍文 ...

最新文章

  1. 计算机组成原理实验报告西华大学,计算机组成原理实验报告算术逻辑运算单元实验...
  2. 十二、深入Java的循环语句
  3. CTime,Systemtime的比较还有转换成日期格式。
  4. Linux服务器rsync自动备份
  5. node --- 连接mysql(docker环境) Sequelize库
  6. rest api封装调用_如何从云功能调用外部REST API
  7. the future of real-time rendering hardware
  8. rsyslod服务配置
  9. python ui自动化脚本_ui自动化:python+appium----环境搭建
  10. git常用命令让你几步摆脱图形工具提交项目
  11. 事件查看器mysql_Windows 事件查看器(Event Viewer) 检查日志的方法
  12. linux pppd ip up 脚本,Linux下pppd拨号脚本配置(转载)
  13. 人工智能学习培训哪家好
  14. CSS Table不换行与换行的用法
  15. 不可或缺的ASP.NET内置对象
  16. 程序员时事面试题——地震预测
  17. 《请别叫我奥特曼,我只是你望尘莫及的神话》
  18. Android安卓开发基础-apk安装包的创建及发布安装
  19. JavaSE_day04【数组】
  20. MTK 项目工程客制化流程

热门文章

  1. 火焰图分析Flink反压
  2. RocketMQ(七) RocketMQ的两种消费模式
  3. c++基础知识的学习--函数探幽
  4. 就是要弄懂你之—— 同步 异步 阻塞 非阻塞
  5. 预备期:全通卫浴、宝龙橱柜、宏星地板、三夏地板
  6. xshell中文免费下载及安装 (内附xshell下载链接以及安装步骤)
  7. PG数据库内核分析学习笔记_XLOG日志恢复策略
  8. chrome浏览器多页签唯一关闭时自动注销
  9. PG distinct与distinct on
  10. 三代终端容器 KUN 的首次大考【架构演进】