Python3.7 讀取音頻根據(jù)文件名生成腳本的代碼
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
a2
00:00:01,659 --> 00:00:03,318broad
在大量音頻文件生成字幕之后,需要校對缺失的字幕,有個快速的手段(以Windows 10為例): 在 mp3 目錄下,按住 Shift 鍵點(diǎn)擊右鍵吊起 Powershell 命令行工具,輸入 ls > mp3.txt 將整個目錄的文件,一行行的輸出到 mp3.txt,直接復(fù)制進(jìn)一個Excel 的 Sheet1 A列中待用,同樣的操作將 srt 文件中的目錄復(fù)制到 Sheet2 A列中,然后批量將 .srt 替換為空,然后使用 Excel 提供的 vlookup 方法,在 Sheet1 B列 =IFERROR(VLOOKUP(A1,Sheet2!A:A,1,FALSE),"") ,未找到結(jié)果的在B列將填充空,篩選一下就知道哪個文件沒生成字幕文件了。
總結(jié)
到此這篇關(guān)于Python3.7 讀取音頻根據(jù)文件名生成腳本的代碼的文章就介紹到這了,更多相關(guān)Python3.7 讀取音頻文件名字幕腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python算法思想集結(jié)深入理解動態(tài)規(guī)劃
這篇文章主要為大家介紹了Python算法思想集結(jié)深入理解動態(tài)規(guī)劃詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
python 如何將浮點(diǎn)數(shù)尾部無效0去掉和無效的‘.’號
這篇文章主要介紹了python 如何將浮點(diǎn)數(shù)尾部無效0去掉和無效的‘.’號,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
11個Python Pandas小技巧讓你的工作更高效(附代碼實例)
這篇文章主要介紹了11個Python Pandas小技巧讓你的工作更高效(附代碼實例),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
Python自動化辦公之定時發(fā)送郵件的實現(xiàn)
解決django框架model中外鍵不落實到數(shù)據(jù)庫問題

