Smart głośnik dla każdego ESP32

Masz MEMS SPM1423 z modulacją PDM?
i podpięty mniej więcej jak na schemaciku, to jest akurat M5Stack PDM Mini Unit, ale Echo z pewnością ma mikrofon podpięty tak samo

Nie rozumiem.
Może o prostu polecę standardowym tekstem - wrzuć YAMLa?

Mikrofon i yamla masz na samej górze postu. Nic nie zmieniałem tylko płytkę na deckitc v4 + parę linijek kodu które nie dotyczą samego audio i i2s. Przytoczę ci za to odpowiedź na ten problem z innego forum to może bardziej ci rozjaśni problem (bo mi generalnie nic nie mówi :smile:)

Do tego dokumentacja: Inter-IC Sound (I2S) - ESP32 - — ESP-IDF Programming Guide latest documentation

1 polubienie

Dlatego zamieściłem schemat - wejście SELECT decyduje o tym, czy mikrofon wysyła umowny kanał lewy czy prawy, dlatego to ważne, bo nie wiemy czy odbiornik będzie sobie szukał, ale pewnie nie a nie widzę opcji do konfiguracji tego, więc trzeba ściągnąć do masy. Jeśli jest do zasilania to wtedy mikrofon pracuje na drugim kanale, ten pin nie może być w powietrzu.

Druga kwestia to modulacja PDM, powinieneś mieć w sekcji mikrofonu to, a masz coś innego

    adc_type: external
    pdm: true

Jak to zadziała to masz ogromne piwo! :beer:

pytałem czy masz

ale wygrzebałem z 1 posta

konfiguracja którą wspomniałem jest dla SPM1423, nie wiem jaka ma być dla twojego mikrofonu, prawdopodobnie masz prawidłową, za to możesz pin wyboru kanału przełączyć w przeciwną pozycję…

1 polubienie

@szopen nakierowałeś mnie z tym żeby ukierunkować mu kanał i wychodzi na to że zadziałało :smiley: teraz część kodu odpowiadająca za audio wygląda tak:

  - id: i2s_mic
    i2s_lrclk_pin: GPIO22  #WS
    i2s_bclk_pin: GPIO21   #SCK
  - id: i2s_out
    i2s_lrclk_pin: GPIO32 #LRCLK
    i2s_bclk_pin: GPIO27  #BLCK

microphone:
  - platform: i2s_audio
    id: mikrofon
    adc_type: external 
    channel: right
    bits_per_sample: 32bit
    i2s_audio_id: i2s_mic 
    i2s_din_pin: GPIO4   #DIN,SDIN,SD,SDATA
    pdm: false
        
voice_assistant:
  id: va
  microphone: mikrofon
  use_wake_word: true
  noise_suppression_level: 2
  auto_gain: 31dBFS
  on_listening:
      - rtttl.play: 'two_short:d=4,o=5,b=100:16e6,16e6'



    
media_player:
  - platform: i2s_audio
    id: player
    name: ESP Media Player
    dac_type: external
    i2s_audio_id: i2s_out
    mode: mono
    i2s_dout_pin: GPIO2 #DIN,SDIN,SD,SDATA
    on_play:
      - logger.log: "playing"
      - switch.turn_off: use_wake_word
    on_pause:
      - logger.log: "paused"
      - switch.turn_on: use_wake_word
    on_idle:
      - logger.log: "idle"
      - switch.turn_on: use_wake_word

A ja wreszcie mogę kontynuować ciąg dalszy pojektu :saluting_face:

4 polubienia

Cześć, rozglądam się za czymś czym będę mógł sterowa HA głosowo. Chciałem dopytać, czy oprócz opisanego tutaj Hardware i konfigu ESPHome potrzebne jest coś jeszcze ? Wspominałeś coś o Nabu Casa, czy to jest konieczność ?

Jest jeszcze coś takiego jak VOSK GitHub - rhasspy/hassio-addons: Add-ons for Home Assistant's Hass.IO którego jeszcze nie testowałem na dłuższą metę (sprawdzałem tylko czas reakcji i poprawność rozpoznawania słów). Jak nie potrzebujesz głośnika do tego asystenta to za kilka dni będę sprzedawał ESP32- budowa swojego Atom Echo :wink:

Super projekt tylko na max glos jest cicho od czego może to zależeć

Od wzmacniacza audio, od impedancji i efektywności głośnika, od tego czy “max” to faktycznie pełne wysterowanie.

ten układ

ma takie parametry
3.2W Output Power into 4Ω at 5V
ale (szacowanie z prawa Ohma, ale wzmacniacz w klasie D, więc nie do końca to podchodzi pod prawo Ohma, ale przykładowe deklarowane wartości znajdziesz w datasheet’cie wyżej)

  1. moc jest proporcjonalna mniej więcej do kwadratu napięcia zasilania, więc jeśli zasilasz go 3.3V zamiast 5V to osiągniesz najwyżej 1.4W na głośniku 4Ω
  2. jeśli głośnik ma 8Ω zamiast 4Ω (przy zasilaniu 5V) to zamiast
    3.2W osiągniesz co najwyżej koło 1.6W
  3. jeśli równocześnie spełnione są przypadłości z punktów 1 i 2 to będzie to zaledwie koło 0.7W
  4. efektywność mógłbyś porównać znając tylko rzeczywiste parametry porównywanych głośników (ale, tak - różnica może być ogromna) właściwości akustyczne obudowy też mają duże znaczenie
  5. gdybyś dał 2 wzmacniacze i 2 głośniki, to odczuwalnie będzie tylko troszeczkę głośniej (ale można mieć wtedy stereo) obiektywnie będzie to jakieś 40% głośniej (w ultra uproszczeniu takie zjawiska falowe sumują się mniej więcej tak: 1+1=1.4), ale fizjologicznie odczuwamy takie zmiany w skali logarytmicznej.

głośnik zamówiony na alliexpres:

esp i głośnik zasilany z portu usb
Dodam jeszcze że zasiliłem 5v płytkę a nie jak na projekcie 3v

No to już wiesz, że wydzieli się w nim 2x mniejsza moc niż w 4-omowym.

A oprócz tego głośniki impregnowane mają raczej dużo gorszą efektywność (czyli taką “głośność z wata”) od zwykłych.

No to tak jak @szopen pisze: problem z głośnością będzie wynikał ze zastosowanego głośnika. 6W i 8ohm ten mały wzmacniacz obsłuży w małym stopniu. Żeby taki głośnik wysterować z pełną głośnością to potrzebował byś modułu PCM5102A i wzmacniacza np. TDA2030A. Niestety wieksza moc potrzebuje większego napięcia więc przetwornica step up też jest mile widziana

Lepiej zasilić całość wyższym napięciem i je obniżać, tam gdzie trzeba.
(a na regulatorze liniowym łatwiej uzyskać napięcie bez tętnień co jest istotne w audio)

Pewnie że lepiej ale wtedy już traci się możliwość zasilania przez USB a taki zasilacz jest w każdym domu :wink: nie wiem jakiejś głośności oczekuje @szybki946 bo jeśli nie max to myślę że przetwornica by wystarczyła.

To jaki głośnik warto kupić do sufity
Taki był by dobry:
https://allegro.pl/oferta/glosnik-sufitowy-ws-80-50mm-5w-8ohm-16277423731

To w ogóle było pytanie czy stwierdzenie?

Każdy by był dobry, tylko danych technicznych głośników z tych 2 ofert nie da się porównać… bo Chińczyk pominął kwestię efektywności.
Więc jedyne co możesz zrobić to kupić kolejny i dokonać testów organoleptycznych.

Zauważ, że na 4-omowym głośniku uzyskasz 2x wyższą moc, a tymczasem oba są 8Ω. (impedancja głośnika ma znaczenie przy zasilaniu układu bardzo niskim napięciem - wtedy optymalnie użyć głośniki o niskiej impedancji - dlatego głośniki samochodowe, gdzie dostępne napięcie to 12-15V to zwykle 4Ω, a suby, gdzie potrzeba dużej mocy często 2Ω lub mniej, no a… 12V to jednak sporo więcej niz 5V)
Ale moc to nie wszystko… taka sama głośność będzie dla dostarczonej mocy do głośnika 5W o SPL 85 dB jak i 2.5W przy efektywności 88dB.
(w tej drugiej ofercie przynajmniej jest zastrzeżenie o tym że SPL jest z rozrzutem ±2dB czyli jeden egzemplarz od innego może różnić się głośnością przy tej samej mocy ponad dwukrotnie).

Wstawiłeś tamten głośniczek na testy w docelowe miejsce?


I jeszcze jedno - to co dla jednego jest “za cicho”, to dla innego może być “za głośno”.