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

Python自動(dòng)化辦公之定時(shí)發(fā)送郵件的實(shí)現(xiàn)

解決django框架model中外鍵不落實(shí)到數(shù)據(jù)庫問題