场景1:
用两个ESP32 WROVER 模块配合MAX98357 和INMP441 利用I2S 搭了一对对讲机, 4欧3W的喇叭,
I2S 8K+32位采样 ,编码为8位数据通过ESMP NOW传递,每个包248 字节, 互相通话声音很清晰, 而且音量挺大
.sample_rate = 8000,
.bits_per_sample = I2S_BITS_PER_SAMPLE_32BIT,
.channel_format = I2S_CHANNEL_FMT_ONLY_RIGHT,
.communication_format = I2S_COMM_FORMAT_STAND_I2S,
.dma_buf_count = 2,
.dma_buf_len = 256,
.use_apll = false,
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1};
=========================================================================
场景2
用ESP32 WROVER 模块配合ES8388 又做了一套系统,板子可以正常接收场景1模块发出的ESP NOW音频数据, 但是接收到的说话的语音音量很小,但是这套系统用ADF里的蓝牙播放例程播放音乐声音却很大很清晰,可以用手机正常控制音量,
于是尝试把代码写入官方的LyraT Mini 板子, 同样的4欧3W的喇叭, 音量也是跟ES8388播放的一样非常小
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL24, 0x0x21); // Set L1 R1 L2 R2 volume. 0x00: -30dB, 0x1E: 0dB, 0x21: 3dB
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL25, 0x0x21);
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL26, 0x0x21);
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL27, 0x0x21);
res |= es8388_set_adc_dac_volume(ES_MODULE_DAC, 0, 0);
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL5, reg);
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL4, reg);
问题:
(1)1S8388的音量控制除了以上的寄存器是否还存在其他参数?
(2)尝试了用custom board的形式自定义开发板,理论上寄存器配置应该和蓝牙例程用的一致,为什么蓝牙播放音量这么大,ESPNOW接收的音量却小了(发射源应该没有问题, 因为另一套板子ESPNOW +I2S MAX98357接收到解析出来的声音也很大)
ES8388 音量小,求助音量优化经验
-
- Posts: 40
- Joined: Wed Jun 22, 2022 12:10 pm
Re: ES8388 音量小,求助音量优化经验
播放音量主要是 es8388_set_voice_volume(int volume)这个API控制的你可以把音量设置为90看声音大不大
Re: ES8388 音量小,求助音量优化经验
board_def.h
#define BOARD_PA_GAIN 改为(-5)
#define BOARD_PA_GAIN 改为(-5)
-
- Posts: 12
- Joined: Thu May 05, 2022 1:37 pm
Re: ES8388 音量小,求助音量优化经验
感谢楼上,通过BOARD_PA_GAIN 看到audio_volume.c里对音量的一些计算,不同CODEC的音量偏移还是不一样的, 问题已解决
Who is online
Users browsing this forum: Majestic-12 [Bot] and 6 guests