ONNX 模型库
返回模型

说明文档

The README content is already in Chinese (Simplified). Here it is:

<div align="center" style="text-align: center;"> <img src="./assets/logo.png" alt="logo" width="300" style="display: block; margin: 0 auto;" /> </div>

<p align="center"> <a href="https://github.com/getcharzp/go-speech/fork" target="blank"> <img src="https://img.shields.io/github/forks/getcharzp/go-speech?style=for-the-badge" alt="go-speech forks"/> </a> <a href="https://github.com/getcharzp/go-speech/stargazers" target="blank"> <img src="https://img.shields.io/github/stars/getcharzp/go-speech?style=for-the-badge" alt="go-speech stars"/> </a> <a href="https://github.com/getcharzp/go-speech/pulls" target="blank"> <img src="https://img.shields.io/github/issues-pr/getcharzp/go-speech?style=for-the-badge" alt="go-speech pull-requests"/> </a> </p>

go-speech 基于 Golang + ONNX 构建的轻量语音库,支持 TTS(文本转语音)与 ASR(语音转文字)。 集成 MeloTTS、Piper、达摩院 Paraformer 架构模型、Whisper 模型。

安装

# 下载包
go get -u github.com/getcharzp/go-speech

# 下载模型、动态链接库
git clone https://huggingface.co/getcharzp/go-speech

快速开始

TTS

MeloTTS 支持中英混合合成

package main

import (
	"github.com/getcharzp/go-speech/tts/melotts"
	"github.com/up-zero/gotool/fileutil"
	"log"
)

func main() {
	ttsEngine, err := melotts.NewEngine(melotts.DefaultConfig())
	if err != nil {
		log.Fatalf("创建引擎失败: %v", err)
	}
	defer ttsEngine.Destroy()

	text := "2019年12月30日,中国人口突破14亿人,联系电话: 13800138000。"
	wavData, err := ttsEngine.SynthesizeToWav(text, 1.0)
	if err != nil {
		log.Fatalf("合成失败: %v", err)
	}

	outputPath := "output.wav"
	err = fileutil.FileSave(outputPath, wavData)
	if err != nil {
		log.Fatalf("保存 WAV 失败: %v", err)
	}
}

<audio controls> <source src="https://media.githubusercontent.com/media/GetcharZp/go-speech/master/assets/output.wav" type="audio/wav"> </audio>

Piper 支持中文合成

package main

import (
	"github.com/getcharzp/go-speech/tts/pipertts"
	"github.com/up-zero/gotool/fileutil"
	"log"
)

func main() {
	cfg := pipertts.Config{
		OnnxRuntimeLibPath: "../lib/onnxruntime.dll",
		ModelPath:          "../pipertts_weights/zh_CN-xiao_ya-medium.onnx",
		ConfigPath:         "../pipertts_weights/zh_CN-xiao_ya-medium.onnx.json",
	}

	ttsEngine, err := pipertts.NewEngine(cfg)
	if err != nil {
		log.Fatalf("创建引擎失败: %v", err)
	}
	defer ttsEngine.Destroy()

	testText := "2019年12月30日,中国人口突破14亿人。联系电话: 13800138000。"
	wavBytes, err := ttsEngine.SynthesizeToWav(testText)
	if err != nil {
		log.Fatalf("合成失败: %v", err)
	}

	outputPath := "pipertts_output.wav"
	err = fileutil.FileSave(outputPath, wavBytes)
	if err != nil {
		log.Fatalf("保存失败: %v", err)
	}
}

<audio controls> <source src="https://media.githubusercontent.com/media/GetcharZp/go-speech/master/examples/pipertts_output.wav" type="audio/wav"> </audio>

ASR

Paraformer

package main

import (
	"fmt"
	"github.com/getcharzp/go-speech/asr/paraformer"
	"log"
)

func main() {
	asrEngine, err := paraformer.NewEngine(paraformer.DefaultConfig())
	if err != nil {
		log.Fatalf("创建引擎失败: %v", err)
	}
	defer asrEngine.Destroy()

	text, err := asrEngine.TranscribeFile("./zh-en.wav")
	if err != nil {
		log.Printf("识别出错: %v", err)
		return
	}
	fmt.Printf("识别结果: %s\n", text)
}

Whisper

package main

import (
	"fmt"
	"github.com/getcharzp/go-speech/asr/whisper"
	"log"
)

func main() {
	asrEngine, err := whisper.NewEngine(whisper.DefaultConfig())
	if err != nil {
		log.Fatalf("创建引擎失败: %v", err)
	}
	defer asrEngine.Destroy()

	text, err := asrEngine.TranscribeFile("./zh-en.wav", whisper.TranscribeOption{
		Language: whisper.LangZh,
		Task:     whisper.TaskTranscribe,
	})
	if err != nil {
		log.Fatalf("识别出错: %v", err)
		return
	}
	fmt.Printf("识别结果: %s\n", text) // Yesterday was星期一Today is Tuesday明天是星期三
}

GetcharZp/go-speech

作者 GetcharZp

text-to-speech
↓ 0 ♥ 1

创建时间: 2025-12-04 06:17:51+00:00

更新时间: 2026-02-24 07:16:54+00:00

在 Hugging Face 上查看

文件 (29)

.gitattributes
.gitignore
LICENSE
README.md
assets/logo.png
examples/melotts_test.go
examples/paraformer_test.go
examples/pipertts_output.wav
examples/pipertts_test.go
examples/zh-en.wav
lib/onnxruntime.dll
lib/onnxruntime_amd64.dylib
lib/onnxruntime_amd64.so
lib/onnxruntime_arm64.dylib
lib/onnxruntime_arm64.so
melo_weights/lexicon.txt
melo_weights/model.onnx ONNX
melo_weights/tokens.txt
paraformer_weights/am.mvn
paraformer_weights/model.int8.onnx ONNX
paraformer_weights/punctuation_model.onnx ONNX
paraformer_weights/punctuation_tokens.json
paraformer_weights/tokens.txt
pipertts_weights/zh_CN-xiao_ya-medium.onnx ONNX
pipertts_weights/zh_CN-xiao_ya-medium.onnx.json
whisper_weights/added_tokens.json
whisper_weights/small_decoder_model_merged.onnx ONNX
whisper_weights/small_encoder_model.onnx ONNX
whisper_weights/vocab.json