V2EX x1x2
 x1x2's recent timeline updates
x1x2

x1x2

V2EX member #681706, joined on 2024-03-24 21:12:12 +08:00
x1x2's recent replies
@Rain59 可以了,实时转用了 small 模型,正好可以对比看看效果。不过我个人基本没有实时转的需求
是,中文识别率确实一般。没有做过取舍,单纯觉得是不是 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 标签,按四章结构整理为连贯叙述文章,保留播客的口语风格。
@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 模型,在本机完成推理,不联网。
@kuhung 我最开始用的苹果内置的引擎,后面扫了一眼这个开源项目: https://github.com/argmaxinc/argmax-oss-swift ,把内置模型改成了 Whisper large-v3
我目前用着还行,识别的准确率确实不算太高,但是我一般是先转,然后再把文本扔进 GPT ,让它再给我润色润色。 我主要是用来转电话录音和播客文本的,时间都比较长,30 分钟以上吧。

P.S. 我其实也是参考了开源项目。第一版是用原生的 Mac 语音识别引擎,其实效果也还行。后面翻了下 x ,发现有成熟开源,就拿来用了。
插个眼,看看是不是起号
在用着 tgt2+tlcm 开 GT7 ,不过现在都流行直驱了吧
@manwhatcanisay 国外信用卡有没有好的渠道可以办
张小出了个 7 小时的播客,太虎了
@kneo 有没有可靠稳定的方案,指条明路,大佬
About     Help     Advertise     Blog     API     FAQ     Solana     3175 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 19ms UTC 02:43 PVG 10:43 LAX 19:43 JFK 22:43
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86