できるよ!これを試して:
say "the company [[slnc 1200]]" using "Alex" saving to ((path to home folder as string) & "TheCompany.aiff")
iPodがサポートしているAIFF形式を使用する必要があることに注意してください。これにより、ホームディレクトリに保存されます。
このスクリプトの最後の部分にFFMPEGをインストールする必要があります。最初に開発者ツールをインストールする必要がある場合があります。ターミナルで次のコマンドを実行して確認します。
xcode-select --install
それが完了したら、FFMPEG用のパッケージマネージャーをインストールする必要があります。私は個人的にMacPortsを使用しているので、それがこれらの指示の目的です。ここからMacPortsをインストールして、OSに合った正しいバージョンを選択してください。インストールしたらsudo port selfupdate && sudo port install ffmpeg
、ターミナルで実行し、パスワードを入力します。これが完了すると、このAppleScriptは機能するようになります。
global file_index
global temp_files
set file_index to 0
set temp_files to {}
set finished_filename to "result.aiff"
say "the company [[slnc 1200]]" using "Alex" saving to new_temp_file()
say "une entreprise [[slnc 1200]]" using "Thomas" saving to new_temp_file()
say "a farm [[slnc 1500]]" using "Alex" saving to new_temp_file()
say "une ferme [[slnc 1200]]" using "Thomas" saving to new_temp_file()
set final_command to "echo \""
repeat with filename in temp_files
set final_command to final_command & "file " & POSIX path of filename & "
"
end repeat
set final_command to final_command & "\"|/opt/local/bin/ffmpeg -y -f concat -i - -c copy ~/" & finished_filename
do shell script final_command
#cleanup
repeat with current_file in temp_files
do shell script "rm " & POSIX path of current_file
end repeat
on new_temp_file()
set file_index to file_index + 1
set current_temp_file to ((path to temporary items) as string) & "file" & file_index & ".aiff"
set temp_files to temp_files & {current_temp_file}
return current_temp_file
end new_temp_file
これにより、リストのsaysがfinished_filename変数で指定したファイルに結合されます。必要な数の「say」を追加できますが、私が使用したのと同じ構文(new_temp_file()に保存)を維持するだけで、準備完了です。