分类目录归档:产品

阻止 GitHub Desktop 自动更新

我的 Mac 笔记本比较老,服役已经超过了 10 年,越来越多的软件在更新后就不再支持 Big Sur 了,碰到了好几例更新后不能用的情况,有的可以设置不要自动更新,有的则无法设置,GitHub Desktop 便是其中无法设置自动更新的。

GitHub 桌面版 GitHub Desktop 使用的是 Electron 框架开发,它的自动更新机制 Squirrel 非常「顽固」,软件设置中没有提供关闭自动更新的选项。

如果当前使用的操作系统不再被新版本的 GitHub 支持,更新后就无法使用,然后就得去寻找最后一个支持的版本,重新安装,这样反反复复比较麻烦,能阻止它自动更新就不用这样反反复复了。

在 Windows 系统中,GitHub Desktop 是使用 Update.exe 「如下图」这个文件来完成更新的,把这个文件删除或者随便找一个文件改成 Update.exe 这个文件名替换掉它,这样更新就找不到这个更新程序了。

mac 中最简单的就是将 GitHub Desktop 这个应用程序锁定,这样就不会覆盖这个应用程序了。在访达中打开「应用程序」文件夹,找到 GitHub Desktop,右键点击它,在弹出菜单中选择「显示简介」,在弹出的窗口中,勾选「已锁定」即可。

Windows 系统中好像也可以通过设定为「只读+关闭执行和写入权限」来解决。

另外更新要连接更新服务器检查,可以在 Hosts 文件中修改来阻止其连接更新服务器,操作 Hosts 文件需要系统管理员身份,Windows 的 Hosts 文件在 C:\Windows\System32\drivers\etc\hosts , macOS 的 Hosts 文件在 /etc/hosts

在文件的末尾添加下面这一行:

127.0.0.1 central.github.com

这样设置后,Github Desktop 认为当前没有网络连接或没有新版本。

最后在本地的硬盘上保留一份最后支持的版本,这样有问题就不用上网再去寻找了。

整理完这份文档后,发现 Visual Studio Code 也是出现了同样的问题,这主要都集中在我的 Mac 上,太老了,好在 Visual Studio Code 在设置中有关闭自动更新的选项,终归还是电脑太老了,虽然我看了网络上有跳过 Apple 限制升级到新系统的方法,还是先不要冲动。

比较崩溃的是 Notion 没有留存老版本,结果更新后直接不能用了,我寻找了半天,最后只寻得 2.1.2 版本,我决定直接在浏览器上先凑合用一下,平常由于慢和手机上操作不太方便,现在在 Notion 上记录的内容也少了很多,就记录一下我读书的记录,实在不行先在 Windows 本上用用。


最后,我还是把经常用的软件都加了个锁,看看今年苹果新发布的本,也是时候换一个新的开始投入战斗了。

AI 小练手

日常使用 AI 主要是与 AI 交互的过程中解决单一的问题,比如寻求问题的解答,文字或者图形的创建等等,这中间对我最有帮助的是使用 AI 学习。这次看看让 AI 自己独自完成编程开发是怎样的一种体验,并为自己建立一个学习其背后技术栈的直观的脚手架。

整个练手跟 AI 交互的时间大概是 30 分钟左右,统计计时如下图「当然这也是 AI 帮助统计的」。

最终的效果如下图「电脑浏览器和手机浏览器」。

下面记录一下练手的过程,大体上跟我在使用 AI 学习的过程类似,先写一个文档,依照程序员的惯例,来一个 README 文件,简单的将要做的工具做一个描述,其内容如下图所示。

这是一个 MarkDown 格式的文本文件,在文档包括两部分内容,一部分是描述想要做的工具的是什么样,另一部分是最下面三个短划线后的内容。

在这里大概说一下这个文档,我在平时也是基于这样的文档来进行学习的,先将我学习过程中理解的和有问题的部分都写一个这样的文档,然后在跟 AI 交流的过程中不断的丰富这个文档,当然是交互中 AI 帮我丰富的,然后我再阅读再交流,循环这样的过程来完成学习,还不错。在上面的图中下面有三个短划线,在这下面就是跟 AI 互动的过程中记录的内容,我在练手开发的同时,记录这些交互的过程便于我进行学习。

这次使用的开发 IDE 是 Windsurf,可以搜索或通过 https://windsurf.com 下载安装,具体的使用方法网上有很多教程,官网也有文档,可阅读后使用。安装后需要登录,登录后就可以使用了,目前有 GPT-4.1 模型可以使用,好像有 7 天限免,这次练手就是用的这个模型「好吧,现在好像已经过了限免期了」。

在电脑上为这个小工具建立一个目录,然后将 README 文件放在这个目录下,使用 Windsurf 打开这个目录,然后在右边的 Chat 录入框中录入「整个目录下有一个 README.md 文件,请按照文件中的要求帮我实现这个工具,目录自动创建。」,录入后回车,Windsurf 就开始了它的工作,一会就完成了。

整个过程基本上没啥问题,就是检测到我没有安装 next 而且 node_modules 目录缺失,我按照检测到的情况安装后就一次性完成了。

后续做了一些微小的调整,主要是添加分割线、二维码、给每个卡片增加随机渐变色、标题居中、二维码图片大小等这样的调整,它也很快的帮我完成了,就是上面最终的效果。

完成了这些工作后,我让它帮我统计了一下工作的时间,正如最上面的截图,它完成的也不错,完成这些后,我就让它把今天所有的过程交互信息「包括录入框上面的所有内容」都追加到 README 文件中,这样就有了一个完成今天工作的全过程记录,便于我学习这个技术栈的各部分内容。

这次练手的目的有两个,其一是体验一下使用 AI 相对完整地开发一个小工具,看看会碰到哪些问题或者带来哪些惊喜;其二是想学习一下 JavaScript(TypeScript)、Next.js、tailwindcss,先有个直观的展示,然后循序渐进开始学习。

这次的体验整体上不错,快速的实现了我想要的东西,这为我的学习算是搭了一个脚手架,从这个脚手架可以开始我的学习之旅了,我的目的算是达到了。

最后的一点儿个人想法:

我略微懂一些 JavaScript 和一些 CSS,对于 TypeScript 只了解一点大概的概要,而对 Next.js 则是听说不少人在用,自己则完全没有接触过,就我这样,在描述概要的文档后,这种带 AI 的 IDE 能快速帮我完成我想要的,确实给人来带来了效率的提升,那么不在 IT 行业的人,如果有好的想法,AI 工具就会是很好的助力让其一展身手。那在 IT 行业的程序员呢?我想应该让这些 AI 工具辅助提升自己工作效率的同时,应该不要忘记还要认真的对于背后的技术做长期系统的学习。

目前与 AI 的互动乍一看是通过自然语言进行的,但其实要想获得好的互动,这些自然语言是要有一定的结构化的,这些结构化的自然语言被称为 Prompt ,我个人的感觉是这并非最终的 AI 互动形式,只是一个中间的过渡期,如果从程序员的角度看,我个人的理解是可以把目前的 Prompt 看作一种新型的编程语言,只是这个编程语言扩大了使用人群的范围,我们使用 AI 就是在编程,人人都是程序员,想要编的好就要有跟 AI 模型匹配度高的结构化语言。


PT 体验小记

什么是 PT ?PT 是 Private Tracker 的首字母缩写,它是一种基于 BitTorrent 的 P2P 下载的一种方式,它与 BT 最大的不同是它是在私密范围内进行下载,并且记录每一个用户的详细信息。

由于它具有私密性,所以一般提供 PT 服务的平台或者社区(在下文中统称为 PT 站)是非公开的,可以把这个平台理解成一个私密的种子市场。在这个市场中,想成为它的用户,通常情况下有两种方式,一种是获得邀请,另一种是通过捐献,当然 PT 站偶尔也会在特定的时间段做做活动,搞个开放注册。成为用户后,会得到一个 passkey ,PT 站使用 passkey 来辨识每个用户,用户从某 PT 站下载种子后,这个种子带有用户的 passkey ,同时也通过 passkey 来计算用户的账户流量。

PT 站通过 passkey 统计用户的上传及下载,大多数 PT 站会以上下载比例(分享率)规定用户需上传多少后才可下载多少,有些站甚至会以用户上传及下载的内容等做积分值,分享率过低者会被系统取消使用 PT 的资格。由于需有足够的分享率方可下载,因此有些使用者会租用网路上有大频宽的种子盒子以提高自己的上传率。

通俗来讲,PT 站可以理解为是一个提供 BT 下载中「人人为我,我为人人」的这么一个地方。

搭建 PT 站有现成的产品,比较常用的 PT 站的服务器端系统有 Gazelle、NexusPHP 等,要做 PT 站需要首先在服务器上架设好服务器端系统,然后设置自己的规则体系,接下来就是运营这个私密的社区,种子的丰富和高质量是吸引人来参与的基础。用户下载种子内容的客户端工具同样也不少,比如 qBittorrent,Transmission 等。

在如今各种资源满天飞的互联网上, PT 站一方面是私密的,另一方面又有严格的规则,在使用中会统计考察一系列指标,为什么还有相当一部分人在玩这个,它有什么优势呢?

在我简单的体验之下,其优势大概可以归结为三个方面:

  • 下载速度快
  • 资源更新快
  • 资源质量高「蓝光高清片源的首选之地」

正是由于其私密性的门槛和设计的规则,使得大家在一边下载资源的同时,一边贡献上传量,真正体现了 P2P 这个对等网络的最大效用,在这里人人为我,我为人人。在 PT 站下载资源,每个人既想很快地完成资源的下载,又想让自己多上传一些(让更多人从自己这里多下载),在自己下载完后为了便于别人从自己这里依旧能下载,会一直保留着做种。这样就会使得在下载的时候速度很快,速度的瓶颈主要取决于自己的网络。

这跟传统的 BT 下载不太一样,传统的 BT 下载大部分人会在下载的时候设置下载的速度最大,上传的速度给一个很小的值,甚至有人会直接设置上传速度为 0 ,下载完后通常会第一时间关闭退出,也不做种。所以我们在使用 BT 下载的时候,很多时候速度并不是很快,而且总是下载着下载着就没有种子了,于是就停留在 99.9% 这样的状况。

另一个优点是其资源更新是很快的,尤其是越大的站,其资源更新的越快,资源更新快意味着能够早先一步获取资源。

第三个优势是资源的质量高,是蓝光高清片源的首选之地,这个就不多说了。

在优点的另一面是它也有其不方便的地方。首先每个 PT 站规则的学习有一定的成本「各站规则多少有些不同」,这些规则首先要弄清楚,要不说不定玩两天账号就被禁了。其次,它有一定的进入门槛「土豪捐赠进入不在此列」,你要等待其开放期间才能注册获得账号,或者就是通过其他人获得邀请码这样的方式进入。再次,如果更好的玩 PT 站,可能需要搭建一套系统,这需要额外一笔费用支出。

一个新手应该从小站点开始先玩玩看,那么怎么玩呢?

首先要有 PT 站的账号,获得账号的途径有三个:别人发的邀请码(俗称求药);自费捐赠加入(捐一个月or 捐永久vip);PT 站点开放注册时,自己注册加入。

一般被邀请入站和自己注册入站的用户,会有新手考核。考核按照规定的要求完成即可,每个站点的新手考核可能略有不同,但大概会有三个维度的考核:上传、下载、经验值,需要在规定的时间内完成这些指标。

下载这个是第一容易完成的,挑几个对应大小的的种子,注意要找有下载统计的也就是非 Free 的种子,完成下载即可。经验值可以通过多挂几个小种子,下载完成以后持续保留做种子,再辅以站内针对经验值的活动,完成活动即可,这个是第二容易完成考核的。比较麻烦的是上传,这个要找不统计下载量的 Free 种子,这样让下载量不被计算在内,下载完后继续做种,别人从你分享的这里获得数据,你的上传量就有了,这里应该选择热门、不太大的 Free 种子,然后一直挂着就行。

具体还要看各站的具体要求,然后读一下具体的规则,一般都能完成考核的各项指标。要注意的是一定要不要做规则中不被允许的事,否则轻则账号不保,如果你是通过邀请码获得的账号,可能还会连累上家。

我自己是从 HD Time 开始玩的,刚好在其开放注册的时候注册了一个账号,我没有搭建系统来玩,用的是自己的电脑。

注册完毕后,会提示新人考核任务,如下图所示,其中有考核时间,这里是一个月的时间,在这段时间内,有 4 个考核指标,分别是上传增量、平均做种时间、下载增量和魔力增量。

新手任务中除了魔力增量之外,其他的指标完成在上面都讲了,只要每天在开机的时候挂着 PT 客户端就基本能够在给定的时间内完成任务,这里我使用的客户端是 qBittorrent 。魔力值通过做种和日常的签到也可以轻松达到指标,如下图就是每日签到给的魔力值。

在 PT 站中有一个个人信息的展示区域,如下图所示,这里显示个人的一些相关数据,需要特别注意的是图中 可连接:否 ,这其实是不太正常的,会大大减小你这个节点被发现的概率,会很大程度上影响上传量,正常情况这里应该显示为才对,这需要两个条件:其一是你需要在外网有一个固定的 IP 地址。第二对自己的路由做端口映射。我查了一下我的 IP 地址并不是固定的,要向宽带运营商提出申请才行,至于端口映射相对比较容易,登录路由器在找到端口映射部分的设置,映射到你用作 PT 的机器的 IP 地址即可。我主要是小玩试试 PT,所以也就没有申请进一步操作。

本来想做个一些 PT 站点的列表,后来想了想还是不具体给出了,如果需要可自行搜索或私信我获得,由于 PT 站的私密性,所以仅仅获得地址用处不大,可以搜索一些介绍 PT 的相关社区,他们会有一些邀请码什么的,具体都有哪些社区,这里也不推荐了,很容易就能搜到。

在我看来喜欢玩 PT 的只要有一个大站的账号就足够了,但也不妨有很多专业玩家会有很多个 PT 站的账号,随着这种情况的出现,自然辅助的衍生产品也就出现了,这里主要说两个,一个是面对 PT 站本身的,另外一个是针对这些 PT 下载的内容管理的。

PT 助手 Plus 是一个浏览器插件,支持 Chrome、Firefox 和 Edge ,是一个能够提升 PT 站点使用效率的工具。正如其名,它是一个助手,能够辅助管理多个 PT 站点的账号以及搜索并显示这些 PT 站点的资源。这个工具是开源的,可以在 GitHub 上获得它,包括如何使用。在目前我查看的时候,这个工具针对 Chrome 和 Firefox 的版本已经下架。

另一类的衍生产品就是针对用 PT 下载下来的内容进行管理的产品,比如如果你对影视感兴趣,可能针对内容建立一套家庭影视系统。如果你对音乐感兴趣,可以打造一个音乐中心。也就是你可以建立自己的媒体库,这方面也有不少的系统可供选择和使用,比如搜索 Emby 能找到媒体管理的方案。

单的一圈尝试下来,真要玩好这个也是需要不少银子的,你得经常在线,我看了一圈这个比较适合搭建有群晖或类似群晖系统的用户,或者有常在线服务器的用户,普通用户玩玩即可,毕竟在现在除了 PT 之外有不少网盘资源在各种渠道流转,这已经满足大部分人的日常所需。

最后来一点畅想,PT 统计流量的上传和下载,这中间各个分布于各点的设备是参与了劳动的,那么这些劳动是否能够结合一下区块链?可能更小类别垂直的 PT 站,结合私有 Web 内容管理平台给家庭提供服务(比如家庭教育)的产品也是一个可以探索的点。唯一不好的就是这些内容可能并不怎么合规。


本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号

在 Ubuntu 20.04 LTS 上安装 SSL 证书

今天抽时间给自己的几个网站加上了 SSL 证书,SSL 证书是从腾讯云上申请的免费 SSL 证书,有效期为一年,从申请到配置比较顺利。

申请&下载

登录到腾讯云[1]上,搜索产品 SSL,找到 SSL 证书产品[2],进入该产品首页,也就是你的 SSL 证书概览,在这里左边是导航菜单,中间的内容区会显示证书申请状态和监控状态等概览信息,右边则是一些帮助信息,如下图所示。

在左边导航菜单中选择「我的证书」,会显示当前你申请的所有的证书,在中间功能按钮区选择「申请免费证书」按钮,如下图中红色箭头所指的按钮,即可开始进行免费证书的申请。

首先在弹出的页面上选择证书类型,免费版的目前只有一个,可以看到有效期只有一年,直接确定就行。

接下来是第一步提交材料,需要填写一些信息,要提交的资料主要是证书要绑定的域名以及申请邮箱,填写对应的信息即可,然后进入第二步「选择验证方式」。

第二步选择验证方式主要是验证你之前填写的绑定证书的域名是你的,使用推荐的「DNS验证」即可,选择下一步按钮进入第三步「验证域名」。

第三步验证域名需要你在你的域名中添加一条解析记录,在你的域名托管平台中找到你要绑定证书的域名,然后在域名解析中添加一条 CNAME 的解析记录,在解析记录中对应填写下图中的「主机记录」和「记录值」,解析记录添加完毕后,选择「查看域名验证状态」看看是否完成验证,如果完成验证,剩下就是等待证书的签发,基本上不到 1 分钟就能拿到发放的证书了。

这时候通过左边导航菜单回到「我的证书」菜单,如果上面操作无误,就能看到自己的证书了,在「我的证书」中签发下来的证书上选择「下载」,弹出如下图所示的页面。证书下来后我们需要安装到服务器上,所以我们可以先按照我们的服务器类型把证书下载下来,到这里我们的证书就已经申请完毕了,剩下的就是把下载的证书安装到服务器上。

上传&安装

我的服务器系统是 Ubuntu 20.04 ,Web 服务器软件使用的是 Apache ,所以在下载证书的时候选择服务器类型为 Apache 类型的下载,下载后解压缩,有四个文件,我们以申请证书的域名是 example.com 举例来说(在实际使用时将域名替换为自己到域名即可),那这四个文件分别是:

  • root_bundle.crt 证书文件
  • example.com.crt 证书文件
  • example.com.key 私钥文件
  • example.com.csr 系统在线生产文件,这个安装的时候不用

将证书文件和私钥文件拷贝到服务器上一个目录中,我是拷贝到了 /etc/apache2/ssl/example.com/ 这个目录下面,可以使用 scp 命令进行拷贝,也可以使用 scp 工具拷贝。

拷贝完成后,用 SSH 远程登录服务器,在虚拟主机配置文件中添加证书信息,比如在 /etc/apache2/sites-available 目录中,找到要配置 SSL 站点的配置文件,例如:example.com ,则对应到该目录下的 example.com.conf 文件,将配置信息修改为如下信息即可。

<VirtualHost *:443> 
	ServerAdmin admin@example.com 
	ServerName example.com 
	ServerAlias www.example.com 
	DocumentRoot /var/www/html/example.com/public_html/ 
	DirectoryIndex index.html 
	
	# SSL configuration 
	SSLEngine On 
	SSLCertificateFile /etc/apache2/ssl/example.com/example.com.crt 
	SSLCertificateKeyFile /etc/apache2/ssl/example.com/example.com.key
	SSLCACertificateFile /etc/apache2/ssl/example.com/root_bundle.crt 
	
	# Log files 
	ErrorLog /var/www/html/example.com/log/error.log 
	CustomLog /var/www/html/example.com/log/access.log combined 
</VirtualHost>

<VirtualHost *:80> 
	ServerName example.com 
	ServerAlias www.example.com 
	Redirect permanent / https://example.com/ 
</VirtualHost>

完成站点配置文件修改后, 在命令行运行 a2enmod ssla2ensite example.com 启用这个修改后的配置,紧接着 service apache2 restart 重启 Apache 服务器,这样证书就安装完了,再访问网站时域名前就能看见小锁了。


本文中引用的资源:

1: 腾讯云:https://cloud.tencent.com/
2: 腾讯云 SSL 证书产品:https://console.cloud.tencent.com/certoverview

– EOF –

阅读时眼睛疲劳怎么办,或许可以让设备朗读给我们听

随着年龄的增长,眼睛在阅读东西的时候可能就有些费劲,这时候对于电子屏幕上要读的文字可能就有通过听来获取的需要。前阵子一个朋友向我询问,问这种情况有没有好的解决方法,在大概聊了一下他的使用场景之后,我给他提供了一个解决办法,基本上解决了他的日常使用。

后来我又想了想,这就是在某种场景下,有将文字转成语音作为输入的需求。也就是将信息获取的方式由视觉系统转变为听觉系统,除了视障者之外,视觉正常的人在日常很多场景下也是有这个需求的,比如在通勤的路上、在开车的途中、在家务劳作的时候等等。

对于这方面的需求,目前一方面有专门做音频内容的产品,另一方面是很早就有的将文字转换成语音进行朗读的产品,它基于文字转语音(Text-To-Speech)这个系统,属于语音合成这个范畴,我最早接触的是微软开发的,如果没记错的话在 Windows 95 系统上就有,记忆中当时听来那是相当的生硬,早期的开发中在语音播报的场景中有一些应用。

专门基于音频内容的产品其音频内容是固定的,取决于音频内容本身和你的选择,如收音机、播客或使用 U 盘拷贝的音频内容,而这些音频内容一般由真人操作,实时或提前制作好供使用者选择。而文字转语音就比较个性化了,取决于你想让它读什么文字材料,然后针对这个文字材料进行实时的语音合成,通过声音设备输出,这就像直播中的主持人,只不过真人换成了机器设备。

早些年听机器朗读特别的生硬,基本上丝毫感受不到感情,近几年倒是没有尝试,趁着这次朋友的询问机会,最近断断续续的在各个地方再次做了一番尝试,针对它们提供的服务及其效果,在此做个记录。

我尝试的设备主要有手机和电脑,这也是目前大部分人日常使用的设备。手机两部,分别是 iPhone 和华为荣耀,两台笔记本电脑,分别是 Macbook Pro 和 Windows 笔记本,这也是我自己日常使用的设备。

1. 手机

1.1 利用手机自带功能
iPhone

在 iPhone 中,如要进行语音阅读屏幕文字,可通过 设置 – 辅助功能 – 朗读内容 进行设置,有两个选择,操作如图简洁明了,如下图所示。

当打开朗读所选项和朗读屏幕这两项功能后,如下图所示,即可按照其下方的提示操作进行内容的朗读,比如在选择文本时,会出现「朗读」按钮,双指从屏幕顶部向下轻扫就开始屏幕内容朗读了,我分别进行了尝试,比以前好很多,可能还有不小的提升空间,但听起来已经可以接受了。打开这两项功能后,进一步会出现「语音控制器」和「高亮显示内容」两个选项,打开前者会在屏幕上浮动一个小按钮,可在任何想要朗读的地方使用这个按钮来操作。高亮显示内容打开后则在朗读的时候以高亮的方式告诉你当前读到哪里了。

整体来讲 iPhone 上的朗读操作起来还是比较容易的。特别提一句,在声音中可以选择不同的语言和当下语言中的声音,在这里我选择的是中文下的「Siri 声音 2(中国大陆)」,可供选择的声音还有「婷婷、语舒和 Siri 声音1」。屏幕中间的工具条是「语音控制器」浮动按钮展开后的内容,可进行翻页和调整朗读语速。

总体来说,利用 iPhone 手机系统提供的功能,还是能够很容易地操作,并朗读屏幕上的内容,听起来也还算可以,如果你有这方面的需要,可以试着把玩一番。

Android 系列

这个就比较遗憾了,我在我的手机中找到了系统提供的功能,但我在我的手机上并没有试出来我所期待的功能,我通过「设置」->「智能辅助」->「无障碍」->「随选朗读」进行设置,但是我设置完后始终就是不能让它能够朗读起来,遂作罢。

虽然没能体验成功,我还是浏览了一番它使用的引擎,用的是讯飞语音引擎,坊间一直有说讯飞家的语音出类拔萃,可惜未能在此体验一番。

1.2 利用手机上的 App

系统提供的是全局的功能,但在我们平常使用的时候更多的是基于一些少量的场景,对于将文字转换成语音输出的这个需求,更多的是对应一个想要朗读的文档,比如 Word、PDF 文档,或者是电子书,这时候可以通过日常使用的 App 来解决这个问题,这里我推荐微信读书这个 App,微信读书支持导入文档,支持 txt,pdf,epub,doc,docx,mobi,azw3 等格式,将这些文档导入微信读书后,在阅读的时候,手指单点屏幕中央,在弹出的功能按钮中,选择听按钮就可以开启朗读功能。

这比较适合要朗读的文档篇幅比较长,因为在导入文档到手机中时大概率要在电脑上完成,这需要额外花费一些时间,但完成后使用就比较简单了。

在手机上还有其他的 App 也提供这个功能,比如在微信中,可以通过设置「关怀模式」,然后开启「听文字消息」功能,也可以听消息。

在系统提供的屏幕朗读和微信读书的结合下,我想基本上就可以解决将文字朗读出来的需要了,当然如果有更好的 App ,如果恰巧看到这篇记录,也请留言告诉我。

2. 电脑

电脑的操作系统同样也提供朗读的系统功能,比如在 MacBook Pro 中,可以通过「系统偏好设置」->「辅助功能」->「朗读内容」 来设置。而在 Windows 系统的电脑中,比如 Windows 10 提供系统自带有屏幕朗读功能,可通过 「Windows 设置 – 轻松使用 – 讲述人」 打开讲述人即可。

对于电脑这个强大的生产力工具来说,系统提供的功能我们可能用不到就解决了我们的问题,比如我们常用的浏览器(Chrome、Safari、Edge)基本上能打开大部分格式的文本文件,而这些浏览器本身或借助系统提供朗读的功能,就能完成我们需要的朗读功能。所以在电脑上大部分的将文档朗读出来都可以采用用浏览器打开文档,然后朗读即可。

这里面最为推荐的就是 Microsoft Edge 这个浏览器,右键鼠标单击,在弹出的菜单中选择「大声朗读」,就可以听到当前打开文档的文字朗读了,这个是我听的效果最好的(如下图中我打开了鲁迅先生的《呐喊》这个 txt 文件进行大声朗读,效果不错)。在 Mac 中我用浏览器(不论是其自带的 Safari 还是 Chrome)体验的效果都不理想,在这里的体验应该是借助了系统的功能,在 Chrome 中可以通过安装朗读服务插件来提高体验,这部分我没有尝试。

另外一些专用的软件本身也提供朗读功能,比如通常用的 Word 里面就有朗读功能。

一圈体验下来,除了 Android 手机上这个用讯飞语音引擎的我没体验到之外,体验最佳的就是用 Edge 进行的朗读,这也印证了我从旁听来的评价「微软的引擎好」,我觉得也理所应当,毕竟对于一个在 20 多年前就推出了这方面产品的企业,这么多年下来的积累与沉淀,理应提供不错的体验。

对于现有的工具或产品来说,如果要在手机上想把文字朗读出来,目前我比较推荐的是将文档导入到微信读书中,然后用微信读书中的听功能来听。如果是在 Windows 电脑上,我比较推荐直接使用 Edge 浏览器打开文档,使用其提供的大声朗读功能来听。

还有没有其他的方式呢,答案是有的,如果懂得编程,动手能力又强,可以使用微软提供的文字转语音应用程序编程接口(TTS API)[1] 用程序来实现自己的需求。不过对于大部分人来说,以上提供的方法已经足够自己使用,虽然跟真人还有些差距,但在眼睛疲劳又想听一听文档时,不妨一试。


[1]: https://azure.microsoft.com/en-us/services/cognitive-services/text-to-speech/#overview


本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号