Skip to content

danielbennett888/sonoscribe

Repository files navigation

SonoScribe

CI Python License: MIT Code style: ruff

统一声学自监督表示 + 大模型声学场景理解与描述的轻量工具包。

SonoScribe 面向科研与升学项目实践,把「声学特征前端 → 自监督表示 → 大模型场景描述」串成一条清晰的流水线:

  • 纯 Python / NumPy 内核:特征提取、自监督编码器、场景描述全部离线可跑, 不依赖 PyTorch 或联网。
  • 离线优先:默认使用确定性的模板描述器,无需任何外部 API 即可产出中文 / 英文的声学场景描述。
  • 可选后端:需要时再启用 PyTorch 编码器或 OpenAI 兼容的大模型接口。

快速上手

import numpy as np
from sonoscribe.config import FeatureConfig
from sonoscribe.features import log_mel_spectrogram

sr = 16000
t = np.arange(sr) / sr
wave = 0.5 * np.sin(2 * np.pi * 440 * t).astype("float32")

cfg = FeatureConfig(sample_rate=sr, n_mels=64)
logmel = log_mel_spectrogram(wave, cfg)
print(logmel.shape)  # (n_frames, 64)

安装

pip install -e .          # 仅需 NumPy
pip install -e ".[torch]" # 可选:启用 PyTorch 编码器

三条流水线

阶段 能力 入口
特征 STFT / 梅尔谱 / MFCC / 描述子 sonoscribe.features
表示 纯 NumPy 自监督编码器(可选 PyTorch) PredictiveEncoder
描述 场景理解 + 大模型 / 模板描述 describe_audio

命令行

sonoscribe info     clip.wav                 # 声学场景报告 (JSON)
sonoscribe embed    clip.wav --encoder predictive
sonoscribe describe clip.wav --lang zh       # 自然语言场景描述

文档

许可证

MIT,详见 LICENSE

About

声学大模型工具包:统一声学自监督表示 + 大模型场景理解与描述(纯 NumPy 内核,离线优先,可选 PyTorch)

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages