Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Verschiedene Sprachausgaben in eine Sounddatei speichern.

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Marco
•->
•->


Anmeldedatum: 03.10.2012
Beiträge: 2

BeitragVerfasst am: 04.10.2012 - 00:00    Titel: Verschiedene Sprachausgaben in eine Sounddatei speichern. Antworten mit Zitat

Hallo Leute,

ich habe viel rumgeschaut im Forum, aber leider nichts finden können. Ich bin auf der Suche für die Lösung für folgendes.

- Ich gebe einen Text ein (oder hole mir diesen aus einer Tabelle)
- Ich gebe einen anderen Text ein (oder hole mir diesen aus einer Tabelle)
- Ich weise dem ersten eingegebenen Text eine bestimmte Sprachsynthesen-Stimme zu.
- Ich weise dem anderen eingegebenen Text eine bestimmte Sprachsynthesen-Stimme zu.
- Nun möchte ich beide Sounddatein verschiedenster Stimmen in eine Sounddatei speichern.


Bis jetzt habe ich diesen Code dafür.

set input1 to ""
set input2 to ""

display dialog "deutsch" default answer input1
set input1 to text returned of result

display dialog "spanisch" default answer input2
set input2 to text returned of result

(say input1 using "anna" & say input2 using "paulina") saving to POSIX file ("/Users/benutzer/Desktop/" & input1 & " - " & input2 & " 1.aif")



Rein logisch hätte ich gedacht, dass ich die Sounddatein so in eine Datei speichern könnte.

(say input1 using "anna" & say input2 using "paulina")

Leider bekomme ich immer eine Fehlermeldung.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 05.10.2012 - 00:50    Titel: Antworten mit Zitat

Hallo Marco,

da scheinst Du ja noch ganz am Anfang zu stehen. Willst Du nur spielen oder hat die Sache einen ernsten Hintergrund? Jedenfalls, was Du suchst, ist SoX:

http://sourceforge.net/projects/sox/files/sox/

Das ist das Swiss Army Knife of Soundbearbeitung fürs Terminal.

Übrigens brauchst Du input1 und 2 nicht zu deklarieren, Du weist sie ja direkt danach erneut zu.

Und mit Logik hat diese Sache nichts zu tun:

Code:
(say input1 using "anna" & say input2 using "paulina") saving to POSIX file ("/Users/benutzer/Desktop/" & input1 & " - " & input2 & " 1.aif")


Damit erzeugst Du nur eine Liste aus den Ergebnissen der zwei Befehle say – das saving to gehört jedoch zu say-Befehl und nicht zu den AppleScript-Standardbefehlen. Daher funktioniert das so keinesfalls.

Der say-Befehl kann nur einmal aufgerufen werden. Und ein cat ("concatenate", konkatenieren auf deutsch) fügt Dir zwar im Terminal die Sounddateien problemlos zu einer großen Datei, jedoch tritt zwischendurch ein Dateiende auf, daher kommst Du ohne Zusatzprogramm nicht aus: Dafür brauchst Du eben SoX.

Laß Dir also mit

say "Sprachteil 1" using "Anna" saving to (choose file name)

und der anderen Stimme zwei Soundschnippsel generieren. Aber für den Teil mit SoX habe ich gerade keine Zeit. Rufe einfach Sox auf (das Terminal-Programm), es gibt eine umfangreiche Man-Page auf. Da Du schon mit POSIX file hantierst, gehe ich da von Grundkenntnissen aus?
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 05.10.2012 - 00:56    Titel: Antworten mit Zitat

So, es ist einfacher als gedacht:

Einfach
Code:
Pfad/zu/sox/sox datei1.aiff datei2.aiff […] gesamtdatei.aiff


im Terminal bzw. mit do shell script aufrufen – fertig. Vorsicht: Mir hat er die gesamtdatei.aiff in den Admin-Ordner meines Macs geknallt – sehr seltsam.

Jedenfalls klappt das ohne Probleme, es kommt eine Sounddatei mit zwei Stimmen heraus (ich habe Anna und Yannick getestet, also es sind eindeutig zwei Audio-Quellen).
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Marco
•->
•->


Anmeldedatum: 03.10.2012
Beiträge: 2

BeitragVerfasst am: 08.10.2012 - 00:26    Titel: Antworten mit Zitat

Hallo,

Vielen dank fuer die schnelle Hilfe. Leider stehe ich doch recht am Anfang meiner Scripterkarriere und habe immer wieder gesucht und gesucht was ich aus diesem oder jenem Code im Internet gebrauchen kann. Danach hab ich einfach rumprobiert bis ich die Mechanismen verstanden habe und sie darauf hin fuer meine Zwecke modifiziert.
Sofern es keine umstauende macht waere es nett mit einmal einen Code komplett darzustellen der aus zwei verschiedenen Eingaben ueber die Display Dialog Eingabe zwei sounddateien mit zwei verschiedenen stimmen macht und diese dann zu einer sounddateien Abspeichert welche die Namen der beiden Eingaben mit einem Minus getrennt traegt.

Den Code den ich bis jetzt habe ist einfach zusammengesucht ich weis leider nicht was das Posix bedeutet. In Viechern habe ich bis jetzt kei e Lösung gefunden und im Internet auch nicht. Das große Ziel ist es aus einer vokabelliste z.b von Bento oder numbers die Daten zu lesen. Jeder Spalte eine stimme der entsprechenden sprachen passend zu den Inhalten zuzuweisen und darauf hin je Zeile eine sounddatei produzieren lassen welche den Namen der beiden Bedeutungen der Vokabel im Namen selbst mit einem Minus getrennt darstellt.

Z.b. Endprodukt: Hallo - Hola.aiff
"Hallo" gesprochen von Anna
"Hola" gesprochen von Paulina
Beides gespeichert in einer Datei.

Es waere Super wenn du mit nochmal weiterhelfen könntest oder jemand anderes der mitliest Wink.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 08.10.2012 - 20:42    Titel: Antworten mit Zitat

Kannst Du die Ausgabe in mp3 Dateien erzeugen? Die kann man nämlich einfach mit einem "cat Datei1.mp3 Datei2.mp3 > gemeinsam.mp3" in eine Datei kopieren.
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 11.10.2012 - 11:25    Titel: Antworten mit Zitat

Hallo Skeeve,

say kann nur als aiff speichern. Ich habe jetzt ein paar Tage heftig Streß gehabt. Hier aber nun für Dich Marco ein komplett funktionierendes Beispiel:


Als erstes speichere Dir bitte auf den Schreibtisch eine beliebige Vokabeldatei – hier ist meine Vorlage:

"Hallo Hello
Haus House
Wasser Water
Brot Bread
Apfel Appel
Papier Paper
Geschenk Gift
Gift Poison
Rückstoß Recoil
Insel Island
Affe Monkey"

Nenne diese Datei unbedingt "vokabelliste.txt" und schreibe da nur zwei Spalten getrennt mit Tab hinein … Also Wortdeutsch tab Wortausländisch

Dann im Script noch die gewünschten Stimmen eintragen – und los geht es:

Code:
set deutschestimme to "Agnes"
set auslaendischestimme to "Fred"
set worte to paragraphs of (do shell script "cat ~/Desktop/vokabelliste.txt ; mkdir -p ~/Desktop/Hörvokabeln")
repeat with i from 1 to count items of worte
   set my text item delimiters to tab
   set {deutsch, auslaendisch} to {text item 1, text item 2} of item i of worte
   set my text item delimiters to ""
   say deutsch using deutschestimme saving to (((path to "desk") & "______de-temp___") as string)
   say auslaendisch using auslaendischestimme saving to (((path to "desk") & "______ausl-temp___") as string)
   do shell script "sox ~/Desktop/______de-temp___ ~/Desktop/______ausl-temp___ ~/Desktop/Hörvokabeln/" & ((deutsch & "–" & auslaendisch & ".aiff") as string)
end repeat



Ich habe es gerade laufen lassen (habe hier zur Zeit noch 10.6.8, müßte auch unter 10.8.2 laufen) und es funzt einwandfrei.

Ach ja: Wichtig: SoX muß installiert sein. Lade es bei dem Link oben, entpacke es und lege es in /bin/. Sonst muß der Pfad angepaßt werden. Also im Finder Apfel+Shift+G, dann /bin/ eingeben und mit Admin-Rechten das sox-Shellprogrämmchen hineinlegen.

Lustige Aufgabe ;-)
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter