Skip to main content

AMV-STT

마이그레이션 안내: 이 패키지는 termux-stt에서 amv-stt로 이름이 바뀌었습니다. 기존 termux-stt 배포본(PyPI/npm)은 호환을 위해 당분간 유지되나 deprecated 상태이며 더 이상 갱신되지 않습니다. pip install amv-stt / npm install amv-stt로 전환하십시오.

Android Termux 환경 또는 안드로이드 Linux 커널(루팅 없이 Linux 환경이 구동되는 모든 디바이스) 에서 동작합니다 — Termux 전용이 아닙니다.

PyPI Python npm npm downloads License

디바이스 리소스를 활용한 통합 온디바이스 음성인식(STT) 및 차세대 신경망 화자 분리(PyAnnote 3.0 + CAM++ 192d + TS-VAD) 프레임워크
Unified On-Device Speech-to-Text & Neural Multi-Speaker Diarization (PyAnnote 3.0 + CAM++ 192d + TS-VAD Overlap Resolver)


Architecture & Overview

Whisper.cpp(네이티브 Vulkan GPU / NEON CPU) 및 Sherpa-ONNX 듀얼 모던 엔진을 통합하고, PyAnnote 3.0 신경망 세그멘테이션, 3D-Speaker CAM++ 192차원 성문 임베딩, TS-VAD 동시 발화(마이크 물림) 분리기를 결합하여 완전 온디바이스 실시간 다중 화자 음성인식을 구현합니다.

Integrates Whisper.cpp (Native Vulkan GPU / NEON CPU) and Sherpa-ONNX with PyAnnote 3.0 neural segmentation, 3D-Speaker CAM++ 192-dim embeddings, and TS-VAD overlapped speech resolution with zero cloud egress.


Installation & Quickstart

Python (PyPI)

pip install amv-stt
from termux_stt import create_engine

# 1. Initialize Whisper Engine with Vulkan GPU / CPU Hybrid Acceleration
engine = create_engine("whisper", model="small", lang="ko", threads=4, split_mode=True)

# 2. Transcribe Audio directly into Subtitles
result = engine.transcribe("samples/jfk_1min.wav")
print("Transcript:
", result.text)
print("SRT Subtitles:
", result.to_srt())

# 3. Multi-Speaker Neural Diarization (PyAnnote 3.0 + CAM++ 192d + TS-VAD)
hybrid = create_engine("hybrid", lang="ko", num_speakers=2)
diar_result = hybrid.diarize("samples/kor_diarization.wav")
for seg in diar_result.segments:
    print(f"[{seg.speaker}] ({seg.start:.1f}s -> {seg.end:.1f}s): {seg.text}")

Node.js / TypeScript (npm)

npm install amv-stt
const { createEngine } = require("amv-stt");

async function main() {
  // 1. Initialize Whisper Engine
  const engine = createEngine("whisper", { model: "tiny", lang: "ko", threads: 4 });

  // 2. Transcribe Audio
  const result = await engine.transcribe("samples/jfk_1min.wav");
  console.log("Transcript:", result.text);
  console.log("SRT Subtitles:
", result.toSrt());

  // 3. Neural Diarization via Hybrid Engine
  const hybrid = createEngine("hybrid", { lang: "ko", numSpeakers: 2 });
  const diarResult = await hybrid.diarize("samples/kor_diarization.wav");
  for (const seg of diarResult.segments) {
    console.log(`[${seg.speaker}] (${seg.start.toFixed(1)}s -> ${seg.end.toFixed(1)}s): ${seg.text}`);
  }
}
main();

Official Documentation & Benchmarks


License

Licensed under the Apache-2.0 License. Copyright (c) 2026 Eunho Kim (@uno-km).

Metadata

Release files for amv-stt 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for amv-stt 2.1.0
File Size Uploaded Provenance Actions
amv_stt-2.1.0.tar.gz 3.6 MB Without provenance Details for amv_stt-2.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for amv-stt 2.1.0
File Interpreter ABI Platform Actions
amv_stt-2.1.0-py3-none-any.whl Python 3 none any Details for amv_stt-2.1.0-py3-none-any.whl

Total release size: 3.7 MB

Release files / amv_stt-2.1.0.tar.gz

Download URL amv_stt-2.1.0.tar.gz
Size 3.6 MB
Tags Source
SHA-256 checksum
How to use checksums
21ad1ccb21c20891f3a57a82ed92f573862c8d60c8341564570be8e70cac785a
BLAKE2b-256 checksum
How to use checksums
f3bcbba6098f346ecd9ca7021f14194e595a03ee9f40af80c04e5c13a761c813
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.0

Release files / amv_stt-2.1.0-py3-none-any.whl

Download URL amv_stt-2.1.0-py3-none-any.whl
Size 115.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c39d49a17b8b68b34faef2430a4baff18f527c9547202a024b41808e63bfa1ed
BLAKE2b-256 checksum
How to use checksums
0d3ab27f1524911a72adda7e9d2a9b55a21eb0286395222e8b4d8e9ff338bb05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.0

Security for amv-stt 2.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page