Python3.7如何讀取音頻的文件名生成腳本-創(chuàng)新互聯(lián)

這篇文章主要介紹“Python3.7 如何讀取音頻的文件名生成腳本”,在日常操作中,相信很多人在Python3.7 如何讀取音頻的文件名生成腳本問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python3.7 如何讀取音頻的文件名生成腳本”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)).為客戶提供專業(yè)的移動服務(wù)器托管,四川各地服務(wù)器托管,移動服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:028-86922220python可以做什么

Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。

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
a

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

broad

在大量音頻文件生成字幕之后,需要校對缺失的字幕,有個(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 如何讀取音頻的文件名生成腳本”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

網(wǎng)站標(biāo)題:Python3.7如何讀取音頻的文件名生成腳本-創(chuàng)新互聯(lián)
文章地址:http://muchs.cn/article4/dpiiie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)網(wǎng)頁設(shè)計(jì)公司、App設(shè)計(jì)網(wǎng)站制作、App開發(fā)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作