中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3.7 如何讀取音頻的文件名生成腳本

發布時間:2021-03-10 17:07:30 來源:億速云 閱讀:161 作者:TREX 欄目:開發技術

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

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。


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 如何讀取音頻的文件名生成腳本”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广河县| 阳信县| 娄烦县| 孝义市| 威信县| 凤山县| 朔州市| 涟源市| 阿克陶县| 石屏县| 磐安县| 景宁| 渝北区| 丰台区| 繁昌县| 和静县| 和顺县| 石台县| 衡山县| 始兴县| 芒康县| 清原| 新乐市| 靖宇县| 江都市| 定远县| 奉贤区| 南陵县| 冀州市| 长武县| 阳春市| 阜阳市| 吐鲁番市| 城固县| 洛阳市| 交口县| 榕江县| 浦江县| 蓝山县| 关岭| 东辽县|