实战whisper语音识别第一天,部署服务器,可远程访问,实时语音转文字(全部代码和详细部署步骤)

news2024/11/15 17:23:48

Whisper是OpenAI于2022年发布的一个开源深度学习模型,专门用于语音识别任务。它能够将音频转换成文字,支持多种语言的识别,包括但不限于英语、中文、西班牙语等。Whisper模型的特点是它在多种不同的音频条件下(如不同的背景噪声水平、说话者的口音、语速等)都能实现高准确率的语音识别,这得益于它在训练过程中使用的大量多样化的音频数据。

Whisper模型使用了一系列先进的深度学习技术和架构,主要包括:

  • 自注意力机制(Self-Attention):Whisper模型中使用了自注意力机制,特别是变种形式的Transformer架构,这在处理序列数据(如音频)中尤其有效。
  • 端到端学习:Whisper采用端到端的训练方式,直接从原始音频数据学习到文本输出,无需人工提取特征。
  • 大规模数据集训练:它是在广泛的数据集上进行训练的,包括各种语言、口音和音频质量,这有助于提高模型的泛化能力和鲁棒性。

Whisper的开发和发布对于语音识别和人工智能领域有着重要的意义:

  • 提高语音识别的准确率:Whisper在多种测试集上显示出优越的性能,尤其是在噪声环境下和非英语语言的识别上。
  • 多语言支持:Whisper的多语言识别能力对于打破语言障碍、促进全球信息的交流和共享具有重要作用。
  • 开源共享:作为一个开源项目,Whisper为研究人员和开发者提供了一个强大的工具,可以在此基础上进一步开发定制化的语音识别应用,促进了技术的创新和应用的多样化。
  • 推动人工智能技术的发展:通过对Whisper模型的研究和应用,可以进一步推动相关领域,如自然语言处理、机器学习等领域的技术进步。

pip install -U openai-whisper

pip install git+https://github.com/openai/whisper.git 

# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg

# on Arch Linux
sudo pacman -S ffmpeg

# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg

# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg

# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg

pip install setuptools-rust

运行:

whisper 5.wav --language Chinese

python代码: 

import whisper

model = whisper.load_model("base")
result = model.transcribe("audio.mp3")
print(result["text"])

部署api服务:

繁体变简体:

pip install opencc-python-reimplemented
from fastapi import FastAPI, File, UploadFile
from whisper import load_model
import asyncio
import uvicorn
from opencc import OpenCC

app = FastAPI()
model = load_model("small")  # 加载模型

@app.post("/transcribe/")
async def transcribe_audio(file: UploadFile = File(...)):
    contents = await file.read()
    with open("temp_audio.mp3", "wb") as f:  # 临时保存上传的音频文件
        f.write(contents)

    # 调用Whisper模型进行语音识别
    result = model.transcribe("temp_audio.mp3")
    text = result["text"]

    # 将繁体字转换为简体字
    cc = OpenCC('t2s')  # 繁体转简体
    simplified_text = cc.convert(text)

    return {"text": simplified_text}

if __name__ == "__main__":
    uvicorn.run("whisper_api:app", host="0.0.0.0", port=8000, reload=True)

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

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

相关文章

是德科技keysight N1912A双通道功率计

181/2461/8938产品概述: Keysight(原Agilent) N1912A P系列双通道功率计可提供峰值、峰均比、平均功率、上升时间、下降时间、最大功率值、最小功率值以及宽带信号的统计数据。 Keysight(原Agilent) N1912A P系列双通道功率计, 可提供峰值、峰均比、平均功率、上升…

vscode里写js没有代码提示

vscode打开一个js文件,在里面写js代码居然没代码提示: 解决: 1、打开设置面板: 2、搜索:javascript.suggest.enabled 3、去掉上图中的勾选,再写js代码就有提示了:

Linux离线部署gitLab及使用教程

一、下载gitLab的linux系统rpm包 地址:Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 找到这个最新版 点击下载 二、上传到linux系统 笔者是在windows系统下的vmware虚拟机中部署安装的,虚拟机中安装了cent…

省一餐,是减瘦捷径?还是牺牲健康的换取?

肥胖从来不是靠短时间的,每天少吃一餐就能减掉的,需要长期坚持。但三餐不管哪一餐,长期不吃,都不会有好结果。为了瘦,失去健康值不值呢? 长期不吃早饭后果 1、消耗率、吸收率减慢:身体经过一整…

个人信息-求职[web前端]

我有近近10年开发及6年的管理经验Web前端,所负责的技术团队经历了 Web 前端几代技术变革,参与了几乎,在性能优化、开发效率、所有前端相关项目工程化架构选型上都有丰厚的产出。在上家致力于数据安全前端的相关工作,专注于Vue.js技术栈来推进…

数据结构与算法之美学习笔记:总结课 | 在实际开发中,如何权衡选择使用哪种数据结构和算法?

目录 前言总结 前言 本节课程思维导图: 今天是一篇总结课。我们学了这么多数据结构和算法,在实际开发中,究竟该如何权衡选择使用哪种数据结构和算法呢?今天我们就来聊一聊这个问题,希望能帮你把学习带回实践中。 我…

Ollama 运行 Cohere 的 command-r 模型

Ollama 运行 Cohere 的 command-r 模型 0. 引言1. 安装 MSYS22. 安装 Golang3. Build Ollama4. 运行 command-r 0. 引言 Command-R Command-R 是一种大型语言模型,针对对话交互和长上下文任务进行了优化。它针对的是“可扩展”类别的模型,这些模型在高…

C/C++代码性能优化——编译器和CPU

1. 前言 在现代软件开发中,性能优化至关重要,尤其是在资源受限的系统和处理大量数据的应用程序中。C/C 作为低级编程语言,提供了对底层硬件的直接访问,使其成为性能关键应用程序的理想选择。 然而,编写高效的 C/C 代…

突然发现!原来微信批量自动加好友这么简单!

你知道如何更好地管理和利用微信资源,实现客户拓展和沟通吗?下面就教大家一招,帮助大家实现统一管理多个微信号以及批量自动加好友。 想要统一管理多个微信号,不妨试试微信管理系统,不仅可以多个微信号同时登录&#…

MySQL 连接控制(Connection Control)

MySQL连接控制是一个安全插件,当客户端出现指定次数的连接失败时(密码错误),之后的每次连接请求的响应都会逐渐增加延迟,此插件可以帮助数据库抵御类似DDOS攻击或暴力破解密码。 目录 一、安装连接控制插件二、连接控…

SQL Server 文件组详解

数据文件组 SQL Server 数据库最常用的存储文件是数据文件和日志文件。 数据文件用于存储数据,由一个主要数据文件(.mdf)和若干个次要数据文件(.ndf)构成;日志文件用于存储事物日志,由.ldf文件…

Simcenter试验仿真技术交流会圆满成功

庭田科技携手西门子工业软件于2024年3月15日在山东职业学院成功举办Simcenter试验及仿真技术交流会。会议邀请到众多技术专家及各行业同仁参与。本次会议以西门子最新试验设备变化为主要方向,通过设备及软件的更新介绍、技术及产品的应用分享,全面搭建起…

怎么批量删除文件名中的括号?

怎么批量删除文件名中的括号?在日常的文件管理中,我们经常会遇到需要批量删除文件名中的括号的情况。这些括号可能是多余的字符,或者干扰了文件名的整体清晰度和统一性。针对这一问题,有许多方法可以轻松实现批量删除文件名中的括…

Linux 文件系统:C语言接口、系统接口

目录 一、文件接口 二、感性理解Linux系统下“一切皆文件” 三、C语言文件接口 1、fopen 2、当前路径 3、fwrite、fprintf、fputs 4、fgets 模拟实现cat命令 5、fscanf 五、系统接口 1、open系统调用 2、write系统调用 例:O_WRONLY 例:O_WR…

webpack5零基础入门-12搭建开发服务器

1.目的 每次写完代码都需要手动输入指令才能编译代码,太麻烦了,我们希望一切自动化 2.安装相关包 npm install --save-dev webpack-dev-server 3.添加配置 在webpack.config.js中添加devServer相关配置 /**开发服务器 */devServer: {host: localhos…

K3镜头擦拭纸工厂的神奇运用

在一个忙碌而充满活力的工厂里,每一天都是一场不同寻常的冒险。工厂的名字叫做“清洁之家”,它是一家专门生产清洁用品的工厂,为世界各地的人们提供着优质的清洁产品。 在这家工厂里,有一支拥有超能力的清洁团队,他们…

ABAP笔记:定义指针,动态指针分配:ASSIGN COMPONENT <N> OF STRUCTURE <结构> TO <指针>.

参考大佬文章学习,总结了下没有提到的点:SAP ABAP指针的6种用法。_abap 指针-CSDN博客 定义指针:其实指针这玩意,就是类似你给个地方,把东西临时放进去,然后指针就是这个东西的替身了,写代码的…

几种常见的IO模型学习

IO模型 IO模型(输入输出模型)是计算机科学中用于描述程序如何处理输入、产生输出以及与外部系统交互的一种概念模型。在操作系统和网络编程中,IO模型尤其重要,因为它们决定了程序如何与文件、网络套接字和其他资源进行通信。以下…

腾讯云COS - 前端上传文件到 COS 跨域问题

问题描述 原因分析 因为我本地的地址是:http://localhost:9528 而发送请求时的地址是:http://132-1307119153.cos.ap-beijing.myqcloud.com/tu.jpg 域名不同,自然而然就出现了跨域的问题! 解决方案 先点击对象存储 - 安全设置…

JUC-1M/75±5°超小型密封温度继电器 体积小、重量轻、控温精度高 JOSEF约瑟

JUC系列温度继电器 JUC-1M型超小型密封温度继电器 JUC-2M型超小型密封温度继电器 继电器JUC-027M/2531H-III-G温度继电器 JUC-1M 10C常开温度继电器 JUC-1M 105C温度继电器 用途 小型温控开关系接触感应式密封温度继电器,具有体积小、重量轻、控温精度高等特点&…