国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案

這篇具有很好參考價值的文章主要介紹了一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

如今進行入自媒體行業(yè)的人越來越多,短視頻也逐漸成為了主流,但好多時候是想如何把視頻里面的語音轉(zhuǎn)成文字,比如,錄制會議視頻后,做會議紀要;比如,網(wǎng)課教程視頻,想要做筆記;比如,需要提取視頻中文案使用;比如,需要給視頻加個字幕;這時候,只要把視頻轉(zhuǎn)文字就好。
對于不是視頻編輯專業(yè)人員,處理起來還是比較麻煩的,但網(wǎng)上也有好多可以用的小工具,這些工具大多數(shù)都標榜有自己技術(shù)和模型,但都是在線模型或者使用過一段時間之后就無法再使用了,這些工具實際上都是基于一些大公司提供的接口衍生出來的AI工具,使用效果也不錯。但在處理的過程中,處理的文件要上傳到大公司的服務器進行處理,這里可能會涉及到一些數(shù)據(jù)的安全問題。這些數(shù)據(jù)很大一部分有可能會涉及到數(shù)據(jù)泄露與安全的問題。
這個項目的核心算法是基于PaddlePaddle的語音識別加Python實現(xiàn),使用的模型可以有自己訓練,支持本地部署,支持GPU與CPU推理兩種文案,可以處理短語音識別、長語音識別、實現(xiàn)輸入的語音識別。

一、視頻語音提取

想要把視頻里面的語音進行識別,首先要對視頻里面的語音進行提取,提取視頻里的語音有很多用辦法,可以借助視頻編輯軟件(如Adobe Premiere Pro、Final Cut Pro)中提取音頻軌道,然后將其導出為音頻文件。 也可以借助工具如FFmpeg或者moviepy,通過命令行將視頻中的音頻提取出來。
這里使用moviepy對視頻里面的語音進行提取,MoviePy是一個功能豐富的Python模塊,專為視頻編輯而設(shè)計。使用MoviePy,可以輕松執(zhí)行各種基本視頻操作,如視頻剪輯、視頻拼接、標題插入等。此外,它還支持視頻合成和高級視頻處理,甚至可以添加自定義高級特效。這個模塊可以讀寫絕大多數(shù)常見的視頻格式,包括GIF。無論使用的是Mac、Windows還是Linux系統(tǒng),MoviePy都能無縫運行,可以在不同平臺上使用它。
MoviePy與FFmpeg環(huán)境安裝:

pip install moviepy
pip install ffmpeg

因為使用moviepy提取出視頻里面的音軌的比特率不是16000,不能直接輸入到語音識別模型里面,這里還要借助FFmpeg的命來把音頻采樣率轉(zhuǎn)成16000
一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案,智能視頻處理,人工智能,Python,視頻處理,語音識別,視頻轉(zhuǎn)文字,視頻編輯,paddlepaddle
提取音軌:

def video_to_audio(video_path,audio_path):
    video = VideoFileClip(video_path)
    audio = video.audio
    audio_temp = "temp.wav"

    if os.path.exists(audio_path):
        os.remove(audio_temp)

    audio.write_audiofile(audio_temp)
    audio.close()

    if os.path.exists(audio_path):
        os.remove(audio_path)
    cmd = "ffmpeg -i " + audio_temp + " -ac 1 -ar 16000 " + audio_path
    subprocess.run(cmd,shell=True)

一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案,智能視頻處理,人工智能,Python,視頻處理,語音識別,視頻轉(zhuǎn)文字,視頻編輯,paddlepaddle

二、語音識別

1.PaddleSpeech語音識別

PaddleSpeech是一款由飛漿開源全能的語音算法工具箱,其中包含多種領(lǐng)先國際水平的語音算法與預訓練模型。它提供了多種語音處理工具和預訓練模型供用戶選擇,支持語音識別、語音合成、聲音分類、聲紋識別、標點恢復、語音翻譯等多種功能。在這里可以找到基于PaddleSpeech精品項目與訓練教程:https://aistudio.baidu.com/projectdetail/4692119?contributionType=1

語音識別(Automatic Speech Recognition, ASR) 是一項從一段音頻中提取出語言文字內(nèi)容的任務。
一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案,智能視頻處理,人工智能,Python,視頻處理,語音識別,視頻轉(zhuǎn)文字,視頻編輯,paddlepaddle
目前 Transformer 和 Conformer 是語音識別領(lǐng)域的主流模型,關(guān)于這方面的教程可以看飛漿官方發(fā)的課程:飛槳PaddleSpeech語音技術(shù)課程

2.環(huán)境依賴安裝

我當前的環(huán)境是win10,GPU是N卡3060,使用cuda 11.8,cudnn 8.5,為了之后方便封裝,使用conda來安裝環(huán)境,如果沒有GPU,也可以裝cpu版本:

conda create -n video_to_txt python=3.8
python -m pip install paddlepaddle-gpu==2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 模型下載

可以從官方git上下載到合適自己的模型:https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/README_cn.md
轉(zhuǎn)換模型:

import argparse
import functools

from ppasr.trainer import PPASRTrainer
from ppasr.utils.utils import add_arguments, print_arguments

parser = argparse.ArgumentParser(description=__doc__)
add_arg = functools.partial(add_arguments, argparser=parser)
add_arg('configs',          str,   'models/csfw/configs/conformer.yml',    '配置文件')
add_arg("use_gpu",          bool,  True,                       '是否使用GPU評估模型')
add_arg("save_quant",       bool,  False,                      '是否保存量化模型')
add_arg('save_model',       str,   'models',                  '模型保存的路徑')
add_arg('resume_model',     str,   'models/csfw/models', '準備導出的模型路徑')
args = parser.parse_args()
print_arguments(args=args)


# 獲取訓練器
trainer = PPASRTrainer(configs=args.configs, use_gpu=args.use_gpu)

# 導出預測模型
trainer.export(save_model_path=args.save_model,
               resume_model=args.resume_model,
               save_quant=args.save_quant)

4.語音識別

使用模型進行短語音識別:

 def predict(self,
                audio_data,
                use_pun=False,
                is_itn=False,
                sample_rate=16000):
        # 加載音頻文件,并進行預處理
        audio_segment = self._load_audio(audio_data=audio_data, sample_rate=sample_rate)
        audio_feature = self._audio_featurizer.featurize(audio_segment)
        input_data = np.array(audio_feature).astype(np.float32)[np.newaxis, :]
        audio_len = np.array([input_data.shape[1]]).astype(np.int64)

        # 運行predictor
        output_data = self.predictor.predict(input_data, audio_len)[0]

        # 解碼
        score, text = self.decode(output_data=output_data, use_pun=use_pun, is_itn=is_itn)
        result = {
   'text': text, 'score': score}
        return result

看看識別結(jié)果,是全部整成一塊,并沒有短句與加標點符號:
一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案,智能視頻處理,人工智能,Python,視頻處理,語音識別,視頻轉(zhuǎn)文字,視頻編輯,paddlepaddle

5.斷句與標點符號

可以基于飛漿的ERNIE訓練標點行號模型:
一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案,智能視頻處理,人工智能,Python,視頻處理,語音識別,視頻轉(zhuǎn)文字,視頻編輯,paddlepaddle
添加標點符號代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-720518.html

import json
import os
import re

import numpy as np
import paddle.inference as paddle_infer
from paddlenlp.transformers import ErnieTokenizer
from ppasr.utils.logger import setup_logger

logger 

到了這里,關(guān)于一鍵智能視頻語音轉(zhuǎn)文本——基于PaddlePaddle語音識別與Python輕松提取視頻語音并生成文案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包