有些内容用文本来表达不如用语音:
- 一些复杂的、但是非硬知识的内容(比如为人处事之道等),适合用语音来表达,这样更像是两个人在对话,更容易理解。比如 Introvert or Extrovert, This is a Choice 这篇就适合用语音,用文字反而难理解
- 情感用录音来表达更丰满,语速语调中包含信息
- 想讲一些话给未来的自己听
- 用方言(比如我用的潮汕话)来表达更方便,比如 My Family Stories 中老叔一段的内容
但同时希望:
- 语音能被转写成文字,方便快速阅读及搜索
- 语音播放时可以加速
流程:
对于前三个步骤,目前摸索出来的较简单的方法是:
- 录音相对随意,在电脑录比较好操作,比如讲得不流畅的部分重录
- 录完的音频在 Audacity 做降噪,生成 M4A 音频文件
- 注意:这一步的过程中不要去调快语音速度(压缩音频长度),因为会损失信息。对于把音频压缩成 2/3 长,或者一段原始长度音频以 1.5 倍速播放,听完的时间是一样的,但是压缩过长度的那段听起来会不自然,应该是压缩过程中信息少了。
- 做语音听写,生成初始的 SRT
- 用 Aegisub 编辑字幕,纠正错误字,保存进 SRT 并生成一份不带时间信息的纯文本字幕稿
- 用 astisub 将 SRT 转换成 WebVTT 字幕文件
最后,如何嵌入 Tiddlywiki?有两种方式:
- 使用 TW 内建的语音支持了(参考),即把音频作为一个 tiddler。但这样会显著增加 TW 的 HTML 体积,也无法使用自定义的 JS 播放器
- 使用 TW 内建的 静态文件服务器。好处是不增加 TW HTML 的体积,也可以使用自定义 JS 播放器;缺点是不支持分段加载(
Accept-Ranges
),在播放时无法拖动进度条 - 将文件传至 COS 等网络存储中。这样可以支持拖动进度条,也方便发布到互联网
我的方式是 结合静态文件服务器及网络存储。文件先放置到 files
中,保证 single source of truth,再将其同步到 COS 中。TiddlyWiki: Publish 中详细描述此过程。
同时我安装了 TheDiveO/TwTube 的插件,将 Video.js 引入进来,方便显示字幕。
使用时参考 Text Snippet: Inline Video。因为代码较复杂,没有写成宏。