ONNX 模型库
返回模型

说明文档

NeMo Nano 编解码器 (22kHz, 1.78kbps, 12.5fps) - ONNX

nemo-nano-codec-22khz-1.78kbps-12.5fps 的 ONNX 模型

模型描述

该编解码器采用两阶段架构:一个编码器通过向量量化将音频压缩为离散标记,一个解码器从这些标记重建音频。

模型来源

禁止用途(根据 NVIDIA 开放模型许可证)

本模型不得用于:

  • 非法监控
  • 未经同意(法律要求时)非法收集或处理生物识别信息
  • 骚扰、虐待、威胁、欺凌或故意误导或欺骗他人

如何开始使用该模型

安装

pip install onnxruntime numpy

基本用法

输入音频必须预先填充至完整帧(1764 样本的倍数)

完整流程示例

import numpy as np
import onnxruntime as ort

# 加载两个模型
encoder = ort.InferenceSession('encoder.onnx')
decoder = ort.InferenceSession('decoder.onnx')

# 填充辅助函数
def pad_audio_to_frames(audio, samples_per_frame=1764):
    """将音频填充至完整帧(编码器要求)。"""
    current_len = audio.shape[-1]
    num_frames = (current_len + samples_per_frame - 1) // samples_per_frame
    padded_len = num_frames * samples_per_frame
    padding_needed = padded_len - current_len
    if padding_needed > 0:
        audio = np.pad(audio, ((0, 0), (0, padding_needed)), mode='constant')
    return audio, current_len

# 加载您的音频(必须是 22050 Hz,单声道)
original_audio = np.random.randn(1, 88200).astype(np.float32)  # 4 秒示例

# 1. 将音频填充至完整帧
padded_audio, original_len = pad_audio_to_frames(original_audio)
audio_len = np.array([padded_audio.shape[-1]], dtype=np.int64)

# 2. 编码:音频 → 标记
tokens, tokens_len = encoder.run(None, {
    'audio': padded_audio,
    'audio_len': audio_len
})

# 3. 解码:标记 → 音频
reconstructed_audio, reconstructed_len = decoder.run(None, {
    'tokens': tokens,
    'tokens_len': tokens_len
})

# 4. 裁剪至原始长度
reconstructed_audio = reconstructed_audio[:, :original_len]

许可证

双重许可结构

本衍生作品采用双重许可分发:

原始模型(NVIDIA):

修改部分:

Knehm/nemo-nano-codec-22khz-1.78kbps-12.5fps-ONNX

作者 Knehm

feature-extraction nemo
↓ 0 ♥ 0

创建时间: 2025-11-01 00:16:18+00:00

更新时间: 2025-11-03 02:29:36+00:00

在 Hugging Face 上查看

文件 (7)

.gitattributes
NOTICE
README.md
config.json
decoder.onnx ONNX
encoder.onnx ONNX
preprocessor_config.json