Xnnehanglab
希望用代码为 waifus 绘心。
Last verified:
What is Xnnehanglab?
XnneHangLab (魔女の实验室) is an offline subtitle generation tool built on FunASR that provides a complete audio processing workflow. It combines speech recognition (FunASR/Whisper) with speech synthesis (GPT-SoVITS/Qwen-TTS) to handle everything from audio/subtitle generation to video subtitle editing and embedding.
The tool is designed for content creators who make videos and need subtitle generation with speed adjustment and editing capabilities. It also serves language learners who download Bilibili videos to generate subtitles and translate them for improving Japanese skills. Additionally, it supports TTS/STS dataset creation with automatic audio cropping, loudness matching, noise reduction, and subtitle regeneration.
Key features include a Streamlit-based To-Do list for task management, hotword support for subtitle generation, SenseVoice timestamp detection, yutto-uiya Bilibili video downloader with WebUI, FastAPI backend support, CLI tools for audio recognition and voice activity detection, and comprehensive CI/CD with type checking. The project uses uv for package management and justfile for workflow automation.
The tool powers 'Chill with You Lo-Fi Story' with full LLM + TTS voice dialogue and Live2D character driving. It includes Memory Bench evaluation framework, Neo4j knowledge graph, and real-time memory writing and retrieval capabilities for AI dialogue systems.
Xnnehanglab pricing
Pricing model: Freemium
Free and open-source under MIT license. The tool is completely free to download from GitHub releases (XnneHangLab.zip) and self-host. No paid tiers or subscription plans exist. Users only need to install free dependencies: uv (package manager), just (command runner, optional), and ffmpeg (required). GPU version requires manual PyTorch CUDA configuration but no licensing fees. Demo available at lab.xnnehang.top is free to use when online.
Xnnehanglab pros
- Offline subtitle generation ensures privacy and no internet dependency
- FunASR-based speech recognition with hotword support
- Complete audio workflow from download to subtitle embedding
- Bilibili video downloader (yuto-uiya) integrated with WebUI
- Subtitle speed adjustment and editing capabilities
- Automatic audio cropping for dataset creation
- Loudness matching and noise reduction features
- Supports both CPU and GPU PyTorch versions
- FastAPI backend for API integration
- CLI tool for audio recognition and VAD
- uv package management simplifies environment setup
- justfile streamlines complex command execution
- Streamlit-based intuitive WebUI interface
- GPT-SoVITS and Qwen-TTS speech synthesis support
- Memory Bench evaluation framework with Neo4j knowledge graph
- Active development with regular updates and releases
- MIT license allows free commercial use
Xnnehanglab cons
- Website demo may be offline during holidays when developer plays games
- Requires ffmpeg to be installed globally on system
- Just CLI tool is difficult to install on Windows
- Model and environment downloads are large and time-consuming
- Currently in rapid development with potential bugs in daily commits
- Documentation website not yet released
- Video input GUI version still in development
- Batch processing for audio not yet supported
- Only 69 stars indicates small community adoption
- Primary developer is single contributor with limited maintainers
Frequently asked questions about Xnnehanglab
What is XnneHangLab?
XnneHangLab (魔女の实验室) is an offline subtitle generation tool based on FunASR that provides a complete audio processing workflow including speech recognition, subtitle generation/editing, video downloading from Bilibili, audio cropping, loudness matching, noise reduction, and speech synthesis using GPT-SoVITS/Qwen-TTS.
Is XnneHangLab free to use?
Yes, XnneHangLab is completely free and open-source under the MIT license. You can download it from the GitHub releases page as XnneHangLab.zip and self-host it without any subscription fees or paid tiers.
What are the system requirements?
You need ffmpeg installed globally, uv (Python package manager), and optionally just (command runner). For GPU acceleration, you can configure PyTorch CUDA (cu118 for Windows), otherwise CPU version works on Linux/Mac by default. The models and environment are large, so adequate storage space is needed.
How do I install XnneHangLab?
Clone the repository with git clone, run 'just install-model' to automatically install dependencies and download model weights, then run 'just start' to launch. Windows users without just can manually run the uv commands shown in the README. Scoop can simplify dependency installation on Windows.
Can I use this for video subtitle translation?
Yes, one of the main use cases is downloading Bilibili videos, generating subtitles with FunASR, and translating them. This helps language learners improve Japanese skills by working with raw video content and generated translations.
What speech recognition models does it support?
It supports FunASR models including punc_ct-transformer_zh-cn-common-vocab272727-pytorch for punctuation, speech_fsmn_vad_zh-cn-16k-common-pytorch for voice activity detection, speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch for ASR, and SenseVoiceSmall. SenseVoice timestamp detection is being added.
Is there a web demo available?
Yes, you can access a demo at lab.xnnehang.top which is deployed via frp to the developer's desktop. However, the site may go offline during holidays when the developer is gaming, and it's not stable yet as the project is in active development.
Can I use XnneHangLab as an API backend?
Yes, the project provides FastAPI backend for some functionality. There's also a CLI tool under development that supports audio recognition and voice activity detection. You can integrate it as a backend service for your applications.
What is the roadmap for future features?
Planned features include batch processing support for audio, audio subtitle editing and fine-tuning, SenseVoice with timestamp model option, video recognition module, and重构 of yutto-uiya Bilibili video download into a new package.
How do I contribute to the project?
Contributions are welcome including bug feedback, user experience optimization, third-party library and model update reminders, and reasonable feature requests. See CONTRIBUTING.md for detailed contribution guidelines. The project is actively developed with daily commits.