linux部署Whisper 视频音频转文字

news2024/11/26 13:56:26

github链接:链接

我这里使用anaconda来部署,debian12系统,其他linux也同样
可以使用gpu或者cpu版本,建议使用n卡,rtx3060以上

一、前期准备

1.linux系统

链接:debian安装
链接:ubuntu安装

2.anaconda

链接:anaconda安装

3.cuda

链接:cuda安装

二、安装部署

1.创建新的conda环境

conda create -n whisper python=3.9
conda activate whisper

2.安装PyTorch

gpu版本

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

cpu版本

conda install pytorch torchvision torchaudio cpuonly -c pytorch

3.安装ffmpeg

conda install ffmpeg -c conda-forge

4.安装Whisper

pip install -U openai-whisper

5.验证

whisper --help

如果有反应就是安装正确

三、模型说明

可以使用不同尺寸的模型,对硬件的要求也不一样,速度也不一样
在这里插入图片描述模型在第一次使用,如果没有的情况下会下载,如果下载过慢,可以尝试手动下载
会放在 ~/.cache/whisper/文件夹下

0.效果参考

如果主要以中文为目标,tiny、base、small效果差,medium勉强可以用,large效果最好但是速度慢很多,turbo效果仅次于large,但是速度很快,所以是优选。
生成会有多个文件格式,适用不同情况。
在这里插入图片描述

1.模型下载地址(.pt)

模型在第一次使用,如果没有的情况下会自动下载,如果下载过慢,可以尝试手动下载,所以先跳过这一步,如果后面太慢再回来
放在 ~/.cache/whisper/文件夹下

tiny:链接

base:链接

small:链接

medium:链接

large-v3:链接

2.模型下载地址(.safetensors)不推荐

下载的是model.safetensors这个模型

safetensors模型不能直接使用,需要转化为.pt格式,如果需要直接可以用,需要下载pt文件
tiny模型下载地址:链接
large模型下载地址:链接
turbo模型下载地址:链接

如果下载过慢,可以使用国内镜像https://hf-mirror.com/

四、使用

1.简单转录

whisper audio.mp3

2.使用特定尺寸模型

whisper audio.mp3 --model large

转录多个(多种)

whisper audio.flac audio.mp3 audio.wav --model turbo

3.指定语言

有多种语言可以选择,需要参考官方,我这里使用汉语来处理

whisper audio.wav --language Chinese --model turbo

4.通过python调用

除了手动输入命令,当然可以用python编程使用,下面是官方的案例,我就直接贴出来了:

import whisper

model = whisper.load_model("turbo")

# load audio and pad/trim it to fit 30 seconds
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)

# make log-Mel spectrogram and move to the same device as the model
mel = whisper.log_mel_spectrogram(audio).to(model.device)

# detect the spoken language
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")

# decode the audio
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)

# print the recognized text
print(result.text)

五、其它

1.视频转音频

视频占用空间大,可以先在另一台机器进行处理成音频,然后再进行转化
当然是使用ffmpeg,我这里将.ts视频转化为.wav格式,
-vn:去掉视频流。
-ar 16000:调整采样率为 16kHz(Whisper 推荐)。
-ac 1:设置单声道。

ffmpeg -i abcd.ts -vn -acodec pcm_s16le -ar 16000 -ac 1 abcd.wav

2.分段处理

这里分段成300s一个视频

ffmpeg -i abcd.ts -f segment -segment_time 300 -c copy segment_%03d.ts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2247882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读:A Software Platform for Manipulating theCamera Imaging Pipeline

论文代码开源链接: A Software Platform for Manipulating the Camera Imaging Pipelinehttps://karaimer.github.io/camera-pipeline/摘要:论文提出了一个Pipline软件平台,可以方便地访问相机成像Pipline的每个阶段。该软件允许修改单个模块…

【科研绘图】Matplotlib 教学

以下是一个针对 Matplotlib 教学 的博客结构,按照分步骤教学方式撰写,以帮助读者从基础到高级逐步掌握 Matplotlib。 Matplotlib 教学:从基础到进阶绘图 Matplotlib 是 Python 中功能强大的数据可视化库,可以用来绘制多种类型的图…

【网络系统管理】2023年全国职业院校技能大赛:组策略--10套题组合--4

16、只有域管理员和IT部门员工可以登陆服务器 (1)计算机配置\策略\Windows设置\安全设置\本地策略\用户权限分配 17、创建ChinaSkills23为GPO管理员,加入到企业管理、域控管理员组 (1)gpmc.msc\林\域\%domain%--在这个域中创建GPO 18、为所有域用户设置漫游文件 (1)用…

钉钉授权登录

一.找开钉钉开发平台【钉钉开放平台 (dingtalk.com)】 二。点击菜单【应用开发】->左边【钉钉应用】->【创建应用】 三。创建应用-》保存成功后,点击自己【新建的应用】,进入详细页面 四。进入应用详细页面。左边【分享设置】 注意:进…

应用系统开发(14) 涡流检测系统硬件设计

涡流检测整体系统架构 涡流检测系统整体结构如上图 所示,DAC 转换与功率放大电路将数字正弦信号转 换为模拟正弦信号,为涡流探头提供正弦激励。互感式探头由两个线圈组成,一个作为 激励,另一个接收检测信号,AD 转换电路将传感器探头感应到的电压滤波放大,将电 压值调整到…

介绍一下strupr(arr);(c基础)

hi , I am 36 适合对象c语言初学者 strupr(arr)&#xff1b;函数是把arr数组变为大写字母 格式 #include<string.h> strupr(arr); 返回值为arr 链接分享一下arr的意义(c基础)(必看)(牢记)-CSDN博客 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #incl…

人工智能之数学基础:向量的基本知识

本文重点 向量的基本性质是线性代数和向量空间理论的核心,它们为向量运算提供了坚实的基础,并在物理、工程、计算机图形学等领域有着广泛的应用。本文对向量的一些基本知识进行介绍,帮助大家快速理解向量。 向量的定义与表示 向量是一个既有大小又有方向的量,通常用带箭…

Redis中的zset底层实现

文章目录 Redis中的zset底层实现一、引言二、zset的底层实现1、ziplist编码1.1、代码示例 2、skiplist编码2.1、代码示例 三、总结 Redis中的zset底层实现 一、引言 Redis的有序集合&#xff08;zset&#xff09;是一种非常强大的数据结构&#xff0c;它不仅能够存储元素&…

TSmaster CAN/CANFD 诊断(Diagnostic_CAN)

文章目录 1、Diagnostic TP 参数配置1.1 传输层参数&#xff1a;1.2 服务层参数1.3 Seed&Key 2、基础诊断配置2.1 添加/删除 服务2.2 配置 BasicDiagnostic 服务参数 3、诊断控制台4、自动诊断流程4.1 流程用例管理4.2 配置诊断流程&#xff08;UDS Flow&#xff09;4.2.1 …

大语言模型---LoRA中损失值的计算

文章目录 概要损失计算流程小结 概要 Llama-7B模型的LoRA微调训练中&#xff0c;通过使用Cross-Entropy Loss来度量模型输出的预测分布和真实标签分布之间的距离&#xff0c;来衡量模型的准确性。 本文主要介绍LoRA中损失值的计算流程。 Cross-Entropy Loss作用&#xff1a;是…

Linux笔记--基于OCRmyPDF将扫描件PDF转换为可搜索的PDF

1--官方仓库 https://github.com/ocrmypdf/OCRmyPDF 2--基本步骤 # 安装ocrmypdf库 sudo apt install ocrmypdf# 安装简体中文库 sudo apt-get install tesseract-ocr-chi-sim# 转换 # -l 表示使用的语言 # --force-ocr 防止出现以下错误&#xff1a;ERROR - PriorOcrFoundE…

使用 Nginx 在 Ubuntu 22.04 上安装 LibreNMS 开源网络监控系统

#LibreNMS 是一个功能强大的开源网络监控系统&#xff0c;它能够为你的网络性能和设备提供全面的监控。本文将引导你通过一系列步骤&#xff0c;在 Ubuntu 22.04 服务器上安装和配置 LibreNMS&#xff0c;使用 Nginx 作为 Web 服务器。 简介 LibreNMS 提供了对网络设备和性能…

elementUI非常规数据格式渲染复杂表格(副表头、合并单元格)

效果 数据源 前端代码 (展示以及表格处理/数据处理) 标签 <el-table :data"dataList" style"width: 100%" :span-method"objectSpanMethod"><template v-for"(item, index) in headers"><el-table-column prop"…

使用脚本实现hadoop-yarn-flink自动化部署

本文使用脚本实现hadoop-yarn-flink的快速部署&#xff08;单机部署&#xff09;。 环境&#xff1a;①操作系统&#xff1a;CentOS 7.6&#xff1b;②CPU&#xff1a;x86&#xff1b;③用户&#xff1a;root。 1.前置条件 把下面的的脚本保存到“pre-install.sh”文件&#x…

Linux系统编程之进程基础知识

概述 在Linux系统中&#xff0c;进程是指一个正在运行的程序实例。每个进程都有一个唯一的进程标识符&#xff0c;即PID&#xff0c;操作系统通过这个PID来唯一识别和管理各个进程。进程不仅仅是程序代码的运行实例&#xff0c;它还包含了程序运行时所需的各种资源&#xff0c;…

H.264/H.265播放器EasyPlayer.js网页全终端安防视频流媒体播放器关于iOS不能系统全屏

在数字化时代&#xff0c;流媒体播放器已成为信息传播和娱乐消遣的主流载体。随着技术的进步&#xff0c;流媒体播放器的核心技术和发展趋势不断演变&#xff0c;影响着整个行业的发展方向。 EasyPlayer播放器属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持…

【数据结构】二叉树的建立与遍历

1.二叉树 1.1 二叉树的定义 首先先来回顾一下什么是二叉树&#xff1a; 二叉树&#xff08;binary tree&#xff09;是指树中节点的度不大于2的有序树&#xff0c;它是一种最简单且最重要的树。二叉树的递归定义为&#xff1a;二叉树是一棵空树&#xff0c;或者是一棵由一个根…

51单片机基础 06 串口通信与串口中断

目录 一、串口通信 二、串口协议 三、原理图 四、串口通信配置参数 1、常用的串行口工作方式1 2、数据发送 3、数据接收 4、波特率计算 5、轮询接收 6、中断接收 一、串口通信 串口通信是一种常见的数据传输方式&#xff0c;广泛用于计算机与外部设备或嵌入式系统之间…

智慧环保大数据解决方案

1. 智慧环保概述 智慧环保是“数字环保”的延伸&#xff0c;借助物联网技术整合环境监控对象&#xff0c;通过云计算实现环境管理与决策的智能化。其核心在于快速感知城市环境指标&#xff0c;保障人体健康与生命安全。 2. 智慧环保总体目标 智慧环保的总体目标是建立全面感…

如何使用identify_debugger去抓取信号

含有identify抓取信号的fpga版本做好了&#xff0c;那如何使用他去抓取信号呢&#xff1f; 1.terminal打开identify_debugger&#xff0c;直接这个命令identify_debugger&#xff0c;前提是你安装了synopsys的synaplify的软件&#xff0c;一般做芯片的都会有的哈。 2.打开界面后…