发送语音流程图

聊天页发送语音

FileTransferSendPipeline.sendFile(...)

Voice Model 是否开启

raw 原始字节流直传

AudioProcessor.buildVoiceTransferData(audioPath)

readWaveFile(): 读取 PCM WAV

resampleLinear(): 重采样到 24kHz

extractMelSpectrogram(): 提取 100-bin log-Mel

按 100 帧一块切 patch

组装输入张量 [patchCount,1,100,100]

voice encoder 前向推理

得到 encoded floatData + shape

写 TCP 头: fileName!fileSize!senderId!VOICE!model

写 body: shapeLength + shape + totalOriginalLength + frameInfos + floatData

发送完成后发 UDP 文本通知 IPMSG_SENDMSG

接收端 FileTransferReceivePipeline

读 TCP 头并判断 mode=model

读 body: shape + totalOriginalLength + frameInfos + floatData

voice decoder 前向推理

得到解码后的频谱 patch

AudioProcessor.reconstructSpectrogram(...)

重建完整频谱 [time, mel]

保存 .wav.specbin 调试文件

toVocosInput(): 转成 [1, melBins, time]

audio decoder/vocos 前向推理

得到 24kHz 浮点波形

writeFloatWav(..., 24000)

落盘成 .wav

更新聊天消息路径/状态

刷新聊天页与最近会话

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oyezitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值