当前位置: 首页 > article >正文

NLP之ASR之moonshine:moonshine的简介、安装和使用方法、案例应用之详细攻略

NLP之ASR之moonshine:moonshine的简介、安装和使用方法、案例应用之详细攻略

目录

moonshine的简介

moonshine的安装和使用方法

1、安装

推荐使用uv管理Python环境

安装Moonshine包

Torch后端

TensorFlow后端

JAX后端

ONNX运行时

2、使用方法

0、测试

1、ONNX独立运行

2、实时字幕

3、翻译

4、 HuggingFace Transformers

moonshine的案例应用


moonshine的简介

2024年10月,Moonshine是一个针对资源受限设备优化的语音转文本 (ASR) 模型家族,旨在提供快速且准确的语音识别能力。它非常适合实时、设备端的应用,例如实时转录语音命令识别。Moonshine在HuggingFace的OpenASR排行榜上,其单词错误率 (WER) 表现优于同等规模的OpenAI Whisper模型(tiny.en 和 base.en)。

Moonshine 的计算需求与输入音频长度成正比,这意味着较短的音频处理速度更快,这与以30秒为块处理音频的Whisper模型不同。例如,Moonshine 处理10秒音频的速度是Whisper的5倍,同时保持相同或更好的WER。Moonshine Base模型大小约为400MB,Tiny模型约为190MB。目前公开发布的模型仅支持英语。

GitHub地址:https://github.com/usefulsensors/moonshine

moonshine的安装和使用方法

1、安装

推荐使用uv管理Python环境

若不使用uv,请跳过第一步。
创建虚拟环境: 首先,安装uv:

pip install uv

然后创建并激活虚拟环境:

uv venv env_moonshine
source env_moonshine/bin/activate

安装Moonshine包

Moonshine推理代码使用Keras编写,支持Torch、TensorFlow和JAX后端。选择后端决定安装哪个版本的Moonshine包。建议从Torch后端开始:

Torch后端

uv pip install useful-moonshine@git+https://github.com/usefulsensors/moonshine.git export KERAS_BACKEND=torch

TensorFlow后端

uv pip install useful-moonshine[tensorflow]@git+https://github.com/usefulsensors/moonshine.git export KERAS_BACKEND=tensorflow

JAX后端

uv pip install useful-moonshine[jax]@git+https://github.com/usefulsensors/moonshine.git export KERAS_BACKEND=jax (使用GPU: useful-moonshine[jax-cuda])

ONNX运行时

uv pip install useful-moonshine[onnx]@git+https://github.com/usefulsensors/moonshine.git

2、使用方法

0、测试

可以使用以下函数转录提供的示例音频文件来测试 Moonshine .transcribe:
使用.transcribe函数测试Moonshine:

>>> import moonshine
>>> moonshine.transcribe(moonshine.ASSETS_DIR / 'beckett.wav', 'moonshine/tiny')

['Ever tried ever failed, no matter try again, fail again, fail better.']

第一个参数是音频文件路径,第二个参数是Moonshine模型名称 (moonshine/tiny 或 moonshine/base)。使用moonshine.transcribe_with_onnx函数使用ONNX运行时进行推理,参数与moonshine.transcribe相同。

Moonshine模型可与多种运行时和应用程序一起使用。

1、ONNX独立运行

最新的ONNX Moonshine模型可在HuggingFace (huggingface.co/UsefulSensors/moonshine/tree/main/onnx) 获取,示例Python脚本和更多信息可在仓库的demo文件夹中找到。

2、实时字幕

可以使用live captions demo在许多平台上使用麦克风的实时输入来测试Moonshine模型。

3、翻译

CTranslate2版本的Moonshine文件可在HuggingFace (huggingface.co/UsefulSensors/moonshine/tree/main/ctranslate2) 获取,但需要合并pull request才能与框架的主线版本一起使用。可以使用项目的特定分支和示例脚本进行尝试。

4、 HuggingFace Transformers

两个模型都可在HuggingFace Hub上使用,并可与transformers库一起使用 (代码示例见GitHub项目)。

from transformers import AutoModelForSpeechSeq2Seq, AutoConfig, PreTrainedTokenizerFast

import torchaudio
import sys

audio, sr = torchaudio.load(sys.argv[1])
if sr != 16000:
  audio = torchaudio.functional.resample(audio, sr, 16000)

# 'usefulsensors/moonshine-base' for the base model
model = AutoModelForSpeechSeq2Seq.from_pretrained('usefulsensors/moonshine-tiny', trust_remote_code=True)
tokenizer = PreTrainedTokenizerFast.from_pretrained('usefulsensors/moonshine-tiny')

tokens = model(audio)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))

moonshine的案例应用

持续更新中……


http://www.kler.cn/a/388183.html

相关文章:

  • spring mvc源码学习笔记之九
  • 如何让用户在网页中填写PDF表格?
  • 审计表UNIFIED_AUDIT_TRAIL出现YAS-00220 utf8 sequence is wrong
  • 【SQL】掌握SQL查询技巧:数据分组与排序
  • 【机器学习】机器学习的基本分类-自监督学习(Self-supervised Learning)
  • Linux部署web项目【保姆级别详解,Ubuntu,mysql8.0,tomcat9,jdk8 附有图文】
  • 如何设置定时关闭或启动整个docker而不是某个容器
  • GPIO 唤醒深度睡眠的esp32-c3
  • 如何找到养生生活视频素材?推荐几个优秀网站
  • 每日一题之成绩排序(进阶版)
  • springboot静态资源映射不生效问题
  • Node.js——fs模块-相对路径的bug与解决
  • 机器学习—多类
  • C++使用开源ConcurrentQueue库处理自定义业务数据类
  • MySQL的其他函数
  • Oracle简介、环境搭建和基础DML语句
  • 网络安全从入门到精通(特别篇IIl):应急响应之病毒蠕虫处置流程
  • 深度学习-张量相关
  • 解决 IntelliJ IDEA Maven 项目 JDK 版本自动变为 1.5 的问题
  • 硬件设备网络安全问题与潜在漏洞分析及渗透测试应用
  • 开源竞争-利用kimi编程助手搭建小程序(11)
  • 解决编译 fast-lio-lc 算法时遇到的error方法
  • uniapp uni-calendar日历实现考勤统计功能
  • 大数据机器学习算法与计算机视觉应用04:多项式
  • macOS开发环境配置与应用开发(详细讲解)
  • 蔚来Android面试题及参考答案(3万字长文)