Я пытаюсь сделать очень простой яблочный скрипт, но столкнулся с проблемой и не могу двигаться дальше.
То, что должна делать моя программа, очень просто. Он читает текстовый файл, разбивает его содержимое для создания массива, а затем выполняет сценарий оболочки, чтобы использовать команду say терминала Mac для чтения и сохранения текста в файл .wav.
На терминале я могу сохранить файл в формате wav, используя это: say -o "hello.wav" --data-format=LEF32@32000 "hello world"
Я безуспешно пытался имитировать этот код в своем яблочном скрипте, вот код:
set theFile to (choose file with prompt "Select a file to read:" of type {"TXT"})
open for access theFile
set fileContents to (read theFile)
close access theFile
set everyLine to every paragraph of fileContents
repeat with theLine in everyLine
set thisOne to split(theLine, ";")
set fileName to item 1 of thisOne
do shell script "say -o" & item 1 of thisOne & ".wav --data-format=LEF32@32000 " & item 3 of thisOne
end repeat
to split(someText, delimiter)
set AppleScript's text item delimiters to delimiter
set someText to someText's text items
set AppleScript's text item delimiters to {""} --> restore delimiters to default value
return someText
end split
Запуск этого кода приводит к Opening output file failed: -43
.
Даже простой do shell script "say -o hello.aiff hello
возвращает ту же ошибку. Я был бы очень признателен за любую помощь, в том числе за то, что я просто не могу этого сделать, и я должен выучить правильный язык программирования :)