CP-16 介绍:https://www.hellocq.net/forum/read.php?tid=345437
程序代码:https://github.com/BenderBlog/cp16-rs
README:
CP-16 本质上就是 16 个正弦波叠加,用于直接在频谱图上显示汉字。我觉得这个东西就是某种最简单的正弦波叠加。如果使用复杂模式,比如说更加密集的频率,那就是 CTF Misc 题目,还有 DOOM 2016 中制作人留下的“我爱上帝”彩蛋。
目前本程序通过生成 16 个 PCM 正弦波进行叠加,初步实现了该编码方式,同时添加了初始生成频率,生成间隔,处理横向字符生成等功能。接下来需要写成一个库。在这个库的基础上,编写程序使其可以实时播放或者写入文件。
本程序依赖 GNU Unifont 库,不打算支持外部引入字体。GNU Unifont 库支持 Unicode Basic Mulitlingual Plane,也就是基本上常见的字体都能支持。
顺便,用这个程序学下 rust 的迭代器。
附注:
当时我看一个群聊,有人说想搞这个。我一看这个就是 16 个正弦波叠加就感觉很快了(之前我看有个很简单的 SSTV 生成器,就是 PCM 直接生成正弦波计算),就很快写了个原型。后来我想学 Rust 的迭代器(利于实际计算),就重新写了下。感觉现在应该可以用了。后面应该还会写,但是写到啥程度,天知道。