Page 1 of 1

Luckfox Pico Plus + MIC 咪头无法录制声音

Posted: 2024-03-24 5:11
by ezreal
我在plus的TP5: MIC1P、TP6: MIC0P分别连接了咪头的黑线负极和红线正极,如下图,
6f98e76fe747d59f86a475edc4a3176.jpg
并使用文档的命令进行测试,即
rk_mpi_ai_test --sound_card_name=hw:0,0 --device_rate=16000 --device_ch=2 --out_rate=16000 --out_ch=2 --output=/tmp
日志如下:
Snipaste_2024-03-24_13-09-18.jpg
这是文字版:
# rk_mpi_ai_test --sound_card_name=hw:0,0 --device_rate=16000 --device_ch=2 --out_rate=16000 --out_ch=2 --output=/tmp
cmd parse result:
input file name : (null)
output file name : /tmp
loop count : 1
channel number : 1
open sound rate : 16000
record data rate : 16000
sound card channel : 2
output channel : 2
bit_width : 16
frame_number : 4
frame_length : 1024
sound card name : hw:0,0
device id : 0
set volume : 100
set mute : 0
set track_mode : 0
get volume : 0
get mute : 0
get track_mode : 0
aed enable : 0
bcd enable : 0
buz enable : 0
vqe gap duration (ms) : 16
vqe enable : 0
vqe config file : (null)
dump algo pcm data : 0
test mode : 0
aenc file name : (null)
input codec name : (null)
rockit log path (null), log_size = 0, can use export rt_log_path=, export rt_log_size= change
log_file = (nil)
RTVersion 01:30:20-150 {dump :064} ---------------------------------------------------------
RTVersion 01:30:20-151 {dump :065} rockit version: git-8cb4d25b8 Tue Feb 28 11:12:39 2023 +0800
RTVersion 01:30:20-151 {dump :066} rockit building: built- 2023-02-28 15:23:19
RTVersion 01:30:20-151 {dump :067} ---------------------------------------------------------
(null) 01:30:20-151 {log_level_init :203}

please use echo name=level > /tmp/rt_log_level set log level
name: all cmpi mb sys vdec venc rgn vpss vgs tde avs wbc vo vi ai ao aenc adec
log_level: 0 1 2 3 4 5 6

rockit default level 4, can use export rt_log_level=x, x=0,1,2,3,4,5,6 change
(null) 01:30:20-151 {read_log_level :093} text is all=4
(null) 01:30:20-152 {read_log_level :095} module is all, log_level is 4
(null) 01:30:20-159 {monitor_log_level :144} #Start monitor_log_level thread, arg:(nil)
cmpi 01:30:20-165 {main :1295} start running loop count = 0
RKAiChn 01:30:20-167 {setAedAttr :789} pstAedConfig = (nil), set mAedEnable = false
RKAiChn 01:30:20-169 {setBcdAttr :852} pstBcdConfig = (nil), set mBcdEnable = false
RKAiChn 01:30:20-171 {setBuzAttr :915} pstBuzConfig = (nil), set mBuzEnable = false
RKAiChn 01:30:20-171 {setGbsAttr :979} pstGbsConfig = (nil), set mGbsEnable = false
RKAiChn 01:30:20-171 {setVqeAttr :1045} pstVqeConfig = (nil), set mVqeEnable = false
RKAiChn 01:30:20-171 {prepareGraph :221} check enabled - vqe:0 aed:0 bcd:0 buz:0 gbs:0
RTFlowGraph 01:30:20-177 {setMaxInputStreamQ:287} ai: Illegal operation, no input port exists.
RKAiChn 01:30:20-293 {setVqeEnable :1019} not support veq algo
cmpi 01:30:20-297 {commandThread :829} test info : mute = 0, volume = 100
cmpi 01:30:20-299 {saveFile :708} create file(/tmp/cap_out.pcm) succeed
对于保存的pcm文件,我使用Audacity软件进行试听;此外,我使用以下脚本将pcm转换为wav文件,
def pcm_to_wav(pcm_path, wav_path=None, channels=1, bits=16, sample_rate=16000):
if wav_path is None:
wav_path = os.path.splitext(pcm_path)[0] + ".wav"

pcmf = open(pcm_path, 'rb')
pcmdata = pcmf.read()
pcmf.close()

if bits % 8 != 0:
raise ValueError("bits % 8 must == 0. now bits:" + str(bits))

wavfile = wave.open(wav_path, 'wb')
wavfile.setnchannels(channels)
wavfile.setsampwidth(bits // 8)
wavfile.setframerate(sample_rate)
wavfile.writeframes(pcmdata)
wavfile.close()

print(f"converted .pcm to .wav successfully, and saved into {wav_path}.")
但无论是pcm文件,还是wav文件,我播放后,都只听到10秒刺耳的蜂鸣声(不像是录制的声音)。

我只想完成麦克风的录制功能?请问是哪里出问题了吗?

Re: Luckfox Pico Plus + MIC 咪头无法录制声音

Posted: 2024-03-25 2:11
by Crocodile
您好,根据您的 rk_mpi_ai_test 打印情况,目前您在设备树上的设置没有什么问题,Luckfox fox 可以识别到设备,您可以正常获取到 PCM 文件,所以在麦克风录制上出现的失败可能是硬件设计上的问题,请参考 viewtopic.php?t=64 主题中提供的麦克风参考电路:
MIC_reference_circuit.png
从您提供的连接图片上还需要进行改进,确保排除硬件设计上的问题。

Re: Luckfox Pico Plus + MIC 咪头无法录制声音

Posted: 2024-03-25 3:00
by ezreal
Crocodile wrote: 2024-03-25 2:11 您好,根据您的 rk_mpi_ai_test 打印情况,目前您在设备树上的设置没有什么问题,Luckfox fox 可以识别到设备,您可以正常获取到 PCM 文件,所以在麦克风录制上出现的失败可能是硬件设计上的问题,请参考 viewtopic.php?t=64 主题中提供的麦克风参考电路:MIC_reference_circuit.png 从您提供的连接图片上还需要进行改进,确保排除硬件设计上的问题。
谢谢您的回复,日志里好像还存在这个问题,不知道是否是正常的,
{setMaxInputStreamQ:287} ai: Illegal operation, no input port exists.
此外,您发的那个帖子我也看过,但感觉越看越不清楚。如果可以,可以提供一个官方测试麦克风的连接示意图吗?
最后,不知道音频版本的luckfox板子这个月能出售吗?诚候您的回复!

Re: Luckfox Pico Plus + MIC 咪头无法录制声音

Posted: 2024-03-25 3:58
by Crocodile
ezreal wrote: 2024-03-25 3:00
Crocodile wrote: 2024-03-25 2:11 您好,根据您的 rk_mpi_ai_test 打印情况,目前您在设备树上的设置没有什么问题,Luckfox fox 可以识别到设备,您可以正常获取到 PCM 文件,所以在麦克风录制上出现的失败可能是硬件设计上的问题,请参考 viewtopic.php?t=64 主题中提供的麦克风参考电路:MIC_reference_circuit.png 从您提供的连接图片上还需要进行改进,确保排除硬件设计上的问题。
谢谢您的回复,日志里好像还存在这个问题,不知道是否是正常的,
{setMaxInputStreamQ:287} ai: Illegal operation, no input port exists.
此外,您发的那个帖子我也看过,但感觉越看越不清楚。如果可以,可以提供一个官方测试麦克风的连接示意图吗?
最后,不知道音频版本的luckfox板子这个月能出售吗?诚候您的回复!
日志的输入问题是正常的,可以参考viewtopic.php?t=110 问题可能是仅获取音频原始数据而不使用其他前置后置组件导致。

我们使用的麦克风测试电路也是参考瑞芯微提供的参考电路图(上面那个原理图),由于音频功能在luckfox-pico plus仅为测试使用,很遗憾没有连接示意图,如果您想让luckfox-pico plus 使用mic还是有搭一个电路的必要的,您可以先尝试引入偏置电压解决问题。

音频版本的luckfox研发目前进展顺利,但是还需要一些时间确保产品的质量和性能达到最佳状态, 我们会在有明确发售日期时在官网上公布,感谢您的支持和耐心等待。