Skip to content

Repository files navigation

NovelCast

NovelCast

让长篇故事在声音里保持连续

简体中文 · English · 日本語

Caution

下载前先看配置

NovelCast 目前只支持 Apple Silicon Mac(M1 及更新)与 macOS 26.2+。Intel Mac、Windows 和 Linux 尚无可用安装包。

这是一个在 1 天内完成的可运行 Demo。 它已跑通小说导入、章节改编、角色声线、配乐音效、分轨混音、质检与审阅;它仍然属于实验性工程,不承诺生产级稳定性。

使用方式 统一内存 建议可用磁盘 实际体验
界面、流程和假 Provider 测试 16 GB 10 GB 可运行,不生成真实成片
远程 LLM + 本地 TTS / ASR 16–24 GB 25 GB 适合体验核心制作链路
本地文本、TTS、检索与 ASR 32 GB 40 GB 模型串行调度,可完成大部分工作
完整本地模型组合,含 Music3 64 GB 60 GB+ 推荐配置

完整模型目录约需下载 35 GB 权重,工程中间件还会继续占用磁盘。8 GB 机器、Intel Mac 或无法升级到 macOS 26.2 的机器,请先看介绍片和代码,不要直接下载完整模型。

下载 macOS Demo · 从源码运行 · 报告问题


声音可以生成,连续性必须被守住。

NovelCast 是一个面向 Apple Silicon 的本地优先小说广播剧工作台。它把长篇小说拆成可恢复的章节生产图,让原文证据、人物身份、故事记忆、固定声线和可编辑音频工程留在同一条时间线上。

96 秒介绍片

NovelCast 96 秒介绍片

▶ 播放 720p 介绍片 · ⬇ 下载 1080p 高码率版

介绍片包含男女双声线、真实界面、Three.js 故事线动画和完整配乐,内置中文、英文、日文可切换字幕。

Demo 音频

第三章·起读点(5:49)

🎧 在浏览器中播放 MP3 · 下载音频

这段成片保留了旁白、角色对白、心声、配乐、音效和分轨混音,可以直接听出声线路由和章节连续性的效果。

界面

章节地图
章节地图:全书节点、制作状态和审阅策略。
身份与台本
身份与台本:说话人、旁白、心声与当前身份绑定。
分轨审片
分轨审片:对白、配乐与音效沿同一时间线回听。
故事圣经
故事圣经:人物状态、关系变化和未完线索持续写回。
模型管理
声音与模型:权重、许可、来源和资源占用集中管理。
制作旅程
制作旅程:整理故事、确定声音、制作章节、审听成片。

一部长篇,要记住什么

生成一句话是能力,守住一部长篇是责任。

广播剧里的角色会成长、失去、隐瞒、改变立场。声音跟着这些经历向前走。NovelCast 保存的是角色在当时是谁,也保存他为什么会用这样的声音说话。

声音是人物经历留下的证词。

每句台词保留原文引用或明确的改编标记;每次审阅保留修改、模型与失败记录;每章通过后,角色状态、关系变化和未完线索才会进入下一章。

创作可以冒险,工程必须留下回得去的路。

制作链路

flowchart LR
    A[本地小说] --> B[章节拆分 / source_ref]
    B --> C[全书地图 / 角色 / 故事圣经]
    C --> D[检索与证据核验]
    D --> E[场景与广播剧台本]
    E --> F[身份 / 连续性门禁]
    F --> G[TTS / BGM / SFX]
    G --> H[分轨 / Ducking / QA]
    H --> I{创作者审阅}
    I -->|通过| J[提交故事记忆 revision]
    I -->|修改| K[重跑当前章节]
    J --> L[WAV / MP3 / Stems / Manifest]
Loading

已跑通的能力

  • 导入 TXT、Markdown、无 DRM EPUB、DOCX、文本 PDF、HTML、RTF、章节文件夹与 ZIP。
  • 稳定 source_ref、台词出处、改编标记与可审计检索收据。
  • SQLite FTS5 / sqlite-vec 混合召回,仅向当前章提供旧章证据。
  • 角色卡、身份路由、Qwen3-TTS 选角 / 克隆 / 预置声线。
  • 对白、心声、旁白、音乐和音效分轨,含 ducking 与审听。
  • ASR 回听、漏字 / 错读、声线一致性、配乐人声泄漏检查。
  • SQLite WAL 作业队列、崩溃恢复、取消、缓存键、章节级重跑与依赖失效。
  • 48 kHz / 24-bit WAV 母版、MP3、stems、cue sheet 和制作 manifest。
  • DeepSeek / OpenAI-compatible 远程文本 Provider 与本地 MLX 音频 Provider。
  • 密钥进入 macOS Keychain;本地 API 仅绑定 loopback,每次启动生成独立令牌。

下载 Demo

前往 GitHub Releases 下载 NovelCast_0.1.0_aarch64.dmg

Warning

当前 macOS 包未经 Apple 签名与公证。首次启动如被 Gatekeeper 拦截,请在 Finder 中右键应用并选择“打开”。只从本仓库 Releases 下载。

模型权重不进入安装包。首次使用时,在“声音与模型”页按需阅读上游许可并下载。

从源码运行

环境

  • Apple Silicon Mac
  • macOS 26.2+
  • Python 3.12
  • Node.js 22
  • Rust stable
  • uv

只验证后端流程

git clone https://github.com/mycyg/NovelCast.git
cd NovelCast
uv sync --python 3.12 --extra dev
uv run novelcast serve --fake-providers --print-token

假 Provider 会生成确定性短音和结构化测试数据,适合验证合同、作业队列和导出链路。

启动桌面应用

cd desktop
npm install
npm run tauri dev

Tauri 会启动 Python sidecar、注入一次性令牌,并从 macOS Keychain 向服务进程内存传递必要凭据。

默认模型

用途 默认选择 下载 / 估算内存
本地故事整理 Qwen3 4B Instruct 4-bit 2.4 / 4 GB
声音设计 Qwen3-TTS VoiceDesign 1.7B 8-bit 2.9 / 5 GB
固定角色音色 Qwen3-TTS Base 1.7B 8-bit 2.9 / 5 GB
预置与情绪声线 Qwen3-TTS CustomVoice 1.7B 8-bit 3.1 / 5 GB
长篇检索 Qwen3 Embedding 0.6B 8-bit 0.7 / 1.5 GB
人声增强 MossFormer2 MLX FP16 0.3 / 1.2 GB
本地配乐 MiniMax Music3 MLX 8-bit 14.2 / 20 GB
音效 / 备用配乐 Stable Audio 3 Small 2.9 / 4 GB
回听质检 Qwen3 ASR / Whisper / ECAPA 5.2 / 7.5 GB

模型的精确 revision、文件清单、许可和下载源见 models/catalog.json。重型任务默认串行执行,防止统一内存被多个模型同时占满。

测试

uv run ruff check backend
uv run pytest
cd desktop && npm test && npm run build
cargo check --manifest-path desktop/src-tauri/Cargo.toml

端到端测试覆盖导入、全书分析、角色合并、章节台本、音频分轨、审阅提交、Markdown 镜像、下游失效与工程包导出。

仓库结构

backend/                 FastAPI 核心服务、Provider、作业队列与制作管线
desktop/                 React + Tauri v2 桌面工作台
models/catalog.json      固定 revision 的模型目录与资源估算
scripts/                 sidecar 构建、模型转换与运行时工具
media/demo/              介绍片与广播剧 Demo 音频
docs/assets/             README 截图与媒体封面

安全与声音权利

  • Provider 凭据由桌面端存入 macOS Keychain,不写入项目文件。
  • 本地 API 只绑定 127.0.0.1,每次启动使用新 bearer token。
  • 参考声音保留在本地。使用者必须确保声音来源与用途合法、合规、已获授权。
  • 泄漏的 API Key 应立即在服务商后台撤销,然后换用新 Key。

详见 SECURITY.md

许可

应用源码采用 MIT License。模型权重、FFmpeg 与各运行时保留上游许可,详见 THIRD_PARTY_NOTICES.md


NovelCast 是一天里长出来的 Demo。它还很年轻,但它已经能让一个故事开口,并尽力记住下一章该如何继续。

About

Apple Silicon 本地优先小说广播剧工作台:角色声线、故事记忆、分轨混音与可审阅制作链路。

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages