News 2013: Say.dll ,die einfache und flexible Weiterentwicklung.

Say.exe ist ein Commandline Programm, mit dem in einfachen Batches Sprachausgabe erzeugt werden kann. Es soll die vorteile Der Microsoft Speech API auch denen zugänglich machen, die nicht unbedingt Lust auf umständliche Programmierung haben und trotzdem Sprachausgabe nutzen wollen.

Das Programm ist mittlerweile in der 2. Version. Neu sind Ersatzwörter und eine Anpassung für verrschiedene Sprachen über Files in %Appdata%\Ron. Mehr dazu später auf dieser Plattform

Funktionen

  • Text direkt aus der Kommandozeile lesen
  • ASCII *.txt Dateien vorlesen
  • Ausgabe auf Soundkarte oder in *.WAV
  • Google Wetter
  • (fragt bitte nich nach MP3, dazu gibts LAME – bingt Euch’s bei)

Features

  • Anwahl der Voice
  • Spracherkennung (Beta) zw Deutsch + Englisch
  • Lautstärke und Geschwindigkeit
  • Listmode zum Auslisten und Testen der installierten Voices
  • Ersatzwörter und Phrasen

Zusatzfunktionen

  • Platzhalter für Datum, Uhrzeit und andere Phrasen
  • Ansage freien Speicherplatzes auf Datenträgern als Warnmechanismus
  • Warten auf hohe/niedrige CPU Last. Um beispielsweise Batches einzubremsen.
  • Experimentelle Ping Umsetzung (Warten aug online/offline , dann sprechen)

Voraussetzungen

  • Windows 2000,XP oder 7
    (ich ignoriere gerne die Vista Katastrophe, sollte da aber auch gehen)
  • .NET 3.0
  • SAPI 4 (sollte ab XP eh drauf sein)
  • Eine installierte TTS Voice

Meist ich MS Sam drauf, es gibt auch bei MS weitere Goodies – einfach TTS googlen
Ausserdem gibt es auch feine kommerzielle Produkte. Loquendo ist da echt gut ..

  • Du musst wissen , wie man eine Kommandozeile öffnet 🙂

Zuächst gibt’s das Proggi per Mail ( mail@donron.net). Sonst kommt noch einer und verklagt mich wegen einem Blue-Screen.

----------------------------------------------------------------------------------------------------
   SAY.EXE -  V 2.0.0.0b - Ronald Kleinert - 2011
----------------------------------------------------------------------------------------------------
SYNTAX:                say.exe [/option parameter] [/befehl] Text ...

Die Reihenfolge von Text und Optionen/Parametern bedingt die Reihenfolge der
Verarbeitung. Textmodifikationen werden an der Stelle ausgeführt, an der sie stehen.
Befehle werden in ihrer Textreihenfolge abgearbeitet. Wiederholung gleicher Befehle
als Verkettung ist erlaubt.

VOICE Parameter:       ERKLÄRUNG:                          PARAMETER:
    /s                  SPEED  : Geschwindigkeit            -10 - +10
    /v                  VOLUME : Lautstärke                 0 - 100
    /fav                Array von Favoriten-Voices setzen   kommagetrennt Stefan,Sa..
    /voice              Array von Voices (anstelle Fav.)    kommagetrennt Stefan,Sa..
    /l                  Sprache setzen                      de en us ...)
    /w                  AUSGABEFILE (WAV) als Pfad          Pfad

TEXT Modifikation:      ERKLÄRUNG:                          PARAMETER:
    /f                  Fügt im Text den Inhalt             Dateipfad (in Hochkomma)
                        einer Textdatei ein.
    /hdd []             HDD Info in Text einfügen           "Text;[lw.Buchst];[minGB]"
                        HDD-Platzhalter:                    Die 3 HDD Parameter
                         $driveletter                       müssen mit ; getrennt
                         $drivetype                         und mit Hochkomma um-
                         $volumelabel                       schlossen sein.
                         $driveformat
                         $freespaceMB                       Parameter 2 (optional)
                         $freespaceGB                       einschr. auf LW.Buchst.
                         $SpaceFreePercent
                         $SpaceFullPercent
                         $drivesizeMB                       Parameter 3 (optional)
                         $drivesizeGB                       Speicheruntergrenze
    /wetter             Wetter von Heute in Deutsch         Ort,Land (en)
    /r                  Random Zeile aus Textfile           Dateipfad

TEXT-Platzhalter:       ERGEBNIS:                           BEISPIEL:
    $d                  kurzes Datum                        01.01.2009
    $dlong              langes Datum entspr. Regionaleinst. Montag, 01.01.2009
    $t                  Uhrzeit                             12:30:12
    $greet              Begrüssung                          guten Morgen/Tag/Abend
    $user               Windows Benutzer                    a.mustermann
    $pc                 Computername                        pc112
    $domain             Netzwerk Domänenname                domain.local
    $uptime             Rechner laufzeit                    3 Stunden 11 Minuten

BEFEHLE (ohne Argumente angeben):
    /LV                 LIST  VOICES:   Listet die verfügbaren Stimmen auf.
    /SV                 SPEAK VOICES:   Listet und spricht die verfügbaren Stimmen.

BEFEHLE (Mit Parametern)
    /cpulow n           Warte bis CPU unter n gefallen ist   5 - 100
    /cpuhigh n          Warte bis CPU unter n gefallen ist   5 - 100
    /cpumittel          Anz. sekunden für CPU durchschnitt   integer > 0
    /pon                Pingt eine Adresse bis zur Antwort   Name oder IP
    /poff               Pingt eine Adresse bis offline       Name oder IP

    /?                  Diese HILFE

Text-Morphing und Übersetzung:
im Ordner %Appdata% liegt für benutzte Sprachen jeweils eine Textmorph...ini.
In dieser Datei kann man Übersetzungen für $-Parameter angeben,
neue $-Parameter anlegen (neue Zeile; $xxx;Ergebnis)
oder zufällige Arrays sich gegenseitig ersetzender Wörter anlegen.
(;-getrennte Liste).


*) Erklärung HDD:
BSP: say /hdd "Auf $driveletter ist nur $SpaceFreePercent Speicher frei;E;20"

1. Parameter ist der Text mit Platzhaltern.
2. Parameter bedeutet, daß nur E: geprüft wird.
   (ist er leer, werden alle lokalen LW getestet und der Satz jeweils wiederholt.)
3. Parameter: erst wenn der freie Speicher unter dem Wert (20) in GB ist, wird eine
   Ausgabe für das jeweilige Laufwerk generiert.
Parameter 2 und 3 sind optional.