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.2.tar.gz (19.2 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.2-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: heartale-0.0.2.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for heartale-0.0.2.tar.gz
Algorithm Hash digest
SHA256 c0999ff3c0f71084c3fcbd32dae85359afd912ec34fa3577f83825d7773b3da4
MD5 d86ba6d0c8519002adc5e17b78a35b09
BLAKE2b-256 7f5fed3dd4bf211d28c053739f2a65cba83c5939c34ca46ca82dd51182bb9af4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: heartale-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for heartale-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a3b6ecf3d6fa9edcf73d9ae91dcc32b89b8d0da855c4ed93bff10698d175edaf
MD5 b33c9324a4b61cc7fbd2525fabed37f8
BLAKE2b-256 9bd7fcdf8441d167289bcabf1818a4b65b96a5cefece3aced8b8cf638a72b3c0

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