Python3.7 读取音频根据文件名生成脚本的代码


Posted in Python onApril 07, 2020

Warning: 仅适用于文件名即字幕本体,按音频时常平均拆分来生成字幕,其他情况不适合。

以下为读取 mp3 文件夹下的音频,然后按市场,平均来生成字幕,例如文件名 a-pp-le.mp3,字幕也将是 a pp le 三行。

make_srt.py 代码

import librosa
import os

g = os.walk(r"mp3")

def calTime(time):
  sec = int(time)
  micSec = time - sec
  
  timeStr = ''
  if (sec < 10):
    timeStr += '0' + str(sec)
  else:
    timeStr += str(sec)

  if micSec == 0:
    timeStr += ',000'
  else:
    timeStr += ',' + str(round(micSec * 1000))

  return timeStr

for path,dir_list,file_list in g: 
  for file_name in file_list:
    filename = str('mp3/') + file_name
    time = librosa.get_duration(filename = 'mp3/' + file_name)
    split = file_name.strip('.mp3').split('-')
    count = file_name.count('-') + 1
    average = time / count
    # y, sr = librosa.audioread('phonics_demo/' + file_name, sr=None)
    # print(sr)
    if count > 1:
      for inx, val in enumerate(split):
        # print(time)
        f = open("srt/" + file_name + ".srt",'a')
        f.write(str(inx + 1))
        f.write('\n')
        start = calTime((inx + 1) * average)
        end = calTime((inx + 2) * average)
        if inx == 0:
          f.write("00:00:00,000" + " --> " + "00:00:" + start)
        else:
          f.write("00:00:" + start + " --> " + "00:00:" + end)
        f.write('\n')
        f.write(val)
        f.write('\n\n')

大概效果如下:

1
00:00:00,000 --> 00:00:01,659
a

2
00:00:01,659 --> 00:00:03,318

broad

在大量音频文件生成字幕之后,需要校对缺失的字幕,有个快速的手段(以Windows 10为例): 在 mp3 目录下,按住 Shift 键点击右键吊起 Powershell 命令行工具,输入 ls > mp3.txt 将整个目录的文件,一行行的输出到 mp3.txt,直接复制进一个Excel 的 Sheet1 A列中待用,同样的操作将 srt 文件中的目录复制到 Sheet2 A列中,然后批量将 .srt 替换为空,然后使用 Excel 提供的 vlookup 方法,在 Sheet1 B列 =IFERROR(VLOOKUP(A1,Sheet2!A:A,1,FALSE),"") ,未找到结果的在B列将填充空,筛选一下就知道哪个文件没生成字幕文件了。

总结

到此这篇关于Python3.7 读取音频根据文件名生成脚本的代码的文章就介绍到这了,更多相关Python3.7 读取音频文件名字幕脚本内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
下载糗事百科的内容_python版
Dec 07 Python
python 字符串split的用法分享
Mar 23 Python
使用Python实现一个简单的项目监控
Mar 31 Python
Python常用随机数与随机字符串方法实例
Apr 09 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
Oct 24 Python
Python使用微信接入图灵机器人过程解析
Nov 04 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
Jun 15 Python
Python作用域和名称空间的详细介绍
Apr 13 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 #Python
PyCharm 在Windows的有用快捷键详解
Apr 07 #Python
python实现控制台输出彩色字体
Apr 05 #Python
python学生管理系统的实现
Apr 05 #Python
python实现一个猜拳游戏
Apr 05 #Python
python实现对变位词的判断方法
Apr 05 #Python
python如何判断IP地址合法性
Apr 05 #Python
You might like
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
解析php中curl_multi的应用
2013/07/17 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
php 多文件上传的实现实例
2016/10/23 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
Python Queue模块详解
2014/11/30 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
医学护理毕业生自荐信
2013/11/07 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
2014和解协议书范文
2014/09/15 职场文书
小学生读书笔记范文
2015/06/30 职场文书