日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 录音vad_2020-02-25 python使用ffmpeg、speech-vad-demo、百度语音识别生成字幕

發(fā)布時間:2024/3/24 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 录音vad_2020-02-25 python使用ffmpeg、speech-vad-demo、百度语音识别生成字幕 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

應(yīng)用場景:

最近在看田連元老先生的《水滸傳》,總感覺篇篇錦銹字字珠璣,遇上精彩之處,總想要搞成文字資料保存下來,奈何沒有字幕。作為一只懶得冒泡的程序猿,一邊聽一邊打字,是不可能的,這輩子都不可能。那怎么辦呢?當(dāng)然是寫代碼嘍。

簡單說明:

python代碼:

代碼獲取254.flv,自12分13秒開始,時長為37秒的音頻,將這段音頻轉(zhuǎn)換成文字

# -*- coding: GBK -*-

import os

import paramiko

from aip import AipSpeech

# 任務(wù)一:以pcm的格式,獲取視頻文件的音軌,并截取指定的時間段。最后將文件復(fù)制到speech-vad-demo-master中

vad_home=r'D:\cygwin64\cygwin64_Root\home\caicaidi\speech-vad-demo-master'

video_name = '254.flv'

#開始時間

start_time = '00:12:13'

#截取的時間長度

time_span = '00:00:37'

def get_pcm(video_name,start_time,time_span):

# 分離視頻的音頻為pcm格式

command_video_to_wav = 'ffmpeg -y -i %s -f s16le -ac 1 -ar 16000 output.pcm'%(video_name)

os.system(command_video_to_wav)

#分割pcm

command_cut_wav = 'ffmpeg -y -f s16be -ac 1 -ar 16000 -acodec pcm_s16le -i output.pcm -ss %s -t %s -f s16be -ac 1 -ar 16000 -acodec pcm_s16le output_cut.pcm'%(start_time,time_span)

os.system(command_cut_wav)

command_copy = r'copy output_cut.pcm %s\pcm\16k_1.pcm /y'%(vad_home)

os.system(command_copy)

# 任務(wù)二:使用speech-vad-demo-master處理任務(wù)一獲得的文件,得到多個長度在10s到60s的文件

def ssh_connect(hostname,username,password,port=22):

#創(chuàng)建一個ssh的客戶端,用來連接服務(wù)器

ssh = paramiko.SSHClient()

#創(chuàng)建一個ssh的白名單

know_host = paramiko.AutoAddPolicy()

#加載創(chuàng)建的白名單

ssh.set_missing_host_key_policy(know_host)

#連接服務(wù)器

ssh.connect(hostname,port,username,password)

return ssh

def eve_vad_demo():

ssh = ssh_connect('127.0.0.1','caicaidi','123465')

#清空output_pcm

stdin,stdout,stderr = ssh.exec_command("cd /home/caicaidi/speech-vad-demo-master/output_pcm;rm *")

#執(zhí)行vad-demo.exe。注意:"./home/caicaidi/speech-vad-demo-master/vad-demo.exe"是無法正常執(zhí)行的

stdin,stdout,stderr = ssh.exec_command("cd /home/caicaidi/speech-vad-demo-master;./vad-demo.exe")

#stdout 標(biāo)準格式的輸出,是一個讀權(quán)限的文件對象

print(stdout.read().decode())

# 任務(wù)三:調(diào)用百度AI的語音識別接口,識別任務(wù)二獲得的文件

def get_client():

APP_ID = '百度應(yīng)用APP_ID '

API_KEY = '百度應(yīng)用API_KEY '

SECRET_KEY = '百度應(yīng)用SECRET_KEY '

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

return client

# 讀取文件

def get_file_content(filePath):

with open(filePath, 'rb') as fp:

return fp.read()

if __name__ == '__main__':

get_pcm(video_name,start_time,time_span)

eve_vad_demo()

client = get_client()

output_pcm_path = r"D:/cygwin64/cygwin64_Root/home/caicaidi/speech-vad-demo-master/output_pcm/"

dirs = os.listdir(output_pcm_path)

for file in dirs:

fileName = str(file)

if fileName.endswith('A.pcm'):

pcm_path = output_pcm_path+fileName

data = client.asr(get_file_content(pcm_path), 'pcm', 16000, {'dev_pid': 1537})

print(data['result'])

結(jié)果:

image.png

雖然會多幾個字少幾個字的,還將“眨么眨么眼”整成了”咱們咱們演“。不過啊,已經(jīng)很好啦。

其他:

工作目錄:

image.png

speech-vad-demo-master所在的目錄:

D:/cygwin64/cygwin64_Root/home/caicaidi/speech-vad-demo-master/

總結(jié)

以上是生活随笔為你收集整理的python 录音vad_2020-02-25 python使用ffmpeg、speech-vad-demo、百度语音识别生成字幕的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。