如何管理华为 GSM 调制解调器文件的音频进出?

如何管理华为 GSM 调制解调器文件的音频进出?

我有一个连接到 Raspberry PI 的华为 E173 USB 适配器。我正在尝试使用该设备拨打和接听电话。

出于我的目的,需要 (i) 将呼叫的音频保存到文件,以及 (ii) 从输入文件将音频发送到电话呼叫。

据我了解(我找不到任何官方指南),E173加密狗设置了三个新设备(如果我错了,请纠正我):

  • /dev/ttyUSB0用于命令
  • /dev/ttyUSB1用于语音数据
  • /dev/ttyUSB2用于通知

为了启用电话呼叫,我运行以下命令:AT+CLIP=1, AT+CRC=1, AT+CNMI=1,2on /dev/ttyUSB0。另外,如果我跑步,AT^CVOICE?我会得到^CVOICE:0,8000,16,20.最后,当我拨打/接听电话时,我会继续AT^DDSETEX=2启用/dev/ttyUSB0音频转发到/dev/ttyUSB1端口。

在这一点上,我被困住了。

我知道有其他类似的帖子试图重定向麦克风输入和扬声器输出到加密狗,但我的目标是将对话保存到文件(在通话期间,我尝试运行cat /dev/ttyUSB1 > filename.raw,但该文件无法用标准软件打开,因此,我如何将其转换?),同时,从文件发送语音(哪种格式?我尝试用 发送回,filename.raw但整个系统被冻结)。/dev/ttyUSB1cat filename.raw > /dev/ttyUSB1

如何将音频保存到文件并从文件发回音频?

我发现一些资源在互联网上试图解释,对于类似的设备,音频必须以单声道、8000 Hz 的数字频率发送,并数字化为 16 位。通过查看命令的结果AT^CVOICE?,这些参数也应该适用于我的情况。此外,同一资源还指出“音频数据应每 0.02 秒以 320 字节的批量形式馈送到调制解调器音频端口”。我什至尝试过应用这种方法,但没有成功。

相关内容