SAM 软件自动口语
SAM 是什么?
这是一个用原生 JavaScript 移植的文本到语音 (TTS) 软件 SAM(软件自动口语),原版由 Don't Ask Software(现为 SoftVoice, Inc.)于 1982 年为 Commodore C64 发布。
本项目基于 Stefan Macke 对 C 语言的改编,以及 Vidar Hokstad 和 8BitPimp 的重构。
它包含一个称为 reciter 的文本到音素转换器和用于最终输出的音素到语音程序。
它旨在减少内存占用和文件大小,这也是我想避免使用 Stefan 的 Emscripten 转换(大约 414kb)的原因。
更多详情,请参阅 retrobits.net
有关 S.A.M. 的一些分析可以在 Artyom Skrobov (@tyomitch) 的博客中找到,他还提供了非常有见地的 PR。 访问他的博客 https://habr.com/ru/post/500764/(俄语) 或谷歌翻译版本。
使用方法
通过 yarn 安装模块:yarn add sam-js
在程序中使用:
import SamJs from 'sam-js';
let sam = new SamJs();
// 通过扬声器播放"Hello world"。
// 这会返回一个 Promise,在播放结束后解析。
sam.speak('Hello world');
// 生成包含"Hello world"的 wave 文件并下载。
sam.download('Hello world');
// 将传入的文本渲染为 8 位 wave 缓冲数组(Uint8Array)。
const buf8 = sam.buf8('Hello world');
// 将传入的文本渲染为 32 位 wave 缓冲数组(Float32Array)。
const buf32 = sam.buf32('Hello world');
典型的语音参数
描述 速度 音调 喉音 口音
精灵 72 64 110 160
小机器人 92 60 190 190
鼻音男 82 72 110 105
小老太太 82 32 145 145
外星人 100 64 150 200
SAM 72 64 128 128
原始文档
我在此仓库中捆绑了原始手册的副本,请查看 docs 目录中的 manual.md 文件。
许可证
该软件是对 30 多年前发布的商业软件的逆向工程版本。当前的版权持有人是 SoftVoice, Inc. (www.text2speech.com)
尝试联系该公司均告失败。网站最后一次更新是在 2009 年。因此,原始软件的状态最好被描述为废弃软件(http://en.wikipedia.org/wiki/Abandonware)
在这种情况下,我无法将我的代码置于任何特定的开源软件许可证下。使用时请自行承担风险。
联系方式
如果您有问题,请随时问我。如果您发现了关于代码的新知识,请提交一个 issue。