#transcription #transcribe #openai #whisper

simple_transcribe_rs

使用whisper-rs绑定编写的Rust音频到文本转录库

6个版本 (稳定版)

1.0.3 2024年1月5日
1.0.2 2024年1月4日
0.1.0 2024年1月4日
0.0.0 2024年1月5日

音频类别中排名第273

MIT许可证

2.5MB
256

SimpleTranscribe-rs 🔈 📖

一个使用Rust编写的音频到文本转录库,利用了Whisper-rs绑定。

什么是SimpleTranscribe-rs?

SimpleTranscribe-rs是一个用Rust编写的库,旨在让开发人员将音频到文本转录变得简单。SimpleTranscribe-rs处理音频到文本转录的各个方面,如自动下载所需的whisper文本到语音模型。目标是让开发人员能够快速将转录集成到他们的项目中 🌩️

特性

  • 自动下载尚未安装的模型。支持的模型

    • 小型
    • 基础
    • 小型
    • 中型
    • 大型
  • 支持从不同文件类型的音频中转录,如

    • mp3
    • wav

入门指南

要使用SimpleTranscribe-rs,只需将其添加到项目的cargo.toml

[dependencies]
simple_transcribe_rs = "1.0.1"
tokio = { version = "1.35.1", features = ["full"] }

由于下载模型的本性,需要等待模型处理器的实例化。因此需要一个异步运行时。库内部使用的是Tokio,并且也进行了测试,因此是此库的推荐运行时。

使用方法

要使用SimpleTranscribe-rs,首先需要使用模型处理器来设置和准备语言模型。之后,可以使用转录器将音频文件转换为文本。以下是一个示例片段

use simple_transcribe_rs::model_handler;
use simple_transcribe_rs::transcriber;

#[tokio::main]
async fn main() {
    let m = model_handler::ModelHandler::new("tiny", "models/").await;
    let trans = transcriber::Transcriber::new(m);
    let result = trans.transcribe("src/test_data/test.mp3", None).unwrap();
    let text = result.get_text();
    let start = result.get_start_timestamp();
    let end = result.get_end_timestamp();
    println!("start[{}]-end[{}] {}", start, end, text);
}

可以通过以下方式运行该片段:cargo run --example usage_example

依赖项

~12–26MB
~471K SLoC