个人站点

工程模式 · 现场笔记

为日常所写。
也为值得拆开的东西。
美在
实现里。

好的软件在最好的时候不被注意到——只有出问题时,才看见它的魔法。

同一批作品,另一条入口。跟着方程和状态转移往下看:模型是什么、假设在哪、边界停在何处。

往下看作品 看表面之下

作品

不同的练习。
同一种认真。

从谱面到段落,从编辑器到还没做完的想法。

03 / 谱面跟着走

吉他兔

跟着原曲练。
手不用离开琴颈。

普通播放器不支持精细的段落循环,翻谱又要腾出手。吉他兔按进度跳转曲谱,并让重复区间一设就用。

浏览器 demo · 一首示范曲

02 / 段落归位

爬来兔

把好文章打乱。
再亲手排回去。

富兰克林练结构感的方法:打乱段落,凭逻辑复原。看书时把值得学的章节贴进来,打乱,再排——练语感,也看清作者的思路。

浏览器工具

01 / 截图落盘

vscode-markdown-paste-image

粘贴截图。
图片进你指定的文件夹。

写 Markdown 时插截图总绕路。这个 VS Code 扩展让粘贴直达约定目录,本站文章大多也靠它写完。

VS Code 扩展 · 开源

还在想的

几件还没落地的事。

  1. 01

    歌曲和弦自动识别

    从音频里抽出进行,再落成可改的谱。频谱只是入口,不是全部。

    想法 · 信号 / 机器学习

  2. 02

    Down

    Down your phone. Up your focus. 把手机扣下,把注意力收回来——还在设计里。

    想法 · 注意力

关于

一个人。
没有单一方向。

写过书,教过书,现在要帮自己打工。

「活到老,学到老,传递知识」

Telesoho Studio · 索合工坊

FIG. 00 / 读法

同一世界。
另一种入口。

下面是教学用的缩小模型:公式、伪代码和可点的实验。它们解释意图与边界,不是完整产品源码的镜像。

01 / 吉他兔 · 离散频谱

一段信号。
一排频点。

音频特征落在频域。下面用 2017 年笔记里的合成信号:256 点、采样率 256 Hz,直流与 50 Hz、75 Hz 应落在第 1、51、76 个频点(从 0 起算的索引)。这是 DFT 教学示意,不是和弦识别器。

S(t) = 2 + 3 cos(2π·50t − 30°) + 1.5 cos(2π·75t + 90°)

采样
N = 256 · Fs = 256 Hz · Δf = 1 Hz
预期峰值索引
0 · 50 · 75(频点 1 / 51 / 76)
边界
实值 DFT 幅度 · 无窗 · 非实时音频管线
// 示意:离散傅里叶变换幅度
for k in 0..N/2:
  X[k] = Σₙ s[n] · exp(-2πi kn / N)
  mag[k] = |X[k]| / N
// 索引 k 对应频率 k · Fs / N

02 / 爬来兔 · 状态转移

一次拖动。
一条命令。

打乱段落再排回去,是对有序列表的状态转移,不是全文编辑器。拖动提出候选;若序列非法则保持上一状态。下面三段请拖回正确顺序。

打乱后的段落 · 拖到正确位置

    (St+1, Et) = reduce(St, Ct)

    candidate = applyMove(durable, command)
    if validPermutation(candidate):
      durable = candidate
      publish(effects)
    else:
      keep(durable)  // 无效移动不改世界

    还在白板上

    仍是开放问题。

    1. 01

      和弦识别能否只靠频谱?

      音高与音色缠在一起。怎样把进行从幅度峰里拆干净,又留出人工改谱的缝?

    2. 02

      注意力能否记成可回放的事件?

      若每一次「放下手机」都是一条事件,余额和失败能否像账本一样复现?

    立场

    把模型
    写清楚。

    状态是什么?哪些量该不变?写入失败、帧卡住、模型到头时,会发生什么?这个模式邀请你检查那些决定。