From 5d5f91326072975f8f3c9b66e28d8548b9ac6a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDaisyWu=E2=80=9D?= <“18682150237@163.com”> Date: Fri, 17 Jan 2025 17:57:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=99=8D=E5=99=AA?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/talkView/talk_view_logic.dart | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/talk/startChart/views/talkView/talk_view_logic.dart b/lib/talk/startChart/views/talkView/talk_view_logic.dart index 7c4d8fd1..2c11489e 100644 --- a/lib/talk/startChart/views/talkView/talk_view_logic.dart +++ b/lib/talk/startChart/views/talkView/talk_view_logic.dart @@ -570,8 +570,9 @@ class TalkViewLogic extends BaseGetXController { } Future _onFrame(List frame) async { - final list = listLinearToALaw(frame); - final ms = DateTime.now().millisecondsSinceEpoch - + final List processedFrame = preprocessAudio(frame); + final List list = listLinearToALaw(processedFrame); + final int ms = DateTime.now().millisecondsSinceEpoch - state.startRecordingAudioTime.value.millisecondsSinceEpoch; // 发送音频数据 await StartChartManage().sendTalkDataMessage( @@ -588,6 +589,19 @@ class TalkViewLogic extends BaseGetXController { AppLog.log(error.message!); } + List preprocessAudio(List pcmList) { + // 简单的降噪处理 + final List processedList = []; + for (int pcmVal in pcmList) { + // 简单的降噪示例:将小于阈值的信号置为0 + if (pcmVal.abs() < 500) { + pcmVal = 0; + } + processedList.add(pcmVal); + } + return processedList; + } + List listLinearToALaw(List pcmList) { final List aLawList = []; for (int pcmVal in pcmList) {