Weiter zum Inhalt
  • Home
  • Aktuell
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Test einer Spracherkennung auf der CPU

NEWS

  • Monatsrückblick Oktober 2026 ist online!
    BluefoxB
    Bluefox
    10
    1
    266

  • Mitmachen: Sprich „ioBroker“ ein – für ein lokales Aktivierungswort
    BluefoxB
    Bluefox
    6
    1
    470

  • Neuer Blogbeitrag: KI in ioBroker, vom Helfer im Admin bis zum eigenen Smart Assistant
    BluefoxB
    Bluefox
    4
    1
    516

Test einer Spracherkennung auf der CPU

Geplant Angeheftet Gesperrt Verschoben Off Topic
4 Beiträge 2 Kommentatoren 166 Aufrufe 3 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • OliverIOO
    OliverIOO
    OliverIO
    schrieb am zuletzt editiert von OliverIO
    #1

    Ich schreibe das mal hier in OffTopic rein, da es zunächst erst mal nichts direkt mit iobroker zu tun hat, sondern nur ein Technologie Test ist.

    nvidia hat kürzlich ein neues KI Spracherkennungsmodell herausgegeben, das nun auch diverse europäische Sprachen erkennen kann.

    Details dazu in der model card auf huggingface
    https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3

    Mein Testaufbau ist der folgende:
    Im Browser wird über die AudioAPI des browsers der Ton aufgenommen und in 100ms Sekunden Häppchen per Websocket an den server gesendet.
    Dort erkennt dann das Modell die Sprache und sendet den Text zurück an den Browser zur Anzeige.
    Per Knopf kann das Mikrofon aktiviert/deaktiviert werden.

    Das Modell ist ca 600MB groß und ist in der Lage auch auf schwächeren CPUs zu laufen. Eine GPU wird nicht benötigt.
    Auf dem Serverrechner sollten ca 800MB-1000MB RAM frei sein.
    Das Programm hat bereits eine rudimentäre Wortersetzung für schwierig aussprechbare/erkennbare Wörter eingebaut
    config/corrections.json

    Ich würde mich freuen, wenn ich tester finden würde, die ihre Erfahrungen hier teilen.

    Die Installation ist in der Readme des repos
    beschrieben.

    https://github.com/oweitman/parakeet

    oder einfach durch die folgenden Schritte ausführen

    git clone https://github.com/oweitman/parakeet.git parakeet-demo
    cd parakeet-demo
    ONNXRUNTIME_NODE_INSTALL=skip npm ci --omit=dev
    npm run download-model
    npm run smoke
    npm start
    

    Der Befehl
    npm run download-model
    dauert ein wenig da dadurch das 600MB model von hugginface heruntergeladen wird.

    Wenn ihr lokal testet, dann im browser einfach
    http://localhost:9999
    aufrufen.

    Wer echt remote testen will muss leider entweder auf dem server ein (lokales) ssl zertifkat haben oder per ssh tunnel den remote port auf den lokalen rechner tunneln (details sind in der SERVER.md beschrieben.

    Wer längere Texte testen möchte, kann auch einfach mal den Fernseher parallel laufen lassen. Am besten sind Dokumentationen.

    Hintergrund ist, der browser gibt Zugriff auf die Audio API nur für https Seiten oder localhost/127.0.0.1 Zugriffe frei
    https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API

    image.jpeg

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    Jey CeeJ 1 Antwort Letzte Antwort
    2
    • OliverIOO OliverIO

      Ich schreibe das mal hier in OffTopic rein, da es zunächst erst mal nichts direkt mit iobroker zu tun hat, sondern nur ein Technologie Test ist.

      nvidia hat kürzlich ein neues KI Spracherkennungsmodell herausgegeben, das nun auch diverse europäische Sprachen erkennen kann.

      Details dazu in der model card auf huggingface
      https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3

      Mein Testaufbau ist der folgende:
      Im Browser wird über die AudioAPI des browsers der Ton aufgenommen und in 100ms Sekunden Häppchen per Websocket an den server gesendet.
      Dort erkennt dann das Modell die Sprache und sendet den Text zurück an den Browser zur Anzeige.
      Per Knopf kann das Mikrofon aktiviert/deaktiviert werden.

      Das Modell ist ca 600MB groß und ist in der Lage auch auf schwächeren CPUs zu laufen. Eine GPU wird nicht benötigt.
      Auf dem Serverrechner sollten ca 800MB-1000MB RAM frei sein.
      Das Programm hat bereits eine rudimentäre Wortersetzung für schwierig aussprechbare/erkennbare Wörter eingebaut
      config/corrections.json

      Ich würde mich freuen, wenn ich tester finden würde, die ihre Erfahrungen hier teilen.

      Die Installation ist in der Readme des repos
      beschrieben.

      https://github.com/oweitman/parakeet

      oder einfach durch die folgenden Schritte ausführen

      git clone https://github.com/oweitman/parakeet.git parakeet-demo
      cd parakeet-demo
      ONNXRUNTIME_NODE_INSTALL=skip npm ci --omit=dev
      npm run download-model
      npm run smoke
      npm start
      

      Der Befehl
      npm run download-model
      dauert ein wenig da dadurch das 600MB model von hugginface heruntergeladen wird.

      Wenn ihr lokal testet, dann im browser einfach
      http://localhost:9999
      aufrufen.

      Wer echt remote testen will muss leider entweder auf dem server ein (lokales) ssl zertifkat haben oder per ssh tunnel den remote port auf den lokalen rechner tunneln (details sind in der SERVER.md beschrieben.

      Wer längere Texte testen möchte, kann auch einfach mal den Fernseher parallel laufen lassen. Am besten sind Dokumentationen.

      Hintergrund ist, der browser gibt Zugriff auf die Audio API nur für https Seiten oder localhost/127.0.0.1 Zugriffe frei
      https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API

      image.jpeg

      Jey CeeJ
      Jey CeeJ
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #2

      @OliverIO Interessant wäre doch zu wissen, wie schnell das Ganze bei dir funktioniert. Also auf was für einer CPU läuft es und wie schnell ist es denn?

      Ich benutze Parakeet tatsächlich schon länger in der App Whisperian, die ist für Android als Spracheingabe. Das Ganze läuft annähernd in Echtzeit auf meinem Xiaomi 13T Pro mit post Processing des Textes.
      Außerdem habe ich schon vor einigen Monaten eine eigene APP gebaut als Voice Assistent für ioBroker das genau dieses Model verwendet, aber ohne post Processing des Textes.
      Die läuft auf einem älteren Lenovo Yoga Smart Tab mit Android ähnlich schnell.
      Es fühlt sich nur nicht so an weil die Verarbeitung erst ausgeführt wird wenn man fertig gesprochen hat.

      Die Erkennungsgenauigkeit in einem leisen Raum ist sehr gut, mit Hintergrundgeräuschen wird es schon schwierig. Es lässt sich einiges herausholen mit VAD, aber auch das hat Grenzen.

      Übrigens ist der Ansatz die Erkennung auf dem Server auszuführen nicht wirklich Praktikabel, wenn man mehrere Streams gleichzeitig verarbeiten will. Das braucht zu viel Leistung und der Server wird zum Flaschenhals.
      Weswegen ich auch die Spracherkennung auf das Endgerät verlagert habe.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      OliverIOO 1 Antwort Letzte Antwort
      0
      • Jey CeeJ Jey Cee

        @OliverIO Interessant wäre doch zu wissen, wie schnell das Ganze bei dir funktioniert. Also auf was für einer CPU läuft es und wie schnell ist es denn?

        Ich benutze Parakeet tatsächlich schon länger in der App Whisperian, die ist für Android als Spracheingabe. Das Ganze läuft annähernd in Echtzeit auf meinem Xiaomi 13T Pro mit post Processing des Textes.
        Außerdem habe ich schon vor einigen Monaten eine eigene APP gebaut als Voice Assistent für ioBroker das genau dieses Model verwendet, aber ohne post Processing des Textes.
        Die läuft auf einem älteren Lenovo Yoga Smart Tab mit Android ähnlich schnell.
        Es fühlt sich nur nicht so an weil die Verarbeitung erst ausgeführt wird wenn man fertig gesprochen hat.

        Die Erkennungsgenauigkeit in einem leisen Raum ist sehr gut, mit Hintergrundgeräuschen wird es schon schwierig. Es lässt sich einiges herausholen mit VAD, aber auch das hat Grenzen.

        Übrigens ist der Ansatz die Erkennung auf dem Server auszuführen nicht wirklich Praktikabel, wenn man mehrere Streams gleichzeitig verarbeiten will. Das braucht zu viel Leistung und der Server wird zum Flaschenhals.
        Weswegen ich auch die Spracherkennung auf das Endgerät verlagert habe.

        OliverIOO
        OliverIOO
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #3

        @Jey-Cee

        also das bild ist von meinem test mit meinem server über ein ssh tunnel
        der rechner ist ein ASUS NUC 11 NUC11ATKC4 mit 64gb
        Prozessor ist Intel Celeron N5105 Prozessor (Jasper Lake)
        Das müsste der Vorgänger vom N100 sein.
        Also kein so besonders Leistungsfähiger Prozessor.

        Zeitverzögerung war ca 1 Sekunde
        Die Interferenzzeit ist so bei 300-400 ms

        Also für mich komplett ausreichend.

        Hier wollte ich mal die Erfahrungen von draussen noch einholen.

        Das mit der Verarbeitung auf dem Server habe ich deswegen gewählt, weil man oft auf dem Server etwas mehr Ressourcen übrig hat, wie auf Schwachbrüstigen Clients mit begrenztem RAM.
        Aber ja, evtl müsste man das zur Wahl machen, wo die Erkennung wirklich durchgeführt wird.

        Bei mir hat, trotz des Prozessors, 2 parallele Aufzeichnungen noch funktioniert. Klar ging die Prozessorleistung dann auch entsprechend hoch. Mehrere Anweisungen zum genau gleichen Zeitpunkt ist aber glaube ich eher die Ausnahme.
        Ziel soll sein so ein Art Schmalspur-Voice Assistent zu bauen, der mit begrenzten/limittierten Ressourcen auskommt.
        Klar geht besser immer: mehr CPU, mehr GPU, besseres Mikrofon, etc.
        Wer besser haben will muss dann mehr Geld für bessere Hardware ausgeben oder gar Cloud-Dienste wie bspw OpenAI Live in Anspruch nehmen.

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        1 Antwort Letzte Antwort
        0
        • OliverIOO
          OliverIOO
          OliverIO
          schrieb zuletzt editiert von
          #4

          Das Paket wurde von @bluefox in einem Adapter umgesetzt und dadurch besser getestet und eingesetzt werden

          https://forum.iobroker.net/topic/85797/test-adapter-ai-parakeet-v0.1.x-lokale-spracherkennung

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          1 Antwort Letzte Antwort
          0

          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

          Registrieren Anmelden
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          229

          Online

          33.1k

          Benutzer

          84.2k

          Themen

          1.4m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2026
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe