C#使用WhisperNet实现语音识别功能

这篇具有很好参考价值的文章主要介绍了C#使用WhisperNet实现语音识别功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C#使用WhisperNet实现语音识别功能

1.写在前面

最近想做一下本地音频语音识别工具,在网上找了一些本地音频语音识别方面的资料。

Whisper 是 OpenAI 的一种自动最先进的语音识别系统,它已经接受了 680000 小时从网络收集的多语言和多任务监督数据的训练。这个庞大而多样化的数据集提高了对口音、背景噪音和技术语言的鲁棒性。此外,它还支持多种语言的转录,以及将这些语言翻译成英语。与 DALLE-2 和 GPT-3 不同,Whisper 是一种免费的开源模型
Whisper的优势是开源免费、支持多语种(包括中文),根据不同的场景需求有不同模型可供选择,最终的效果比市面上很多音频转文字的效果都要好。
Whisper提供了五种型号尺寸,其中四种为纯英文版本,提供速度和准确性的权衡。以下是可用型号的名称及其大致的内存要求和相对速度。

Whisper 的性能因语言而异。下图显示了使用该模型的 Fleurs 数据集按语言的 WER(单词错误率)细分large-v2(数字越小,性能越好)。中文为14.7%

C#使用WhisperNet实现语音识别功能

2.下载地址

源码下载地址:https://github.com/Const-me/Whisper

模型下载地址:https://huggingface.co/sandrohanea/whisper.net/tree/main/classic

3.程序实现

下面将贴出实现该程序的关键代码。

private async void buttonAsr_Click(object sender, EventArgs e)
{
    string[] list = Library.listGraphicAdapters();
    CommandLineArgs cla = new CommandLineArgs();
    cla.language = eLanguage.Chinese;
    cla.gpu = textGpu.Text;
    cla.model = textModel.Text;
    cla.fileName = textFile.Text;
    cla.prompt = "这是一段播客的内容。";
    cla.output_srt = true;

    using iModel model = await Library.loadModelAsync(cla.model, new CancellationToken(), eGpuModelFlags.Cloneable, cla.gpu);
    int[]? prompt = null;
    if (!string.IsNullOrEmpty(cla.prompt)) prompt = model.tokenize(cla.prompt);

    context = model.createContext();
    cla.apply(ref context.parameters);
    context.parameters.setFlag(eFullParamsFlags.NoContext, true);
    using iMediaFoundation mf = Library.initMediaFoundation();
    Transcribe transcribe = new Transcribe(cla);
    using iAudioReader reader = mf.openAudioFile(cla.fileName, cla.diarize);
    await context.runFullAsync(reader, transcribe, UpdateProgress, prompt);
}

private void UpdateProgress(double value)
{
int pValue = (int)Math.Round(value, 2) * 100;
progress.Value = pValue;
foreach (sSegment seg in context.results(eResultFlags.Timestamps).segments)
{
string begin = Transcribe.printTimeWithComma(seg.time.begin);
string end = Transcribe.printTimeWithComma(seg.time.end);
string msg = string.Format("【{0} --> {1}】 {2}\r\n", begin, end, seg.text);
if (!FindMsg(msg)) rtextMsg.AppendText(msg);
}
rtextMsg.Select(rtextMsg.Text.Length, 0);
rtextMsg.ScrollToCaret();
}

4.程序界面

C#使用WhisperNet实现语音识别功能

5.功能

本地音频语音识别。

程序中包含WhisperDesktop.exe
下载地址:https://pan.baidu.com/s/1dfCLtXdetsa0bNM7h9u_CQ?pwd=6666   提取码:6666

模型地址:https://pan.baidu.com/s/1kYfuRYJgOAayBBxrU_Xfvw?pwd=6666    提取码:6666文章来源地址https://www.toymoban.com/news/detail-814633.html

到了这里,关于C#使用WhisperNet实现语音识别功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 免费的语音识别 API:简单实现语音转文本功能

    语音识别技术在现代信息处理和人机交互中扮演着重要角色。如果您正在寻找免费的语音识别 API,那么您来对地方了!本文将向您介绍一个简单的方法来实现语音转文本的功能,并提供相应的源代码供参考。 首先,您需要使用 Python 编程语言来实现这个功能。Python 提供了许

    2024年02月03日
    浏览(41)
  • springboot整合vosk实现简单的语音识别功能

    Vosk是开源的语音识别工具包。Vosk支持的事情包括: 支持十九种语言 - 中文,英语,印度英语,德语,法语,西班牙语,葡萄牙语,俄语,土耳其语,越南语,意大利语,荷兰人,加泰罗尼亚语,阿拉伯, 希腊语, 波斯语, 菲律宾语,乌克兰语, 哈萨克语。 移动设备上脱机工作

    2024年02月09日
    浏览(32)
  • Unity调用微软SpeechLib.Dll的C#类实现语音合成功能

    using System.Collections; using System.Collections.Generic; using UnityEngine; using SpeechLib; public class Speech : MonoBehaviour { // Start is called before the first frame update void Start() { } 将Interop.SpeechLib.dll文件导入Unity,然后把上面的脚本挂载到游戏对象上就能测试语音合成的效果了。 经测试 调用v.Speak这个方

    2024年02月13日
    浏览(39)
  • uniapp 开发H5页面,实现语音识别功能--前端,不包含后端转换

    一、背景 微信小程序开发,内嵌h5页面,不能调用微信内部的插件 二、实现方式 通过安装  js-audio-recorder  插件实现既定需求 三、具体步骤 1、安装插件 npm i js-audio-recorder 2、引入 在需要使用的页面中引入:import Recorder from \\\'js-audio-recorder\\\'; 3、具体配置

    2024年04月13日
    浏览(28)
  • 使用python实现语音识别

    语音识别技术,也被称为自动语音识别,目标是以电脑自动将以人类的语音内容转换为相应的文字和文字转换为语音。 一. 文本转换为语音 1.1 使用pyttsx 使用名为pyttsx的python包,可以将文本转换为语音。 安装pyttsx包 示例 运行之后可以播放语音。 1.2 使用SAPI 在python 中,也可

    2024年02月04日
    浏览(32)
  • Python使用PaddleSpeech实现语音识别(ASR)、语音合成(TTS)

    目录 安装 语音识别 补全标点 语音合成 参考 PaddleSpeech是百度飞桨开发的语音工具 注意,PaddleSpeech不支持过高版本的Python,因为在高版本的Python中,飞桨不再提供paddle.fluid API。这里面我用的是Python3.7 需要通过3个pip命令安装PaddleSpeech: 在使用的时候,urllib3库可能会报错,因

    2024年04月25日
    浏览(28)
  • Ubuntu20.04 使用Python实现全过程离线语音识别(包含语音唤醒,语音转文字,指令识别,文字转语音)

      因为手头有一个项目,该项目需要在香橙派上实现语音控制,并且带有语音唤醒功能。简单来说,就是通过唤醒词唤醒香橙派,然后说出相关指令,香橙派去执行指令。   但是,在弄香橙派的时候,自带的麦克风不好使了,单独进行麦克风测试的时候是好使的,但是程

    2024年02月05日
    浏览(38)
  • Python使用whisper实现语音识别(ASR)

    目录 Whisper的安装 Whisper的基本使用 识别结果转简体中文 断句 Whisper是OpenAI的一个强大的语音识别库,支持离线的语音识别。在使用之前,需要先安装它的库: 使用whisper,还需安装setuptools-rust: 但是,whisper安装时,自带的pytorch可能有些bug,因此需要卸载重装: 卸载: 重装

    2024年03月20日
    浏览(37)
  • 实现语音识别系统:手把手教你使用STM32C8T6和LD3320(SPI通信版)实现语音识别

            本文实际是对LD3320(SPI通信版)的个人理解,如果单论代码和开发板的资料而言,其实当你购买LD3320的时候,卖家已然提供了很多资料。我在大学期间曾经多次使用LD3320芯片的开发板用于设计系统,我在我的毕业设计作品中也有添加这个系统功能,用于添加整个系

    2024年02月06日
    浏览(29)
  • 鸿蒙应用开发-录音并使用WebSocket实现实时语音识别

    功能介绍: 录音并实时获取RAW的音频格式数据,利用WebSocket上传数据到服务器,并实时获取语音识别结果,参考文档使用AudioCapturer开发音频录制功能(ArkTS),更详细接口信息请查看接口文档:AudioCapturer8+和@ohos.net.webSocket (WebSocket连接)。 知识点: 熟悉使用AudioCapturer录音并实时

    2024年04月25日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包