x1x2's recent timeline updates
x1x2

x1x2

V2EX member #681706, joined on 2024-03-24 21:12:12 +08:00
x1x2's recent replies
May 28
Replied to a topic by x1x2 分享创造 自用的音频转文字 Mac 应用
@Rain59 可以了,实时转用了 small 模型,正好可以对比看看效果。不过我个人基本没有实时转的需求
May 23
Replied to a topic by x1x2 分享创造 自用的音频转文字 Mac 应用
是,中文识别率确实一般。没有做过取舍,单纯觉得是不是 large 比 medium 识别准确率可能更高,但实际效果半斤八两。 我现在的工作流是,先转成文本,然后再让 gpt/opus 润色一道。不得不说,SOTA 就是 SOTA ,很刁钻的误识,都能识别出来。

下面是我刚刚转的文本错误和修正汇总


┌───────────────────────────┬──────────────────────────────────────────┐
│ 原文 │ 修正 │
├───────────────────────────┼──────────────────────────────────────────┤
│ 伤/商(贯穿全文) │ 熵( entropy ) │
├───────────────────────────┼──────────────────────────────────────────┤
│ 毒血的头 │ 读写头( read/write head ) │
├───────────────────────────┼──────────────────────────────────────────┤
│ 山门 56 │ 山本五十六(日本海军大将) │
├───────────────────────────┼──────────────────────────────────────────┤
│ 积电器/寄电器 │ 继电器 │
├───────────────────────────┼──────────────────────────────────────────┤
│ 二子海默症 │ 阿尔茨海默症 │
├───────────────────────────┼──────────────────────────────────────────┤
│ 埃尼亚克/安尼阿克 │ ENIAC │
├───────────────────────────┼──────────────────────────────────────────┤
│ 爱德瓦克/爱尼瓦克 │ EDVAC │
├───────────────────────────┼──────────────────────────────────────────┤
│ αβ减值算法 │ α-β剪枝算法 │
├───────────────────────────┼──────────────────────────────────────────┤
│ ToroChamp │ Turochamp (图灵+钱珀诺恩合创的象棋程序) │
├───────────────────────────┼──────────────────────────────────────────┤
│ 布尔兹曼 │ 玻尔兹曼( Ludwig Boltzmann ) │
├───────────────────────────┼──────────────────────────────────────────┤
│ ACES │ ACE ( Automatic Computing Engine ) │
├───────────────────────────┼──────────────────────────────────────────┤
│ Unartificial Intelligence │ Artificial Intelligence │
├───────────────────────────┼──────────────────────────────────────────┤
│ 卷幅他 │ 本尼迪克特·康伯巴奇(卷福) │
├───────────────────────────┼──────────────────────────────────────────┤
│ 道胜和夫 │ 稻盛和夫 │
└───────────────────────────┴──────────────────────────────────────────┘

人名译名统一
- 冯诺一曼 → 冯·诺伊曼
- 斯马赫/司马赫 → 赫伯特·西蒙(中文名司马赫,首次出现做注)
- 纽娥尔 → 纽厄尔
- 赛米尔 → 阿瑟·塞缪尔

结构优化:去除 Speaker 标签,按四章结构整理为连贯叙述文章,保留播客的口语风格。
May 23
Replied to a topic by x1x2 分享创造 自用的音频转文字 Mac 应用
@kuhung Claude 的解释,你可以参考看看:

⏺ argmax-oss-swift 在 VoxNote 里负责两件事:语音识别( WhisperKit )和说话人识别( SpeakerKit )。

---
一、WhisperKit — 语音转文字的核心引擎

VoxNote 自己只负责把音频文件读成 [Float] 浮点数组( AudioProcessor.loadAudioAsFloatArray ),之后全部交给 WhisperKit:

[Float] 音频数据

whisperKit.transcribe(audioArray:decodeOptions:callback:segmentCallback:)

[TranscriptionResult] ← 含完整文本 + 每段时间戳

VoxNote 给 WhisperKit 的配置参数:
- chunkingStrategy: .vad — 自动按静音分段
- wordTimestamps: true — 保留每段的时间戳(供说话人对齐用)
- concurrentWorkerCount: 16 — 并行加速
- detectLanguage: language == nil — 不指定语言时自动检测

转录过程中 WhisperKit 会不断回调进度( 0%→98%)和中间文本,VoxNote 把这些映射成 UI 上的 .transcribing(progress, partialText) 实时显示。

---
二、SpeakerKit — 说话人识别(可选功能)

用户开启说话人标注后,VoxNote 会同时跑两个任务:

同一份 [Float] 音频
├─ 并行 → speakerKit.diarize() → DiarizationResult (谁在什么时间说话)
└─ 顺序 → whisperKit.transcribe() → [TranscriptionResult](说了什么)

合并 → diarization.addSpeakerInfo(to: results, strategy: .subsegment)

" [Speaker 1] 你好,请问……
[Speaker 2] 好的,我来解释一下……"

SpeakerKit 底层用的是 Pyannote v4 的 CoreML 模型,在本机完成推理,不联网。
May 23
Replied to a topic by x1x2 分享创造 自用的音频转文字 Mac 应用
@kuhung 我最开始用的苹果内置的引擎,后面扫了一眼这个开源项目: https://github.com/argmaxinc/argmax-oss-swift ,把内置模型改成了 Whisper large-v3
May 23
Replied to a topic by x1x2 分享创造 自用的音频转文字 Mac 应用
我目前用着还行,识别的准确率确实不算太高,但是我一般是先转,然后再把文本扔进 GPT ,让它再给我润色润色。 我主要是用来转电话录音和播客文本的,时间都比较长,30 分钟以上吧。

P.S. 我其实也是参考了开源项目。第一版是用原生的 Mac 语音识别引擎,其实效果也还行。后面翻了下 x ,发现有成熟开源,就拿来用了。
May 12
Replied to a topic by wry5512775 生活 出轨了,写出来希望能轻松点
插个眼,看看是不是起号
在用着 tgt2+tlcm 开 GT7 ,不过现在都流行直驱了吧
@manwhatcanisay 国外信用卡有没有好的渠道可以办
张小珺出了个 7 小时的播客,太虎了
@kneo 有没有可靠稳定的方案,指条明路,大佬
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   874 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
♥ Do have faith in what you're doing.