Skip to main content

听书

Project description

摸鱼听书

写程序很多时候是重复工作,听音乐没细胞,那就听听书洗洗脑子吧

原因

阅读 app 听书很方便,但是我喜欢带着电脑上的头戴式耳机,所以想在电脑上听书

  • 需要结合 阅读 app
  • 可以免费用 微软晓晓听书
  • 阅读进度与手机同步

👍 现在也支持阅读本地 txt 文件,并自动记录阅读进度,中断以后继续朗读而不重头开始

使用方法

如果你在使用 python3 下面的很容易

环境配置

只需配置一次

  1. 这里下载并安装 heartale*.whl

    非 linux 系统可能需要设置播放程序,安装ffmpeg即可,看最后详细说明

  2. 测试是否修改成功

    终端输入

    echo "配置成功!" > /tmp/test.txt && heartale
    

    如果听到 "test,配置成功",说明没问题

朗读类型

默认 txt,设置中

"server": {
    "key": "txt",
...
}

本地 txt 文件

修改本地配置 ~/.config/bpy/config.json,其中的

"txt":{
    "path_file": "/tmp/test.txt"
}

中的 /tmp/test.txt 改为 你的书籍文件所在路径

阅读 app

  1. 打开 阅读app 的 web 服务

    手机与电脑同一个局域网,然后打开 阅读 app,设置中点开 Web服务,注意那个 ip 地址(: 后面是端口)

  2. 修改本地配置文件 ~/.config/bpy/config.json

    其中

    "ip": "192.168.1.6",
    "port": "1122"
    

    里面的 192.168.1.6 改成刚才你看到的 ip,端口 1122 一般不用改

  3. 修改如下内容中的 txtlegado

    "server": {
        "key": "txt",
    ...
    }
    

运行

终端运行

heartale

其他配置

配置文件路径

~/.config/bpy/config.json

完整配置文件,如果修改错误,可以这里找到原始文件,还原

{
  "version": 1,
  "server": {
    "key": "txt",
    "legado": {
      "ip": "192.168.1.6",
      "port": "1122"
    },
    "txt": {
      "path_file": "/tmp/test.txt"
    }
  },
  "tts": {
    "play": {
      "code": ["paplay"]
    },
    "download": {
      "key": "edge",
      "edge": {
        "voice": "zh-CN-XiaoxiaoNeural",
        "rate": "+30%"
      },
      "azure": {
        "key": "",
        "region": "japanwest",
        "language": "zh-CN",
        "voice": "zh-CN-XiaoxiaoNeural",
        "rate": "+30%"
      }
    }
  }
}

音频播放程序

默认针对 linux,使用 paplay,资源消耗极小

"tts": {
    "play": {
        "code": [
            "paplay"
        ]
    },
...
}

可以用 ffmpeg

"tts": {
    "play": {
        "code": ["ffplay", "-nodisp", "-autoexit", "-loglevel", "quiet"]
    },
    ...
}

也可以用 mpv

"tts": {
    "play": {
        "code": ["mpv"]
    },
    ...
}

TTS 转语音

  • tts-edge

    免费,不用设置密钥,但是音色少

    {
        # 支持的语言和音色:edge-tts --list-voices
        "voice": "zh-CN-XiaoxiaoNeural",
        # 语速
        "rate": "+30%"
    }
    

    推荐的音色:

    • XiaoxiaoNeural
  • azure

    学生有免费额度,必须申请并设置密钥 🔑,音色更多

    {
        # 密钥必须设置
        "key": "你自己的密钥xxxxx",
        # 区域与你申请密钥选择的区域有关
        "region": "你申请的区域比如:japanwest",
        # 看这里多语言、语音选择:https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/language-support?tabs=tts
        "language": "zh-CN",
        "voice": "zh-CN-XiaoxiaoNeural",
        # 语速
        "rate": "+30%"
    }
    

    推荐的音色:

    • XiaoxiaoNeural
    • XiaochenNeural
    • XiaochenMultilingualNeural
    • XiaoshuangNeural
    • XiaoyouNeural

贡献说明

请保证严格遵守 pylint (至少python3.8)

pylint $(git ls-files '*.py')

后续开发说明

  • 大概会做 ui
  • 大概会做朗读本地 pdf、txt(已支持) 等格式文本

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heartale-0.0.1.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

heartale-0.0.1-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file heartale-0.0.1.tar.gz.

File metadata

  • Download URL: heartale-0.0.1.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for heartale-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ac34797c8448f0360c51929ac12fafbbc664eda43d2d425f3d2eb11aaddbe93b
MD5 9d90df3384f3f87e1838db864a0e2bb3
BLAKE2b-256 60012a39a0aaa159f25682ce62707788b0c5fac5f2ce8e6a782dde4b29e634e1

See more details on using hashes here.

File details

Details for the file heartale-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: heartale-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for heartale-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2410fe2c3eafda92fb12ea455bdbad9a78ad4522131e08b8708439c486a15026
MD5 b63e1520bc033cd083a08e99ed362584
BLAKE2b-256 cd85705ccd953b36f310e4eb7d294bedccc3198226ee8030b66235390877dfe2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page