
PSRAM викликає аудіовзаємодії
https://ift.tt/9uZoskm
Chip type: ESP32-S3 (QFN56) (revision v0.2)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_3v3)
Crystal frequency: 40MHz
Manufacturer: 68
Device: 4018
Detected flash size: 16MB
Flash type set in eFuse: quad (4 data lines)
Flash voltage set by eFuse: 3.3V
У yaml-конфігурації нижче аудіо мікрофона містить багато попухів та тріскоту і шипіння. Однак, якщо я закоментую або psram, або CONFIG_SPIRAM_FETCH_INSTRUCTIONS, то аудіо стає бездоганно чистим.
Я хотів би зрозуміти, чому так відбувається. Є у когось ідеї?
substitutions:
name: voice-002
friendly_name: Voice Test
ipv6_enable: “false”
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
min_version: 2026.5.0
on_boot:
priority: 375
then:
– microphone.unmute:
– microphone.capture:
esp32:
board: esp32-s3-devkitc-1
cpu_frequency: 240MHz
variant: esp32s3
flash_size: 16MB
framework:
type: esp-idf
version: recommended
sdkconfig_options:
#CONFIG_ESP32S3_DATA_CACHE_64KB: “y”;
#CONFIG_ESP32S3_DATA_CACHE_LINE_64B: “y”;
#CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB: “y”;
#CONFIG_SPIRAM_RODATA: “y”;
CONFIG_SPIRAM_FETCH_INSTRUCTIONS: “y”
#CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST: “y”;
#CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY: “y”;
#CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC: “y”;
#CONFIG_MBEDTLS_SSL_PROTO_TLS1_3: “y” # TLS1.3 підтримка не увімкнена за замовчуванням у IDF 5.1.5
psram:
mode: octal
speed: 80MHz
ignore_not_found: false
ota:
– platform: esphome
id: ota_esphome
api:
encryption:
key: *REDACTED*
wifi:
ssid: *REDACTED*
password: *REDACTED*
logger:
level: DEBUG
network:
enable_ipv6: ${ipv6_enable}
external_components:
– source:
type: local
path: ../component
switch:
– platform: gpio
id: master_mute_switch
restore_mode: ALWAYS_OFF
icon: “mdi:microphone-off”
name: Mute
pin:
number: GPIO4
mode:
output: true
on_turn_on:
– logger.log: “Turned On Action”
on_turn_off:
– logger.log: “Turned Off Action”
binary_sensor:
– platform: gpio
id: hardware_mute_switch
internal: true
pin:
number: GPIO2
mode:
input: true
pullup: true
inverted: true
on_press:
– switch.toggle: master_mute_switch
– if:
condition:
– switch.is_off: master_mute_switch
then:
– logger.log: “Switch is off”
else:
– logger.log: “Switch is on”
i2c:
– id: internal_i2c
sda: GPIO5
scl: GPIO6
frequency: 400kHz
i2s_audio:
– id: i2s_input
i2s_lrclk_pin:
number: GPIO14
i2s_bclk_pin:
number: GPIO13
i2s_mclk_pin:
number: GPIO12
globals:
– id: socket_udp
type: int
restore_value: no
initial_value: ‘0’
audio_adc:
– platform: tlv320adc3101
id: tlv320_adc
bits_per_sample: 32bit
sample_rate: 16000
pin_reset: GPIO42
mclk_multiple: 512
address: 0x18
microphone:
– id: i2s_mics
platform: i2s_audio
bits_per_sample: 32bit
mclk_multiple: 512
i2s_din_pin: GPIO15
adc_type: external
pdm: false
sample_rate: 16000
i2s_mode: secondary
i2s_audio_id: i2s_input
channel: stereo
on_data:
# – udp.write: “Hello World”
– lambda: |-
if (x.size()) {
if(id(socket_udp) == 0) {
ESP_LOGD(“MIC”,”Opening socket”);
id(socket_udp) = ::socket(AF_INET, SOCK_DGRAM, 0);
}
struct sockaddr_in destination;
destination.sin_family = AF_INET;
destination.sin_port = htons(18512); // UDP receiver port
destination.sin_addr.s_addr = inet_addr(“192.168.1.4”); // UDP receiver IP
::sendto(id(socket_udp), x.data(), x.size(), 0, reinterpret_cast
}
1 пост – 1 учасник
Прочитати повну тему
HI-FI News
via Home Assistant Community – Latest topics https://ift.tt/9iNMBSR
30 травня 2026 р. 15:33
May 26, 2026 at 03:33PM

Залишити відповідь
Щоб відправити коментар вам необхідно авторизуватись.