{"id":5127,"date":"2026-06-04T12:38:54","date_gmt":"2026-06-04T10:38:54","guid":{"rendered":"https:\/\/g7itchme.wordpress.com\/?p=5127"},"modified":"2026-06-04T12:38:54","modified_gmt":"2026-06-04T10:38:54","slug":"die-wiederentdeckung-des-g-722-wie-pcmflow722-die-esp-now-sprachkommunikation-auf-hd-niveau-hebt","status":"publish","type":"post","link":"https:\/\/technodidact.de\/en\/die-wiederentdeckung-des-g-722-wie-pcmflow722-die-esp-now-sprachkommunikation-auf-hd-niveau-hebt\/","title":{"rendered":"Die Wiederentdeckung des G.722: Wie PCMFlow722 die ESP-NOW-Sprachkommunikation auf HD-Niveau hebt"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>Autor: DerSchneider<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Einleitung: Eine alte L\u00f6sung f\u00fcr ein neues Problem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Welt der Mikrocontroller-Kommunikation gleicht oft einer Reise zur\u00fcck in die Anf\u00e4nge digitaler Audio\u00fcbertragung. W\u00e4hrend Smartphones und Breitbandverbindungen l\u00e4ngst High-Definition-Sprache mit breitbandigen Codecs wie Opus oder AAC selbstverst\u00e4ndlich gemacht haben, k\u00e4mpfen Bastler und Entwickler mit ESP32-basierten Systemen noch mit den Beschr\u00e4nkungen einfacher Funkprotokolle. Das k\u00fcrzlich vorgestellte Projekt&nbsp;<strong>PCMFlow722<\/strong>&nbsp;des Entwicklers Tanaka Masayuki markiert einen bemerkenswerten Wendepunkt: Es bringt HD-Sprache \u00fcber das minimalistische ESP-NOW-Protokoll \u2013 und das mit einem Codec, der dieses Jahr sein 40-j\u00e4hriges Jubil\u00e4um feiern k\u00f6nnte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Clou: PCMFlow722 nutzt den&nbsp;<strong>G.722<\/strong>-Codec, einen 1984 von der ITU-T standardisierten Breitband-Audiocodec, der urspr\u00fcnglich f\u00fcr die professionelle Telefonie und Konferenzsysteme entwickelt wurde. Die Bibliothek erm\u00f6glicht halbduplex Echtzeit-Kommunikation mit 7 kHz Audio-Bandbreite bei nur 64 kbit\/s \u2013 bei gleicher Paketgr\u00f6\u00dfe wie das deutlich schlechtere G.711.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Artikel beleuchtet die technischen Hintergr\u00fcnde, historischen Entwicklungen und praktischen Implikationen dieses Projekts. Er fragt, warum ein 40 Jahre alter Codec heute pl\u00f6tzlich wieder relevant wird, welche Kompromisse die Entwicklung birgt und was das f\u00fcr die Zukunft der ESP32-Funkkommunikation bedeutet.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Teil 1: Technische Grundlagen \u2013 Was PCMFlow722 leistet<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Die drei S\u00e4ulen des Systems<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das Projekt basiert auf drei zentralen Technologien, deren Zusammenspiel pr\u00e4zise auf die Beschr\u00e4nkungen von ESP-NOW abgestimmt ist:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Komponente<\/th><th class=\"has-text-align-left\" data-align=\"left\">Eigenschaft<\/th><th class=\"has-text-align-left\" data-align=\"left\">Einschr\u00e4nkung durch ESP-NOW<\/th><th class=\"has-text-align-left\" data-align=\"left\">L\u00f6sung durch PCMFlow722<\/th><\/tr><\/thead><tbody><tr><td><strong>ESP-NOW<\/strong><\/td><td>Paketgr\u00f6\u00dfe max. 250 Bytes<\/td><td>\u00dcbertragung unkomprimierter PCM unm\u00f6glich<\/td><td>Kompression auf 160 Bytes pro Frame<\/td><\/tr><tr><td><strong>G.722<\/strong><\/td><td>64 kbit\/s, 7 kHz Bandbreite<\/td><td>Ben\u00f6tigt effiziente Paketisierung<\/td><td>20 ms Frames passen perfekt<\/td><\/tr><tr><td><strong>ESP32<\/strong><\/td><td>Begrenzte Rechenleistung, Fixpunkt-Arithmetik<\/td><td>Echtzeit-Codierung komplexer Codecs schwer<\/td><td>G.722 ist Fixpunkt-optimiert<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Der entscheidende technische Durchbruch liegt in der Wahl des&nbsp;<strong>20-ms-Frames<\/strong>: Bei 16 kHz Abtastrate erzeugt G.722 genau 160 Bytes an komprimierten Daten \u2013 das sind nur 64 % der maximalen ESP-NOW-Paketgr\u00f6\u00dfe, bleibt also Raum f\u00fcr Protokoll-Overhead.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 Vergleich der Audio-Codecs im ESP32-Kontext<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die folgende Tabelle zeigt, warum die Entscheidung f\u00fcr G.722 trotz seines Alters aus technischer Sicht brillant ist:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Codec<\/th><th class=\"has-text-align-left\" data-align=\"left\">Bitrate<\/th><th class=\"has-text-align-left\" data-align=\"left\">Audio-Bandbreite<\/th><th class=\"has-text-align-left\" data-align=\"left\">RAM-Bedarf (gesch\u00e4tzt)<\/th><th class=\"has-text-align-left\" data-align=\"left\">CPU-Last (ESP32)<\/th><th class=\"has-text-align-left\" data-align=\"left\">Echtzeit-Tauglichkeit<\/th><\/tr><\/thead><tbody><tr><td>Unkompr. PCM (16 kHz\/16 bit)<\/td><td>256 kbit\/s<\/td><td>8 kHz<\/td><td>0<\/td><td>keine<\/td><td>Datenrate zu hoch<\/td><\/tr><tr><td>G.711 (\u03bc-law\/A-law)<\/td><td>64 kbit\/s<\/td><td>3,4 kHz<\/td><td>sehr gering<\/td><td>sehr gering<\/td><td>ja, aber geringe Qualit\u00e4t<\/td><\/tr><tr><td><strong>G.722<\/strong><\/td><td><strong>64 kbit\/s<\/strong><\/td><td><strong>7 kHz<\/strong><\/td><td><strong>gering<\/strong><\/td><td><strong>gering<\/strong><\/td><td><strong>ja, ideal<\/strong><\/td><\/tr><tr><td>MP3 (128 kbit\/s)<\/td><td>128 kbit\/s<\/td><td>variabel<\/td><td>mittel<\/td><td>mittel-hoch<\/td><td>nein (Latenz)<\/td><\/tr><tr><td>Opus (32-64 kbit\/s)<\/td><td>32-64 kbit\/s<\/td><td>bis 20 kHz<\/td><td>hoch (40+ KB)<\/td><td>hoch (Flie\u00dfkomma)<\/td><td>bedingt<\/td><\/tr><tr><td>Codec2 (1,2-9,6 kbit\/s)<\/td><td>variabel<\/td><td>stark begrenzt<\/td><td>gering<\/td><td>mittel<\/td><td>ja, aber keine HD-Qualit\u00e4t<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Besonders aufschlussreich ist der Vergleich mit&nbsp;<strong>Opus<\/strong>: Obwohl Opus objektiv den besseren Codec darstellt (bessere Klangqualit\u00e4t bei gleicher oder niedrigerer Bitrate), scheitert er an der ESP32-Hardware. Opus ist f\u00fcr Flie\u00dfkomma-Berechnungen optimiert und ben\u00f6tigt erheblichen Arbeitsspeicher \u2013 Ressourcen, die auf dem ESP32 knapp sind. G.722 hingegen arbeitet mit einfacher Fixpunkt-Arithmetik und kommt mit minimalem RAM aus.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.3 Halbduplex als bewusste Einschr\u00e4nkung<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Implementierung ist als&nbsp;<strong>Halbduplex<\/strong>&nbsp;ausgelegt \u2013 wie bei einem Walkie-Talkie muss eine Taste gedr\u00fcckt werden, um zu sprechen. Das ist keine technische Schw\u00e4che, sondern eine notwendige Anpassung an die Gegebenheiten von ESP-NOW:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ESP-NOW kann nicht gleichzeitig senden und empfangen<\/li>\n\n\n\n<li>Vollduplex w\u00fcrde zwei parallele Verbindungen oder ausgefeiltes Time-Division Duplexing erfordern<\/li>\n\n\n\n<li>Die Latenz w\u00fcrde durch Pufferung und RTS\/CTS-Mechanismen erheblich steigen<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr den Einsatzzweck (Walkie-Talkie-\u00c4quivalent) ist Halbduplex jedoch v\u00f6llig ausreichend.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Teil 2: Historische Einordnung \u2013 Die Geburt des G.722 vor 40 Jahren<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 Der Stand der Technik 1984<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Um die Bedeutung von G.722 zu verstehen, ist ein Blick in die Mitte der 1980er Jahre notwendig:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Telefonnetze<\/strong>\u00a0waren analog oder nutzten einfache PCM-Codierung mit 8 kHz Abtastrate (G.711)<\/li>\n\n\n\n<li><strong>Audio-Bandbreite<\/strong>\u00a0im Telefonnetz: 300 Hz bis 3.400 Hz \u2013 ausreichend f\u00fcr Sprachverst\u00e4ndlichkeit, aber metallisch und nasal<\/li>\n\n\n\n<li><strong>Erste digitale Konferenzsysteme<\/strong>\u00a0scheiterten an der schlechten Sprachqualit\u00e4t<\/li>\n\n\n\n<li><strong>ISDN<\/strong>\u00a0(Integrated Services Digital Network) wurde gerade eingef\u00fchrt, mit 64 kbit\/s Kan\u00e4len<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Die ITU-T (damals noch CCITT) erkannte das Problem: F\u00fcr professionelle Telefonkonferenzen und Rundfunk-\u00dcbertragungen war die herk\u00f6mmliche Telefonqualit\u00e4t unzureichend. Das Ziel war ein Codec, der bei&nbsp;<strong>ISDN-tauglichen 64 kbit\/s<\/strong>&nbsp;eine&nbsp;<strong>Bandbreite von 50 Hz bis 7 kHz<\/strong>&nbsp;\u00fcbertragen kann \u2013 das entspricht in etwa der Qualit\u00e4t eines UKW-Radios.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 Die technische Innovation von G.722<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">G.722 nutzt ein&nbsp;<strong>Subband-ADPCM<\/strong>-Verfahren (Adaptive Differential Pulse Code Modulation) \u2013 ein f\u00fcr die 80er Jahre revolution\u00e4rer Ansatz:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Das Eingangssignal (16 kHz Abtastrate) wird in zwei Frequenzb\u00e4nder aufgeteilt: ein unteres Band (0-4 kHz) und ein oberes Band (4-8 kHz)<\/li>\n\n\n\n<li>Beide B\u00e4nder werden separat mit ADPCM codiert<\/li>\n\n\n\n<li>Das untere Band erh\u00e4lt 48 kbit\/s, das obere Band 16 kbit\/s<\/li>\n\n\n\n<li>Die Gesamtbitrate betr\u00e4gt 64 kbit\/s \u2013 perfekt f\u00fcr einen ISDN-B-Kanal<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Die Besonderheit: ADPCM codiert nicht den absoluten Signalwert, sondern die&nbsp;<strong>Differenz<\/strong>&nbsp;zwischen vorhergesagtem und tats\u00e4chlichem Wert. Das spart Bits, ohne die Qualit\u00e4t stark zu beeintr\u00e4chtigen, und arbeitet ausschlie\u00dflich mit&nbsp;<strong>Fixpunkt-Arithmetik<\/strong>&nbsp;\u2013 ein entscheidender Vorteil f\u00fcr die sp\u00e4tere Implementierung auf Mikrocontrollern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 Vom professionellen Nischenprodukt zum Vergessen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Trotz seiner technischen \u00dcberlegenheit blieb G.722 lange Zeit ein Nischenprodukt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ISDN<\/strong>\u00a0setzte sich im Massenmarkt nie durch (besonders nicht in den USA)<\/li>\n\n\n\n<li>Die ben\u00f6tigten\u00a0<strong>16-kHz-Audio-Hardware<\/strong>\u00a0war in den 80er\/90er Jahren teuer<\/li>\n\n\n\n<li>F\u00fcr normale Telefonate war G.711 &#8222;gut genug&#8220;<\/li>\n\n\n\n<li><strong>Mobile Netze<\/strong>\u00a0(GSM) setzten auf eigene, schmalbandige Codecs (GSM-FR, sp\u00e4ter EFR, AMR)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Erst mit dem Aufkommen von&nbsp;<strong>VoIP<\/strong>&nbsp;und&nbsp;<strong>Wideband Voice<\/strong>&nbsp;(HD Voice) Anfang der 2000er Jahre erlebte G.722 ein kurzes Revival. Zahlreiche VoIP-Anbieter und Konferenzsysteme setzten auf G.722 \u2013 bis es ab etwa 2010 durch modernere Codecs wie&nbsp;<strong>G.722.1<\/strong>&nbsp;(Polycom Siren7),&nbsp;<strong>AAC-LD<\/strong>&nbsp;oder&nbsp;<strong>Opus<\/strong>&nbsp;abgel\u00f6st wurde.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 Die ironische R\u00fcckkehr: Warum G.722 heute f\u00fcr den ESP32 perfekt ist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Embedded-Welt dreht die Zeit zur\u00fcck: Was als veraltet galt, ist pl\u00f6tzlich wieder hochmodern. Gr\u00fcnde f\u00fcr die Relevanz von G.722 im ESP32-Kontext:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Geringe Komplexit\u00e4t<\/strong>: G.722 kommt mit wenigen Kilobyte Code aus (gesch\u00e4tzt 4-8 KB), Opus ben\u00f6tigt 50-100 KB<\/li>\n\n\n\n<li><strong>Fixpunkt-Optimierung<\/strong>: Keine Flie\u00dfkomma-Operationen n\u00f6tig, daher schnell und deterministisch<\/li>\n\n\n\n<li><strong>Ausgelaufene Patente<\/strong>: G.722 ist gemeinfrei (die \u00e4ltesten Patente liefen um 2004-2006 aus)<\/li>\n\n\n\n<li><strong>Bekannte Implementierungen<\/strong>: Zahlreiche Open-Source-Referenzimplementierungen verf\u00fcgbar<\/li>\n\n\n\n<li><strong>Perfekte Paketgr\u00f6\u00dfe<\/strong>: Die 20-ms-Frames passen ideal zu ESP-NOW<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In gewisser Weise wiederholt sich hier die Geschichte: Was f\u00fcr ISDN-Kan\u00e4le entwickelt wurde, passt heute perfekt in die ESP-NOW-Pakete \u2013 beides sind 64-kbit\/s-Kan\u00e4le mit \u00e4hnlichen Latenzanforderungen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Teil 3: Kritische Analyse \u2013 Einschr\u00e4nkungen und offene Fragen<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Die Halbduplex-Problematik im Detail<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der Artikel und die Kommentare erw\u00e4hnen die Halbduplex-Eigenschaft, gehen aber nicht auf die praktischen Konsequenzen ein:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kollisionen<\/strong>: Wenn zwei Teilnehmer gleichzeitig senden (weil beide die Taste dr\u00fccken), kollidieren die Pakete im Luftraum. ESP-NOW hat zwar Best\u00e4tigungen (ACKs), aber keine ausgefeilte Kollisionsvermeidung wie CSMA\/CA im WLAN.<\/li>\n\n\n\n<li><strong>Push-to-Talk-Verz\u00f6gerung<\/strong>: Die Verz\u00f6gerung zwischen Tastendruck und tats\u00e4chlichem Sendestart ist im Quelltext nicht dokumentiert.<\/li>\n\n\n\n<li><strong>Keine automatische Umschaltung<\/strong>: Der Benutzer muss manuell zwischen Senden und Empfangen wechseln \u2013 das ist nicht &#8222;Echtzeit-Kommunikation&#8220; im engeren Sinne, sondern ein digitales Walkie-Talkie.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ein echter Vollduplex-Betrieb w\u00fcrde&nbsp;<strong>Time-Division Duplexing<\/strong>&nbsp;(TDD) erfordern \u2013 also eine Zeitschlitz-Verwaltung, bei der abwechselnd gesendet und empfangen wird. Das w\u00e4re technisch m\u00f6glich (jeder Teilnehmer sendet in einem eigenen Zeitschlitz), erh\u00f6ht aber die Latenz und Komplexit\u00e4t erheblich.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 Reichweite vs. Audioqualit\u00e4t \u2013 ein ungel\u00f6ster Konflikt<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Kommentator (itchy n scratchy) weist zu Recht darauf hin: G.722 und G.711 haben identische&nbsp;<strong>On-Air-Bitrate<\/strong>&nbsp;von 64 kbit\/s. Das bedeutet:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kein Reichweitenvorteil<\/strong>\u00a0durch niedrigere Bitrate<\/li>\n\n\n\n<li>F\u00fcr gr\u00f6\u00dfere Reichweiten w\u00e4ren Codecs mit\u00a0<strong>deutlich niedrigerer Bitrate<\/strong>\u00a0notwendig (z.B. Codec2 mit 1,2-9,6 kbit\/s)<\/li>\n\n\n\n<li>Ein solcher Codec k\u00f6nnte dann \u00fcber\u00a0<strong>LoRa<\/strong>\u00a0(Long Range) \u00fcbertragen werden \u2013 mit Kilometern Reichweite, aber roboterhafter Sprachqualit\u00e4t<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hier zeigt sich ein grundlegender Zielkonflikt des Projekts: HD-Qualit\u00e4t oder gro\u00dfe Reichweite? PCMFlow722 entscheidet sich klar f\u00fcr Qualit\u00e4t auf Kosten der Reichweite. Das ist legitim, sollte aber kommuniziert werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 Skalierbarkeit \u2013 Wie viele Teilnehmer sind m\u00f6glich?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Der Artikel erw\u00e4hnt &#8222;one or more Core2 devices&#8220;, bleibt aber vage bez\u00fcglich der maximalen Teilnehmerzahl. Basierend auf den ESP-NOW-Spezifikationen:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Anzahl Teilnehmer<\/th><th class=\"has-text-align-left\" data-align=\"left\">Technische Machbarkeit<\/th><th class=\"has-text-align-left\" data-align=\"left\">Praktische Einschr\u00e4nkungen<\/th><\/tr><\/thead><tbody><tr><td>2 (Punkt-zu-Punkt)<\/td><td>Ja, ideal<\/td><td>Keine<\/td><\/tr><tr><td>3-5<\/td><td>Ja<\/td><td>Zunehmende Paketkollisionen, wenn alle gleichzeitig senden wollen<\/td><\/tr><tr><td>6-10<\/td><td>Eingeschr\u00e4nkt<\/td><td>ESP-NOW unterst\u00fctzt max. 20 verschl\u00fcsselte Peers; Kollisionen werden problematisch<\/td><\/tr><tr><td>&gt;10<\/td><td>Nein<\/td><td>ESP-NOW skaliert nicht f\u00fcr Echtzeit-Audio<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die begrenzende Gr\u00f6\u00dfe ist nicht der Codec, sondern das&nbsp;<strong>MAC-Layer-Design<\/strong>&nbsp;von ESP-NOW. Es ist f\u00fcr einfache Sensornetzwerke optimiert, nicht f\u00fcr Echtzeit-Audio mit mehreren Teilnehmern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.4 Timing und Latenz \u2013 Die unsichtbare Herausforderung<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Im Artikel nicht erw\u00e4hnt, aber kritisch f\u00fcr Echtzeit-Kommunikation: Die&nbsp;<strong>Latenz<\/strong>&nbsp;setzt sich zusammen aus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Erfassung<\/strong>: 20 ms (ein Frame)<\/li>\n\n\n\n<li><strong>Codierung<\/strong>: unbekannt, aber vermutlich &lt;5 ms<\/li>\n\n\n\n<li><strong>ESP-NOW \u00dcbertragung<\/strong>: typisch 1-10 ms (abh\u00e4ngig von Interferenzen)<\/li>\n\n\n\n<li><strong>Decodierung<\/strong>: &lt;5 ms<\/li>\n\n\n\n<li><strong>Wiedergabe<\/strong>: 20 ms (Pufferung)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Gesamtlatenz sch\u00e4tzungsweise&nbsp;<strong>50-80 ms<\/strong>&nbsp;\u2013 das ist f\u00fcr Walkie-Talkie akzeptabel, aber am oberen Limit f\u00fcr fl\u00fcssige Konversation. Problematisch wird es bei:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Paketverlusten<\/strong>: ESP-NOW wiederholt verlorene Pakete nicht automatisch<\/li>\n\n\n\n<li><strong>Schwankender Latenz<\/strong>\u00a0(Jitter): Kein Puffer-Mechanismus im Quelltext erw\u00e4hnt<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Teil 4: Praktische Implikationen \u2013 F\u00fcr wen ist PCMFlow722 sinnvoll?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Ideale Anwendungsf\u00e4lle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das Projekt gl\u00e4nzt in Szenarien mit folgenden Eigenschaften:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kurze Distanzen<\/strong>\u00a0(&lt;50 m Sichtkontakt)<\/li>\n\n\n\n<li><strong>Wenige Teilnehmer<\/strong>\u00a0(2-4)<\/li>\n\n\n\n<li><strong>Keine Vollduplex-Notwendigkeit<\/strong><\/li>\n\n\n\n<li><strong>Betonung auf Sprachqualit\u00e4t<\/strong>\u00a0statt Reichweite<\/li>\n\n\n\n<li><strong>Bastler-\/Bildungskontext<\/strong>\u00a0(Lernprojekt)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Konkrete Beispiele:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Funkrufsystem in einem Maker Space<\/strong>\u00a0(Ausstellungen, Workshops)<\/li>\n\n\n\n<li><strong>Kommunikationssystem f\u00fcr Modellbau<\/strong>\u00a0(RC-Fahrzeuge, Drohnen mit Sprachlink)<\/li>\n\n\n\n<li><strong>Lernprojekt f\u00fcr Studenten<\/strong>\u00a0(Audio-Codecs, Funkprotokolle)<\/li>\n\n\n\n<li><strong>Intercom in kleinen Geb\u00e4uden<\/strong>\u00a0(Werkstatt, Labor)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 Weniger geeignete Szenarien<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das Projekt ist nicht zu empfehlen f\u00fcr:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Gro\u00dfe Geb\u00e4ude oder Au\u00dfenbereiche<\/strong>\u00a0(Reichweite zu gering)<\/li>\n\n\n\n<li><strong>Mehrere simultane Sprecher<\/strong>\u00a0(Kollisionen)<\/li>\n\n\n\n<li><strong>Sicherheitskritische Anwendungen<\/strong>\u00a0(keine garantierte Paketzustellung)<\/li>\n\n\n\n<li><strong>Professionelle Funkger\u00e4te<\/strong>\u00a0(fehlende Zertifizierung, keine Notruffunktionen)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.3 Vergleich mit alternativen L\u00f6sungen<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">L\u00f6sung<\/th><th class=\"has-text-align-left\" data-align=\"left\">Bitrate<\/th><th class=\"has-text-align-left\" data-align=\"left\">Reichweite<\/th><th class=\"has-text-align-left\" data-align=\"left\">Audio-Qualit\u00e4t<\/th><th class=\"has-text-align-left\" data-align=\"left\">Komplexit\u00e4t<\/th><th class=\"has-text-align-left\" data-align=\"left\">Kosten pro Einheit<\/th><\/tr><\/thead><tbody><tr><td>PCMFlow722 (ESP-NOW + G.722)<\/td><td>64 kbit\/s<\/td><td>50-100 m<\/td><td>HD (7 kHz)<\/td><td>mittel<\/td><td>ca. 15-30 \u20ac (ESP32 + Audio)<\/td><\/tr><tr><td>Analoges Walkie-Talkie (PMR446)<\/td><td>analog<\/td><td>1-3 km<\/td><td>mittel (FM)<\/td><td>gering<\/td><td>20-50 \u20ac<\/td><\/tr><tr><td>Digitales Walkie-Talkie (DMR)<\/td><td>variabel<\/td><td>1-5 km<\/td><td>mittel-gut<\/td><td>hoch<\/td><td>100-300 \u20ac<\/td><\/tr><tr><td>LoRa + Codec2<\/td><td>1,2-9,6 kbit\/s<\/td><td>1-10 km<\/td><td>roboterhaft<\/td><td>mittel<\/td><td>15-30 \u20ac<\/td><\/tr><tr><td>Smartphone + LTE\/VoWiFi<\/td><td>&gt;64 kbit\/s<\/td><td>weltweit<\/td><td>HD+<\/td><td>gering (Infrastruktur n\u00f6tig)<\/td><td>30+ \u20ac + monatlich<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">PCMFlow722 f\u00fcllt eine Nische:&nbsp;<strong>Billig, gute Qualit\u00e4t, kurze Reichweite, kein Infrastrukturbedarf<\/strong>. Das ist genau das, was Maker und Hobbyisten oft brauchen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Teil 5: Zukunftsperspektiven \u2013 Wohin k\u00f6nnte die Reise gehen?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">5.1 Technische Weiterentwicklungen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aus technischer Sicht sind folgende Erweiterungen denkbar:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Dynamische Bitratenanpassung<\/strong>: Die ESP-NOW-Kanalqualit\u00e4t messen und die G.722-Bitrate auf 48 oder 56 kbit\/s reduzieren (durch Weglassen des oberen Bandes) \u2013 das erh\u00f6ht die Robustheit bei schlechtem Empfang.<\/li>\n\n\n\n<li><strong>Vorw\u00e4rtsfehlerkorrektur (FEC)<\/strong>: Einfache Reed-Solomon-Codes \u00fcber mehrere Pakete k\u00f6nnten Paketverluste ausgleichen, ohne die Latenz stark zu erh\u00f6hen.<\/li>\n\n\n\n<li><strong>Automatische Umschaltung (Voice Operated Switch &#8211; VOX)<\/strong>: Erkennung von Sprache im Audiosignal, automatischer Wechsel zwischen Senden\/Empfangen \u2013 das w\u00e4re ein echter Fortschritt gegen\u00fcber Push-to-Talk.<\/li>\n\n\n\n<li><strong>Plausible Vollduplex-Implementierung<\/strong>: Time-Division Duplexing mit festen Zeitschlitzen (z.B. alle 40 ms wechseln). Das w\u00fcrde die Nutzbarkeit massiv erh\u00f6hen, aber die Latenz verdoppeln.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">5.2 Hardware-Alternativen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die ESP32-Plattform ist nicht in Stein gemei\u00dfelt. Interessante Alternativen f\u00fcr zuk\u00fcnftige Portierungen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Raspberry Pi Pico W<\/strong>\u00a0(RP2040 mit CYW43439): \u00c4hnliche Leistung, aber weniger etabliertes ESP-NOW-\u00c4quivalent<\/li>\n\n\n\n<li><strong>ESP32-S3<\/strong>\u00a0(noch mehr Rechenleistung, evtl. Opus m\u00f6glich)<\/li>\n\n\n\n<li><strong>nRF52-Serie<\/strong>\u00a0(Bluetooth LE, anderer Ansatz)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Besonders spannend: Der&nbsp;<strong>ESP32-C6<\/strong>&nbsp;mit IEEE 802.15.4 (Thread\/Zigbee) \u2013 das w\u00fcrde den Weg f\u00fcr&nbsp;<strong>6LoWPAN<\/strong>-basierte Sprachkommunikation \u00f6ffnen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.3 Die gr\u00f6\u00dfere Frage: Brauchen wir G.722 oder etwas ganz Neues?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Die Wiederentdeckung von G.722 wirft eine grunds\u00e4tzliche Frage auf: Ist es sinnvoll, alte Codecs zu reanimieren, oder sollten wir&nbsp;<strong>neue, speziell f\u00fcr Embedded-Systeme optimierte Codecs<\/strong>&nbsp;entwickeln?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Kommentar im Artikel (itchy n scratchy) erw\u00e4hnt den&nbsp;<strong>GSM Full Rate (GSM-FR)<\/strong>&nbsp;Codec \u2013 13 kbit\/s, einfache Fixpunkt-Implementierung, aber schmalbandig (3,4 kHz). Das w\u00e4re ein Kompromiss zwischen Reichweite und Qualit\u00e4t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die ultimative L\u00f6sung k\u00f6nnte ein&nbsp;<strong>Hybrid-Ansatz<\/strong>&nbsp;sein:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Gutem Empfang<\/strong>: G.722 mit 64 kbit\/s f\u00fcr HD-Qualit\u00e4t<\/li>\n\n\n\n<li><strong>Schlechtem Empfang<\/strong>: GSM-FR mit 13 kbit\/s f\u00fcr Basis-Kommunikation<\/li>\n\n\n\n<li><strong>Sehr schlechtem Empfang<\/strong>: Codec2 mit 2,4 kbit\/s f\u00fcr &#8222;Notfallmodus&#8220;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Eine solche&nbsp;<strong>adaptive Codec-Umschaltung<\/strong>&nbsp;ist technisch anspruchsvoll, aber durchaus machbar \u2013 und w\u00fcrde die Einsetzbarkeit enorm verbessern.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit &amp; Ausblick<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das PCMFlow722-Projekt ist mehr als nur eine weitere Arduino-Bibliothek. Es ist ein Paradebeispiel f\u00fcr&nbsp;<strong>technischen Pragmatismus<\/strong>&nbsp;in der Embedded-Welt: Die Wahl eines 40 Jahre alten Codecs erweist sich aus heutiger Sicht als genialer Schachzug, der perfekt zu den Beschr\u00e4nkungen von ESP-NOW passt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Die St\u00e4rken liegen auf der Hand:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HD-Sprachqualit\u00e4t mit minimalen Ressourcen<\/li>\n\n\n\n<li>Einfache Implementierung dank ausgelaufener Patente<\/li>\n\n\n\n<li>Perfekte Passung zu ESP-NOW-Paketgr\u00f6\u00dfen<\/li>\n\n\n\n<li>Funktionierender Proof-of-Concept auf Standard-Hardware<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Die Schw\u00e4chen sind ebenso klar:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Halbduplex mit manueller Umschaltung<\/li>\n\n\n\n<li>Begrenzte Reichweite (kein Vorteil gegen\u00fcber G.711)<\/li>\n\n\n\n<li>Schlechte Skalierbarkeit auf viele Teilnehmer<\/li>\n\n\n\n<li>Keine Fehlerkorrektur bei Paketverlusten<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr die&nbsp;<strong>Community der Maker, Hobby-Elektroniker und Studierenden<\/strong>&nbsp;ist PCMFlow722 eine absolute Bereicherung. Es senkt die Einstiegsh\u00fcrde f\u00fcr Echtzeit-Audio \u00fcber ESP32 drastisch und zeigt, dass man nicht immer den neuesten, komplexesten Codec braucht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Der kritische Ausblick:<\/strong>&nbsp;In zwei bis drei Jahren werden wir wahrscheinlich eine&nbsp;<strong>Opus-Portierung f\u00fcr ESP32<\/strong>&nbsp;sehen, sobald die Flie\u00dfkomma-Performance der Chips ausreicht oder eine optimierte Fixpunkt-Version existiert. Bis dahin bleibt G.722 die beste Wahl \u2013 ein w\u00fcrdiger Senior unter den Audiocodecs, der zeigt, dass gutes Design niemals veraltet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die eigentliche Lehre aus PCMFlow722 lautet:&nbsp;<strong>Technischer Fortschritt ist nicht immer linear<\/strong>. Manchmal liegt die L\u00f6sung nicht im Neuesten, sondern im am besten Geeigneten. Das ist eine Lektion, die nicht nur f\u00fcr Embedded-Entwickler, sondern f\u00fcr Ingenieure aller Disziplinen relevant ist.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Quellen<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>CNX Software<\/strong>\u00a0(2026): &#8222;PCMFlow722 library enables two-way real-time HD voice over ESP-NOW with G.722 audio codec&#8220; \u2013\u00a0<a href=\"https:\/\/www.cnx-software.com\/2026\/05\/30\/pcmflow722-library-enables-two-way-real-time-hd-voice-over-esp-now-with-g-722-audio-codec\/\" target=\"_blank\" rel=\"noopener\">Originalartikel<\/a><\/li>\n\n\n\n<li><strong>ITU-T Recommendation G.722<\/strong>\u00a0(1984, mehrere Revisionen): &#8222;7 kHz audio-coding within 64 kbit\/s&#8220; \u2013 International Telecommunication Union<\/li>\n\n\n\n<li><strong>Espressif Systems<\/strong>\u00a0(2021-2026): ESP-NOW Dokumentation und API-Referenz \u2013\u00a0<a href=\"https:\/\/docs.espressif.com\/projects\/esp-idf\/en\/latest\/esp32\/api-reference\/network\/esp_now.html\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.espressif.com\/projects\/esp-idf\/en\/latest\/esp32\/api-reference\/network\/esp_now.html<\/a><\/li>\n\n\n\n<li><strong>Tanaka Masayuki<\/strong>: PCMFlow722 GitHub Repository (angenommen, nicht direkt im Artikel verlinkt, aber als prim\u00e4re Quelle genannt)<\/li>\n\n\n\n<li><strong>Atomic14<\/strong>\u00a0(ca. 2021): &#8222;ESP32 Walkie Talkie&#8220; Projekt (im Artikel als historischer Vorl\u00e4ufer erw\u00e4hnt)<\/li>\n\n\n\n<li><strong>Adafruit Industries<\/strong>: &#8222;ESP-NOW Walkie-Talkie&#8220; Projekt (im Artikel als weiterer Vorl\u00e4ufer genannt)<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/xiph.org\/\" target=\"_blank\" rel=\"noopener\">Xiph.Org<\/a>\u00a0Foundation<\/strong>: Opus Codec Dokumentation und Vergleichswerte \u2013\u00a0<a href=\"https:\/\/opus-codec.org\/comparison\/\" target=\"_blank\" rel=\"noopener\">https:\/\/opus-codec.org\/comparison\/<\/a><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/rowetel.com\/\" target=\"_blank\" rel=\"noopener\">Rowetel.com<\/a><\/strong>\u00a0(David Rowe): Codec2 \u2013 Open Source Speech Codec \u2013\u00a0<a href=\"https:\/\/www.rowetel.com\/wordpress\/?page_id=452\" target=\"_blank\" rel=\"noopener\">https:\/\/www.rowetel.com\/wordpress\/?page_id=452<\/a>\u00a0(f\u00fcr den Vergleich mit schmalbandigen Codecs)<\/li>\n<\/ol>","protected":false},"excerpt":{"rendered":"<p>Autor: DerSchneider Einleitung: Eine alte L\u00f6sung f\u00fcr ein neues Problem Die Welt der Mikrocontroller-Kommunikation gleicht oft einer Reise zur\u00fcck in die Anf\u00e4nge digitaler Audio\u00fcbertragung. W\u00e4hrend Smartphones und Breitbandverbindungen l\u00e4ngst High-Definition-Sprache mit breitbandigen Codecs wie Opus oder AAC selbstverst\u00e4ndlich gemacht haben, k\u00e4mpfen Bastler und Entwickler mit ESP32-basierten Systemen noch mit den Beschr\u00e4nkungen einfacher Funkprotokolle. Das k\u00fcrzlich [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42,26],"tags":[603,1880,2072,2224,2225,2605,3025,7554],"class_list":["post-5127","post","type-post","status-publish","format-standard","hentry","category-elektrotechnik","category-mit-den-handen","tag-audiocodec","tag-echtzeit-kommunikation","tag-embedded-systeme","tag-esp-now","tag-esp32","tag-g-722","tag-hd-voice","tag-walkie-talkie"],"_links":{"self":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/posts\/5127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/comments?post=5127"}],"version-history":[{"count":0,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/posts\/5127\/revisions"}],"wp:attachment":[{"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/media?parent=5127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/categories?post=5127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/technodidact.de\/en\/wp-json\/wp\/v2\/tags?post=5127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}