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

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

make_srt.py 代码

```python

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博客!

python读取多个文件夹中的音频文件_Python3.7 读取音频根据文件名生成脚本的代码...相关推荐

  1. python找到文件夹下指定文件类型_python 读取指定文件夹中的指定文件类型的文件名...

    C# 读取指定文件夹中的全部文件,并按规则生成SQL语句! 本实例的目的在于: 1 了解怎样遍历指定文件夹中的全部文件 2 控制台怎样输入和输出数据 代码: using System; using S ...

  2. r读取文件夹下的所有csv文件_[R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。...

    解决的问题:需要读取某个大文件夹下所有子文件夹中的excel文件,并汇总,汇总文件中需要包含的2部分的信息:1.该条数据来源于哪个子文件夹:2.该条数据来源于哪个excel文件.最终,按照子文件夹单独 ...

  3. python从文件夹中提取指定文件_使用Python实现从各个子文件夹中复制指定文件的方法...

    之前用来整理图片的小程序,拿来备忘,算是使用Python复制文件的一个例子. # -*- coding: utf-8 -*- #程序用来拷贝文件并输出图片采集日期等其他信息到Excel中 #文件夹结构 ...

  4. python打不开xls文件,wps下用vba实现合并文件夹中所有excel文件

    python打不开xls文件,用wps下vba解决问题 用了常用的三种python读写xls文件的方法都报错 xlrd openpyxl pandas 原因 解决方法 用vba实现合并文件夹中所有ex ...

  5. Python学习:获取文件夹中最新的文件/文件夹

    文章概述 获取最新修改文件 关于lambda的用法 os.path.getmtime用法 获取最新修改文件 获取文件夹中,最新修改过的文件或者文件夹 import os # 文件夹目录 path=&q ...

  6. 遍历文件夹中所有png文件(指定类型文件都可以)python代码

    如果要遍历某个指定文件夹中所有指定文件类型(.tif  /.png /.txt都可以)的文件,怎么快速遍历呢? 话不多说,以'.tif'文件为例,直接上代码 import numpy as np im ...

  7. C++ 如何将一个文件夹中的所有文件(.txt或者.log)内容整合到一个文件(.txt或者.log)当中

    有时候我们希望读取一个文件夹中的所有文件,对各个文件中的数据按某种规则进行筛选,然后将筛选后的数据整合到一个文件中.这段时间正好替同事写了这一部分,在此记录下来自己的处理过程,如果有需要的朋友也可以参 ...

  8. 【java】删除文件夹及文件夹中的所有文件

    需求 删除指定文件夹及文件夹中的所有文件. 环境 JDK 1.8 代码示例 在JDK 8中,可以使用java.nio.file.Files和java.nio.file.Path类来删除一个文件夹及其中 ...

  9. 如何把游戏BGM文件夹中的.bank文件转换为.wav或者.mp3

    如何把游戏BGM文件夹中的.bank文件转换为.wav或者.mp3 百度没搜索到,自己去google了一下,找到了很好用的工具.首先感谢两位大哥,我这里只是搬运一下. 首先将bank文件提取为fab文 ...

最新文章

  1. 从源码分析DEARGUI之让table可以选中
  2. bzoj 2152 聪明可可
  3. blp模型 上读下写_CreditX在线借贷欺诈检测框架BLP
  4. kafka一键启动集群
  5. Android中的USB中的UsbAccessory和UsbDevice的区别
  6. 批处理(bat)文件中输出中文乱码怎么办?
  7. 使用AJAX时出现“Microsoft JScript 运行时错误: 'Sys' 未定义”提示的解决方法
  8. android炫酷动画源码,QQ菜单、瀑布流、二维码源码
  9. 【git】小甲鱼Git教程《极客Python之Git实用教程》笔记二
  10. 红月OD反汇编实时显示坐标,背景色可透明也可以不透明
  11. 线性光耦 和 非线性光耦
  12. 王者服务器维护5月1日,5月30日体验服停机更新公告
  13. awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS
  14. RedHat 5 环境下 DHCP配置详解。
  15. Microsoft Help Viewer help查看器所需的内容文件缺失或者损坏 解决办法
  16. 【asm基础】nasm和masm的一些区别
  17. EIP712以太坊签名和验签
  18. 身为IT人你应该知道的几个威客网站【转】
  19. 【C#】System.MissingMethodException:Method not found: 'xxx.get_xxx()'
  20. 第一章 winds 安装区块链私链 geth并进行节点同步

热门文章

  1. 服务器后还有一系列留后门,服务器留隐蔽后门
  2. 计算机专业新手博客,本博客的标题不是“当初学者学习编程语言的时候在学什么?”...
  3. 【英语学习】【WOTD】thole 释义/词源/示例
  4. latext配置 vscode_新手关于在VScode上配置latex的事情
  5. jq 正则判断邮箱_Python正则15分钟入门
  6. pcp pmda mysql_linux下的mysql的安装
  7. 生成特定分布随机数的方法
  8. EL4.1配置文件管理浅谈(1)
  9. 室内温湿度监测系统解决方案
  10. Netrunner 2019.04 Rolling 版本发布