Applescript: произнесите слова из текстового файла с новым (случайным) голосом для каждого слова - PullRequest
1 голос
/ 04 сентября 2010

Мне нужно сделать скрипт, который выбирает случайное предложение из txt-файла и произносит каждое слово случайным голосом, используя массив голосов, модуляцию скорости речи и высоту звука.

Например: Aпредложение выбирается случайным образом из текстового файла: «заправьте постель: слушайте внимательно: прочитайте книгу» и {«заправьте», «а», «постель»} произнесите дословно голосом:

say "make" using "Fred" speaking rate 43 modulation 40 pitch 11
say "a" using "Bruce" speaking rate 101 modulation 50 pitch 91
say "bed" using "Kathy" speaking rate 138 modulation 18 pitch 31

Я мог бы воспользоваться некоторыми советами, так как я новичок в AppleScript и чувствую себя немного застрявшим.Это насколько я получил:

try
 set myWordFile to (choose file with prompt "Select a file to read:" of type {"txt"})
 open for access myWordFile
 set wordContents to (read myWordFile)
 close access myWordFile

 set AppleScript's text item delimiters to ":"
 set txtvar10 to words of wordContents
 return txtvar10
end try

Заранее спасибо: -)

1 Ответ

3 голосов
/ 06 сентября 2010

Попробуйте это ...

set theVoices to {"Alex", "Bruce", "Fred", "Kathy", "Vicki", "Victoria"}

set myWordFile to (choose file with prompt "Select a file to read:" of type {"txt"})
open for access myWordFile
set wordContents to (read myWordFile)
close access myWordFile

set AppleScript's text item delimiters to ":"
set theSentences to text items of wordContents
set AppleScript's text item delimiters to ""

set theSentence to some item of theSentences
set theWords to words of theSentence
repeat with aWord in theWords
    set speakingRate to random number from 1 to 100
    set theModulation to random number from 1 to 100
    set thePitch to random number from 1 to 100

    say aWord using (some item of theVoices) speaking rate speakingRate modulation theModulation pitch thePitch
end repeat
...