Frage:
So leiten Sie die Ausgabe von 'say' an einen anderen Befehl weiter
Chap
2012-07-15 05:28:22 UTC
view on stackexchange narkive permalink

'say' hat sowohl -o als auch -n Argumente für verschiedene Möglichkeiten, die Ausgabe zu steuern, aber ich sehe keine Möglichkeit, die Ausgabe einfach an einen anderen Befehl weiterzuleiten (z. B. sox). Handelt es sich beispielsweise um eine Einschränkung, oder gibt es eine grundlegende Unix-Shell-Funktion, die dies ermöglicht?

Einer antworten:
Harald Hanche-Olsen
2012-07-15 14:58:55 UTC
view on stackexchange narkive permalink

Es scheint unmöglich. Es hätte möglich sein sollen, -o / dev / stdout dafür zu verwenden, aber say besteht darauf, ein Dateisuffix hinzuzufügen, was das eher ruiniert Möglichkeit. Ich habe versucht, dies zu umgehen, indem ich einen Symlink zu / dev / stdout erstellt habe, aber es gibt einen Berechtigungsfehler. (Möglicherweise liegt dies daran, dass say die Ausgabedatei sowohl zum Lesen als auch zum Schreiben öffnet (Option O_RDWR ), anstatt nur zu schreiben.)

Vielen Dank. Ich wusste nichts über / dev / stdout. Obwohl dies hier keine Lösung ist, ist es gut, über die Zukunft Bescheid zu wissen.
Ich war auch daran interessiert, "say" weiterzuleiten (nun, die Ausgabe in einem Python-Programm zu verwenden, ohne vorher in einer Datei zu speichern). Ich glaube, Harald hat Recht, da ich bei der Überprüfung zu dem gleichen Schluss gekommen bin. Am Ende habe ich stattdessen "espeak" verwendet, mit dem Sie rohe WAV-Daten weiterleiten können. Natürlich ist es noch eine Sache zu installieren, aber es macht den Job.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...