Skip to content

neqq3/ebook_tts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

Ebook TTS for Home Assistant

这是一个 Home Assistant 自定义组件,可以利用你现有的 TTS 服务来朗读本地的 .txt 格式电子书。它可以自动将文本拆分成自然的句子,并记住你的阅读进度。

主要功能

  • 本地文件读取: 从配置的本地目录读取 .txt 文件。
  • 智能分章: 支持按正则自动识别章节,或按固定长度分段。
  • 断点续播: 自动记录每本书的阅读位置(章节和段落),重启 HA 后依然记得。
  • 媒体库集成:
    • 在 Home Assistant 左侧“媒体”栏目直接浏览所有书籍。
    • 支持按章节分组浏览(每50章一组),防止大量章节卡顿。
    • 点击任意章节即可直接调用播放器播放。
  • 播放控制: 提供标准的播放、暂停、上一曲(上一章)、下一曲(下一章)控制。
  • 无缝切书: 在媒体库中切换书籍时,会自动停止当前播放并加载新书,避免音频混叠。

准备电子书文件

在配置集成之前,你需要将 .txt 格式的电子书放入 Home Assistant 可以访问的目录。 例如,通过 Samba 访问 Home Assistant 的 /media 目录,并创建一个 ebooks 文件夹:

Samba Upload

提示: 请记住这个路径(例如 /media/ebooks),在配置集成时需要填写。默认是 /media/ebooks,如果不存在,会自动创建这个路径。

安装方法 (HACS)

  1. 在 HACS 中点击右上角菜单,选择 Custom repositories
  2. 添加本仓库地址: https://github.com/neqq3/ebook_tts
  3. 类别选择: Integration
  4. 点击 Download 下载。
  5. 重启 Home Assistant。

配置

  1. 前往 设置 > 设备与服务

  2. 点击 添加集成 并搜索 Ebook TTS

    Config Flow

  3. 填写以下信息:

    • Source Path: 存放 .txt 电子书的绝对路径 (例如 /config/www/books/media/ebooks)。
    • TTS Service: 你想要使用的 TTS 服务实体 ID (例如 tts.google_translate_saytts.edge_tts)。
    • Target Player: 实际播放声音的媒体播放器实体 ID (例如 media_player.living_room_speaker)。

使用说明

方式一:媒体播放器卡片 (推荐)

这是最稳定和推荐的使用方式。

  1. 在仪表盘中添加一个媒体控制卡片,实体选择 media_player.ebook_reader (或你自己命名的实体)。

  2. 点击卡片上的 浏览媒体 图标选择书籍。

    Player Card

  3. 在浏览界面中选择书籍和章节,点击即可播放。

    Book List Chapter Groups

方式二:侧边栏媒体库 (实验性)

  1. 点击 Home Assistant 左侧边栏的 媒体
  2. 选择 电子书 TTS 图标。
  3. 浏览并点击章节播放。
    • 注意:侧边栏模式下的体验可能不如卡片模式流畅,建议优先使用方式一。

注意事项

  • 目前仅支持 UTF-8 或 GB18030 (兼容 GBK) 编码的 .txt 文件。
  • 确保 Home Assistant 对你配置的 Source Path 有读取权限。
  • TTS 服务的生成速度取决于你的网络或本地硬件性能。

About

让 Home Assistant 变身有声书阅读器,支持本地 TXT 电子书。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages