语言外设

语言外设

CC:Tweaked 的 TTS、显示和音频播放插件

技术

Lingua Peripherals

一个适用于我的世界 1.21.1(NeoForge)的 CC: Tweaked 附属模组,添加了可通过计算机控制的与语言相关的外设。从文字转语音到数据显示,从文件存储到音频播放——Lingua Peripherals 通过语音、文本和音频功能丰富了 CC:Tweaked 生态系统。


特性

🗣 语音合成

  • 讲述器 — 使用我的世界内置讲述者系统的 TTS 方块。作为 CC 外设暴露,通过 playVoice(text, rad) 进行基于距离的语音广播。
  • 创造模式讲述器 — 一种不可破坏的变体,通过 globalVoice(text) 实现跨维度、全服公告。
  • 中文文本支持 — 通过 \uXXXX 的 Unicode 转义序列输入非 ASCII 字符。
  • 在线转换器 — Unicode 转义转换器,粘贴中文 → 即时生成 CC 兼容输出。
  • voice_finished 事件 — 支持多段语音的顺序播放。
  • 可配置 — 最大范围(默认 128 方块)和语音频率间隔可通过配置文件调整。

📀 磁带驱动器与音频播放

  • 磁带驱动器 — 一个单槽位的驱动器方块,接受磁带。作为 CC 外设,提供数据 I/O 和 DFPWM 音频播放功能。
  • 磁带 — 一种可染色的物品,有 16 种颜色,可在工作台中使用染料制作。最多存储 1 MB 数据(可配置)。
  • 数据 I/O API — open(mode) 返回一个兼容 Lua io 的文件句柄,支持 read/write/writeLine/seek/close。
  • 音频播放 API — playTape() / pauseTape() / stopTape() / seekTape(seconds) 控制 DFPWM 音频播放。可实时查询和调整位置与音量。
  • saveAudio API — 直接从 CC 代码将 PCM 采样表编码为 DFPWM 格式并写入磁带。
  • 红石控制 — 红石脉冲从头开始触发播放;播放时比较器输出强度 15。
  • 播放事件 — tape_play_start / tape_play_end 事件供 CC 计算机监听。
  • 音频来源 — 同时支持 CC 的 cc.audio.dfpwm 库输出和原始 ffmpeg DFPWM 文件。
  • 音量系统 — 可听范围 = max(volume, 1.0) × 16 米,具有球形距离衰减。上限可配置(默认为 3.0)。

📺 显示外设(零新增方块)

将计算机放置在这些现有方块旁边,即可将它们用作外设:

  • 告示牌显示 (sign_display) — 读取/写入原版木/铁告示牌上的 4 行文字。
  • 讲台显示 (lectern_display) — 基于页面读取/写入放在讲台上的书与笔,支持添加/删除页面。
  • 翻页显示屏 (flap_display) — 控制机械动力模组的翻页显示屏。仅在运行时检测到机械动力时启用。

所有显示外设均支持 \uXXXX 的 Unicode 转义序列用于中文文本输入。

🔧 通用

  • 扳手支持 — 右键旋转方块;Shift + 右键拆卸并归还至背包。
  • JEI 集成 — 16 种按染料颜色区分的磁带子类型,在配方书中可见。
  • 多语言 — 中文、English、日本語、한국어。
  • 合成配方 — 讲述器(CC 扬声器 + 头颅);磁带驱动器和磁带均可合成。
  • 许可协议 — CC BY-NC-SA 4.0。

依赖

  • 我的世界 1.21.1
  • NeoForge 21.1.228+
  • CC: Tweaked 1.119.0+

链接