PWM Audio mit ESP8266, schlechte Qualitaet, -Arduino

OP #4984386
Lesenswert?
• ▲
▼
Jo hallo, ich bin gerade dabei mit dem ESP8266 besser gesagt mit dem 
ESP-01 Modul eine PWM WIFI Speaker aufzubauen.

Die Audio Quelle ist der Browser und die Daten werden über eine 
Websocket Verbindung zum ESP gestreamt.

Das streamen an sich funktioniert. Aber die Ton Qualität ist echt mies, 
es Rauscht und Knarzt total.
Das Rauschen ist so Vehement, das ich mich kaum durch die Kopfhörer 
hören kann.

Das Gedöse fängt an sobald die Datenverbindung  gestartet wird.

Ich habe ja die Normierung der Float32 Samples zu Unit8 in verdacht.
let s = Math.max(-1, Math.min(1, filterSample));
s = parseInt(s*127+128);// Uint 8 bit 0-255

Oder es gibt ein Problem in der Bit-Reihenfolge zwischen Javascript und 
ESP.

Der duty cycle geht von 0-50% maximal.
Die PWM Frequenz ist 32768Hz
und die Übertragene Bandbreite ist 8000Hz
Für die PWM Auslösung sollte ausreichend sein 8bit sein.

Oder kann der ESP überhaupt kein PWM Audio, weil di GPIO's zu langsam 
sind.

Das ganze ist in Arduino Code gehalten, dass ist für mich als 
JavaScriptler einfacher.

Wer den code gebrannt hat, der kann unter esprxtx.local/update die 
index.html hochladen. Der Rest gescheit automatisch.

Zum testen funktioniert nur noch Firefox, für Chrome muss man die https 
Sperre aufhebeln.

Die Dateien sind im Anhang.
Die PWMAUDIO.ino ist jetzt 2 mal da warum auch immer.

VG,
Denny K.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.