Hinweis: Am 17.10.2024 ist meine Intel NUC leider kaputtgegangen. Diese NUC hat teilweise die TTS-RemoveBG-Berechnungen übernommen. Ein zweiter Server, der ebenfalls die Berechnungen durchführt, wird noch bis zum 04.11.2024 laufen. Der I7-4790 wird zu Überbrückung eingesetzt, es ist nicht garantiert, dass er läuft.
Momentan habe ich keine gleichwertige Hardware, die dieselbe Leistung und Energieeffizienz wie die alte NUC bereitstellt. Ein älterer Desktop-PC mit einem i7-4790 Prozessor steht zwar zur Verfügung, aber dieser verbraucht im Idle-Modus (ohne GPU und mit Undervolting) immer noch zwischen 20-25 Watt. Dies entspricht ungefähr 6,48 Euro pro Monat, basierend auf einem Verbrauch von 25 Watt im Leerlauf (25W×24H×30D÷1000W×36Cent÷100Cent=6,48 Euro).
Eine energieeffiziente NUC für etwa 100 Euro wäre zwar eine Option, bietet aber nicht die gleiche Leistung wie die alte NUC. Für etwa 330 bis 420 Euro könnte eine NUC mit modernerer Hardware in Betracht kommen, die ausreichend Leistung, gute Energieeffizienz und möglicherweise einen lüfterlosen Modus im Idle-Betrieb bietet. Gebrauchte Geräte mit älteren i5-Prozessoren der 8. Generation habe ich ebenfalls in Betracht gezogen, aber auch diese kosten oft etwa 330 Euro. Ein neuerer Prozessor mit mehr Kernen, höherem Takt und besserer Effizienz wäre hier die bessere Wahl.
Ich möchte euch mit den genauen Hardwaredaten und Benchmark-Werten nicht langweilen, aber diese Informationen lassen sich leicht auf Vergleichsportalen finden. Wenn ich wieder einen Server habe, der diese Aufgaben übernehmen kann, werde ich den Dienst möglicherweise wieder zur Verfügung stellen.
Aktuell empfehle ich euch jedoch, TTS auf eurer eigenen Hardware auszuführen. Ich habe auch überlegt, WebAssembly (WebASM) zu nutzen, um TTS direkt über den Browser auf eurer Hardware laufen zu lassen. Allerdings wäre dies mit erheblichem Aufwand verbunden und könnte langsamer laufen. Zudem würde eure Hardware zusätzlich belastet, obwohl man diese Belastung eventuell regulieren könnte.
Eine weitere mögliche Lösung wäre, wenn jemand aus der Community einen TTS-Server bereitstellen könnte, an den ich die API-Anfragen weiterleiten kann. Das wäre eine tolle Unterstützung!
Dieser Wert wird gesetzt, wennn Minimale Aufrufe aktiviert überschritten wurde.
Informationen für Benutzer:
Es handelt sich bisher noch um eine Testanwendung:
Mit 'Login' kannst du dich anmelden. Die Informationen für Benutzername, Token und Kanal werden automatisch ausgefüllt, können jedoch auf Wunsch geändert werden. Danach musst du dich nur noch mit 'Connect' verbinden.
Über das HeldendesBildschirms TTS kannst du täglich 1000 Nachrichten und 50.000 Zeichen senden. Es wird jedoch empfohlen, ein eigenes TTS zu nutzen, wie im Tutorial gezeigt, da sich dies wahrscheinlich ändern wird und viel Leistung kosten kann.
Wenn du * hinzugefügt wirst, werden dir Nachrichten von allen Nutzern vorgelesen.
Du kannst Nutzer blockieren, indem du sie hinzufügst und auf ++ klickst, damit es sich zu einem -- ändert.
Mod-Entscheidungen sollten berücksichtigt werden.
Mit 'Pause' kannst du eine gerade gesprochene Nachricht abbrechen.
'Alle geplanten Nachrichten abbrechen' beendet alle Nachrichten mit Zeitverzögerung oder in der Warteschlange.
Bei der TTS-Auswahl kannst du dein Browser-TTS (nur für Chrome) oder das HeldendesBildschirms TTS oder dein eigenes TTS nutzen. Hierbei solltest du jedoch HTTPS-Proxys für Chrome verwenden oder für Firefox HTTP nutzen, aufgrund von Google-Sicherheitsfunktionen.
Google Übersetzer oder Google TTS dienen derzeit mehr zum Testen, da die Google TTS API nicht mehr verfügbar ist.
Informationen für Entwickler:
Beim erneuten Klicken auf einen Nutzer diesen - zu blockieren und nicht nur zu entfernen.
Die Bedienung der Benutzeroberfläche.
Daten exportieren über JSON oder Server.
Ein WS- oder PHP-Server für die Steuerung in OBS mit dem dazugehörigen Client.
Dazu sollte ein WebSocket-Server noch hinzugefügt werden, der die Client-Informationen validiert. Das bedeutet, er prüft, ob eine Nachricht existiert, wie viele Zeichen verwendet werden dürfen und ob der Inhalt korrekt ist, um einen Missbrauch der API zu vermeiden. Der Server erstellt dann einfach die Nachricht mit seinen Informationen.
Warnung: Momentan noch ohne csrf_token; die Anfrage ist somit noch nicht vor Man-in-the-Middle-Angriffen sicher. Bitte achten Sie darauf, sich in einem sicheren Netzwerk zu befinden.
Die Sitzung wird nun testweise durch einen csrf_token geschützt.
100% sicher ist das Ganze jedoch nicht, weil ich es gerade noch der Einfachheit halber in einem Cookie speichere. Über eine HTTP-Verbindung kann dieser gestohlen werden. Akzeptieren Sie bitte bis zu einer Verbesserung keine HTTP-Verbindungen zu meiner Seite.
Es fehlt - Benutzername, um auch mit * alle vorherigen Nachrichten zu blockieren.
Hinweis: Das Google TTS verursacht API-Kosten, die ich mir als Hobby-Entwickler nicht leisten kann. Falls dies gewünscht ist, empfehle ich die Lösung, ein eigenes TTS zu nutzen. Hier könnt ihr bettervoice.php als Vorlage verwenden und den Regler auf "Eigenes TTS" setzen. Fügt eure URL wie im Tutorial gezeigt ein.
https://cloud.google.com/text-to-speech/pricing?hl=de
8 USD kosten 1000 Nachrichten mit 537 Zeichen (500 TSD Zeichen).
Die Frage ist halt, was ist realistisch. :D
Und ja, jeder, der sich über die Seite anmeldet, hat jetzt für 24 Stunden 1000 Nachrichten und maximal 1000 Zeichen zum Verbrauchen. Die Nachricht darf 500 + 25 Zeichen für Namen + 12 notwendige Zeichen umfassen.
Und maximal 1 Nachricht pro Sekunde.
Für alle anderen gilt das normale Limit: 10 Nachrichten pro Minute mit maximal 200 Zeichen.
Ein Emotefilter ist hinzugefügt, aber es braucht noch weitere Filter, die auf ausgewählte Zeichen beschränken und vielleicht Spam besser erkennen.
Nachrichten-Cache für die letzten 500 Namen und letzten 30 Nachrichten (serverseitig).
Nachrichtenlimit pro Benutzer.
Chatbefehl fürs Sprechen (optional).
Das Mikrofon verwenden, um herauszufinden, ob eine Person spricht.
Anstatt nur zu fragen, ob das Audio gerade nicht abgespielt wird, die Nachricht in die Warteschlange hinzufügen, wenn es abgespielt wird.