否是聊天页发送语音FileTransferSendPipeline.sendFile(...)Voice Model 是否开启raw 原始字节流直传AudioProcessor.buildVoiceTransferData(audioPath)readWaveFile(): 读取 PCM WAVresampleLinear(): 重采样到 24kHzextractMelSpectrogram(): 提取 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 + floatDatavoice decoder 前向推理得到解码后的频谱 patchAudioProcessor.reconstructSpectrogram(...)重建完整频谱 [time, mel]保存 .wav.specbin 调试文件toVocosInput(): 转成 [1, melBins, time]audio decoder/vocos 前向推理得到 24kHz 浮点波形writeFloatWav(..., 24000)落盘成 .wav更新聊天消息路径/状态刷新聊天页与最近会话