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

Installierte Stimme (Voice) abfragen?

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


Anmeldedatum: 10.11.2011
Beiträge: 92
Wohnort: Niederösterreich

BeitragVerfasst am: 13.02.2012 - 21:11    Titel: Installierte Stimme (Voice) abfragen? Antworten mit Zitat

Kann man per Applescript, wahrscheinlich per "do shell script" abfragen, welche Stimme, und dabei vielleicht für welche Sprache im aktuellen System intstalliert ist?
Z.B. daß eine deutsche Stimme vorhanden und daß dies die Stimme Anna oder Yannick ist?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
woodpecker
•--->
•--->


Anmeldedatum: 12.10.2010
Beiträge: 150
Wohnort: Roggentin/Rostock

BeitragVerfasst am: 14.02.2012 - 14:24    Titel: Antworten mit Zitat

Hallo MacTruth,
ob man alle installierten Stimmen abfragen kann, weiss ich nicht. Ich kann Dir leider nur eine Möglichkeit anbieten, die in den Systemeinstellungen voreingestellte Stimme zu ermitteln.

Code:
do shell script "defaults read com.apple.speech.voice.prefs"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MacTruth
•-->
•-->


Anmeldedatum: 10.11.2011
Beiträge: 92
Wohnort: Niederösterreich

BeitragVerfasst am: 14.02.2012 - 17:02    Titel: Antworten mit Zitat

Na, das hilft schon mal weiter. Und die aktuell installierte und benutzte Stimme trägt den Wert "1" (im Unterschied zu all den anderen aufgelisteten Stimmen).

Kann man da gleich zu Beginn angeben, er solle nur die Stimme auslesen, der den Wert "1" hat?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
woodpecker
•--->
•--->


Anmeldedatum: 12.10.2010
Beiträge: 150
Wohnort: Roggentin/Rostock

BeitragVerfasst am: 15.02.2012 - 10:51    Titel: Antworten mit Zitat

Wie sieht denn Deine Ausgabe aus? Ich glaube Du hast OS X Lion?
Bei mir ist da keine 1. Bei mir sieht das so aus:
Code:
{
    SelectedVoiceCreator = 1734437985;
    SelectedVoiceID = 200;
    SelectedVoiceName = Victoria;
}


Poste mal Deine Ausgabe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MacTruth
•-->
•-->


Anmeldedatum: 10.11.2011
Beiträge: 92
Wohnort: Niederösterreich

BeitragVerfasst am: 15.02.2012 - 11:57    Titel: Antworten mit Zitat

Richtig, bei mir brüllt der Löwe!

Bei mir sieht das so aus:

Zitat:
"{
VisibleIdentifiers = {
\"com.apple.speech.synthesis.voice.Agnes\" = 2;
\"com.apple.speech.synthesis.voice.Albert\" = 2;
\"com.apple.speech.synthesis.voice.Alex\" = 2;
\"com.apple.speech.synthesis.voice.BadNews\" = 2;
\"com.apple.speech.synthesis.voice.Bahh\" = 2;
\"com.apple.speech.synthesis.voice.Bells\" = 2;
\"com.apple.speech.synthesis.voice.Boing\" = 2;
\"com.apple.speech.synthesis.voice.Bruce\" = 2;
\"com.apple.speech.synthesis.voice.Bubbles\" = 2;
\"com.apple.speech.synthesis.voice.Cellos\" = 2;
\"com.apple.speech.synthesis.voice.Deranged\" = 2;
\"com.apple.speech.synthesis.voice.Fred\" = 2;
\"com.apple.speech.synthesis.voice.GoodNews\" = 2;
\"com.apple.speech.synthesis.voice.Hysterical\" = 2;
\"com.apple.speech.synthesis.voice.Junior\" = 2;
\"com.apple.speech.synthesis.voice.Kathy\" = 2;
\"com.apple.speech.synthesis.voice.Organ\" = 2;
\"com.apple.speech.synthesis.voice.Princess\" = 2;
\"com.apple.speech.synthesis.voice.Ralph\" = 2;
\"com.apple.speech.synthesis.voice.Trinoids\" = 2;
\"com.apple.speech.synthesis.voice.Vicki\" = 2;
\"com.apple.speech.synthesis.voice.Victoria\" = 2;
\"com.apple.speech.synthesis.voice.Whisper\" = 2;
\"com.apple.speech.synthesis.voice.Zarvox\" = 2;
\"com.apple.speech.synthesis.voice.agata.premium\" = 2;
\"com.apple.speech.synthesis.voice.alexandros.premium\" = 2;
\"com.apple.speech.synthesis.voice.alva.premium\" = 2;
\"com.apple.speech.synthesis.voice.anna.premium\" = 2;
\"com.apple.speech.synthesis.voice.aylin.premium\" = 2;
\"com.apple.speech.synthesis.voice.claire.premium\" = 2;
\"com.apple.speech.synthesis.voice.damayanti.premium\" = 2;
\"com.apple.speech.synthesis.voice.daniel.premium\" = 2;
\"com.apple.speech.synthesis.voice.diego.premium\" = 2;
\"com.apple.speech.synthesis.voice.ellen.premium\" = 2;
\"com.apple.speech.synthesis.voice.emily.premium\" = 2;
\"com.apple.speech.synthesis.voice.eszter.premium\" = 2;
\"com.apple.speech.synthesis.voice.felix.premium\" = 2;
\"com.apple.speech.synthesis.voice.fiona.premium\" = 2;
\"com.apple.speech.synthesis.voice.ida.premium\" = 2;
\"com.apple.speech.synthesis.voice.javier.premium\" = 2;
\"com.apple.speech.synthesis.voice.jill.premium\" = 2;
\"com.apple.speech.synthesis.voice.joana.premium\" = 2;
\"com.apple.speech.synthesis.voice.julie.premium\" = 2;
\"com.apple.speech.synthesis.voice.karen.premium\" = 2;
\"com.apple.speech.synthesis.voice.kyoko.premium\" = 2;
\"com.apple.speech.synthesis.voice.laura.premium\" = 2;
\"com.apple.speech.synthesis.voice.lee.premium\" = 2;
\"com.apple.speech.synthesis.voice.lekha.premium\" = 2;
\"com.apple.speech.synthesis.voice.maged.premium\" = 2;
\"com.apple.speech.synthesis.voice.mikko.premium\" = 2;
\"com.apple.speech.synthesis.voice.milena.premium\" = 2;
\"com.apple.speech.synthesis.voice.moira.premium\" = 2;
\"com.apple.speech.synthesis.voice.monica.premium\" = 2;
\"com.apple.speech.synthesis.voice.narae.premium\" = 2;
\"com.apple.speech.synthesis.voice.narisa.premium\" = 2;
\"com.apple.speech.synthesis.voice.oskar.premium\" = 2;
\"com.apple.speech.synthesis.voice.paolo.premium\" = 2;
\"com.apple.speech.synthesis.voice.paulina.premium\" = 2;
\"com.apple.speech.synthesis.voice.raquel.premium\" = 2;
\"com.apple.speech.synthesis.voice.samantha.premium\" = 2;
\"com.apple.speech.synthesis.voice.sangeeta.premium\" = 2;
\"com.apple.speech.synthesis.voice.sebastien.premium\" = 2;
\"com.apple.speech.synthesis.voice.serena.premium\" = 2;
\"com.apple.speech.synthesis.voice.silvia.premium\" = 2;
\"com.apple.speech.synthesis.voice.simona.premium\" = 2;
\"com.apple.speech.synthesis.voice.sin-ji.premium\" = 2;
\"com.apple.speech.synthesis.voice.steffi.premium\" = 2;
\"com.apple.speech.synthesis.voice.stine.premium\" = 2;
\"com.apple.speech.synthesis.voice.tessa.premium\" = 2;
\"com.apple.speech.synthesis.voice.thomas.premium\" = 2;
\"com.apple.speech.synthesis.voice.ting-ting.premium\" = 2;
\"com.apple.speech.synthesis.voice.tom.premium\" = 2;
\"com.apple.speech.synthesis.voice.virginie.premium\" = 2;
\"com.apple.speech.synthesis.voice.xander.premium\" = 2;
\"com.apple.speech.synthesis.voice.ya-ling.premium\" = 2;
\"com.apple.speech.synthesis.voice.yannick.premium\" = 1;
\"com.apple.speech.synthesis.voice.yuna.premium\" = 2;
\"com.apple.speech.synthesis.voice.zuzana.premium\" = 2;
};
}"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
woodpecker
•--->
•--->


Anmeldedatum: 12.10.2010
Beiträge: 150
Wohnort: Roggentin/Rostock

BeitragVerfasst am: 15.02.2012 - 15:03    Titel: Antworten mit Zitat

Hallo Mac Truth,
wenn das so ist, ist es ja wieder einfach. Du hängst an Deinen "defaults read" einfach eine Pipe und schreibst:

Code:
 do shell script "defaults read com.apple.speech.voice.prefs | sed -n -E  '/= *1/s/^.*voice\\.(.*)\\.prem.*/\\1/p '"
 



Dann besteht die Ausgabe nur noch aus Deiner eingestellten Stimme.
Die anderen erhältst Du, wenn Du /= *2/ schreibst.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MacTruth
•-->
•-->


Anmeldedatum: 10.11.2011
Beiträge: 92
Wohnort: Niederösterreich

BeitragVerfasst am: 15.02.2012 - 17:44    Titel: Antworten mit Zitat

Sehr gut, funktioniert! Besten Dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MacTruth
•-->
•-->


Anmeldedatum: 10.11.2011
Beiträge: 92
Wohnort: Niederösterreich

BeitragVerfasst am: 24.02.2012 - 16:03    Titel: Antworten mit Zitat

Hmm, funktioniert im Administratormodus. Als Standartuser liest er das nicht ein.

Anderer Weg: In /System/Library/Speech/Voices liegen die Stimmen.

Könnt ich mir den Befehl angeben, womit er mir daraus eine Liste der dort als Ordner vorhandenen Stimmen aus liest, bei der er
1. nur die Stimmen sucht, deren Ordner nicht mit "Compact.SpeechVoice" endet
2. dabei nur den Namen der Stimme angibt ohne ".SpeechVoice"

Besten Dank schon mal.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MacTruth
•-->
•-->


Anmeldedatum: 10.11.2011
Beiträge: 92
Wohnort: Niederösterreich

BeitragVerfasst am: 24.02.2012 - 22:27    Titel: Antworten mit Zitat

Die Ordnernamen kann ich wohl auf diese Art ermitteln:

Code:
tell application "Finder"
   set MyVoices to name of every folder of folder ((path to system folder) & "Library:Speech:Voices:" as string)
end tell


Nur das Kürzen der Namen, also ohne ".SpeechVoice" ist mir (noch nicht) geläufig. Könnt Ihr mir zeigen, wie das geht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1068

BeitragVerfasst am: 25.02.2012 - 09:31    Titel: Antworten mit Zitat

Code:
tell application "Finder"
   set MyVoices to name of every folder of folder ((path to system folder) & "Library:Speech:Voices:" as string)
   
   repeat with voicenum from (count of MyVoices) to 1 by -1
      if (item voicenum of MyVoices) ends with ".SpeechVoice" then set (item voicenum of MyVoices) to text 1 thru -13 of (item voicenum of MyVoices)
   end repeat
   MyVoices
end tell

_________________
"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
MacTruth
•-->
•-->


Anmeldedatum: 10.11.2011
Beiträge: 92
Wohnort: Niederösterreich

BeitragVerfasst am: 25.02.2012 - 11:12    Titel: Antworten mit Zitat

Besten Dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht 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