Skip to content

Nall-chan/VoiceRSS

Repository files navigation

SDK Version 2.2 Version 5.1
License Check Style Run Tests
Spenden

Symcon-Modul: VoiceRSS

Online-TTS Engine von VoiceRSS in IPS nutzen. Free bei max. 350 Anfragen pro Tag.

Dokumentation

Inhaltsverzeichnis

1. Funktionsumfang

Über die API von VoiceRSS wird ein Text in das gesprochene Wort überführt.

Dieses Modul ermöglicht es, die von VoiceRSS erzeugten Audio-Daten in verschiedener Art zu nutzen.
Es kann eine entsprechende Audio-Datei erzeugt werden, oder ein IPS-MedienObjekt verwendet werden.
Des weiteren können auch Roh-Daten erzeugt werden.

2. Voraussetzungen

3. Installation & Konfiguration

  • Installation in IPS 5.1
    Über den 'Module-Store' in IPS.

  • Instanz erstellen
    Im Dialog Instanz hinzufügen, ist das Modul unter dem Hersteller VoiceRSS zu finden.

  • Konfiguration
    Der persönliche API-Key muss in der Instanz eingetragen werden.
    Die restlichen Einstellungen sind die Default-Werte für die Standard Funktionen.

Bei kommerzieller Nutzung (z.B. als Errichter oder Integrator) wenden Sie sich bitte an den Autor.

4. Funktionsreferenz

boolean TTSV_GenerateFile(integer $InstanceID, string $Text, string $Filename);
boolean TTSV_GenerateFileEx(integer $InstanceID, string $Text, string $Filename, string $Format, string $Codec, string $Language, int $Speed, string $Voice)

Erzeugt eine Audiodatei.
Wird kein absoluter Pfad bei $Filename angegeben, so wird die Datei im Script-Ordner von IPS gespeichert. Wird keine korrekte Dateiendung übergeben, so wird Diese ergänzt. Die Funktionen liefern True bei Erfolg.


string TTSV_GetDataContent(integer $InstanceID, string $Text);
string TTSV_GetDataContent(integer $InstanceID, string $Text, string $Format, string $Codec, string $Language, int $Speed, string $Voice)

Erzeugt Rohdaten zur weiterverarbeitung.
Im Fehlerfall wird false zurückgegeben. Beispiel: In ein Medienobjekt schreiben:

// Daten holen und in $data speichern.
$data = @TTSV_GetDataContent(40811,"Hallo Welt.");
if ($data === false)
 die("Konnte Daten nicht laden");
$MediaID =IPS_CreateMedia(2);
IPS_SetMediaFile($MediaID, "Test.mp3", false);
// Inhalt von $data in das MedienObject schreiben.
IPS_SetMediaContent($MediaID,base64_encode($data));
IPS_SetName($MediaID, "Test");

integer TTSV_GenerateMediaObject(integer $InstanceID, string $Text, integer $MediaID);
integer TTSV_GenerateMediaObjectEx(integer $InstanceID, string $Text, integer $MediaID, string $Format, string $Codec, string $Language, int $Speed, string $Voice)

Erzeugt/befüllt ein MedienObject im logischen Baum von IPS.

  • Wird als $MediaID eine ID eines vorhandenes MedienObject übergeben, so wird Dieses mit den Audiodaten gefüllt.
  • Wird als $MediaID eine 0 übergeben, so wird unterhalb der VoiceRSS-Instanz ein MedienObject verwendet.

Der Rückgabewert ist die ID des befüllten Media-Objektes.
Oder false im Fehlerfall.

5. Anhang

GUID:
{133A6F0D-464E-4FAD-8620-02DB0AB9BFD1}

Konfiguration:

Eigenschaft Typ Standardwert Funktion
Apikey string Api-Key von VoiceRSS
Language string de-de Sprache
Speed int 0 Geschwindigkeit -10 bis +10
Voice string Stimme
Codec string MP3 Audio-Format
Sample string 8khz_8bit_mono Samplerate

Erlaubte Parameter siehe: VoiceRSS API

Changelog:

Version 2.2:

  • Sprechgeschwindigkeit und Stimme in der Konfiguration ergänzt.
  • Alle ---Ex Funktionen erwarten jetzt Speed und Voice als Parameter.

Version 2.1:

  • Fehler in der Fehlerbehandlung behoben.

Version 2.0:

  • Release für IPS 5.1 und den Module-Store

Version 1.01:

  • Doku ergänzt.

Version 1.0:

  • Erstes Release

6. Spenden

Die Library ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

PayPal:

Wunschliste:

7. Lizenz

CC BY-NC-SA 4.0