我有 300 个英文文本文件,想将其制作成 mp3 文件以便随时收听。
是否有一种方法,可以帮助我的 Mac 使用 Mac OSX 上免费提供的旋转声音将文本文件批量转换为语音并转换为 mp3?
答案1
您可以使用如下 shell 命令:
for f in *.txt;do say -f "$f" -o "${f%txt}aif";done
随机英语配音:
IFS=$'\n';a=($(say -v\?|sed -E $'s/ {2,}/\t/'|awk -F$'\t' '$2~/^en_/{print $1}'));for f in *.txt;do say -v "${a[$((RANDOM%${#a[@]}))]}" -f "$f" -o "${f%txt}aif";done
从列表中随机抽取声音:
IFS=, read -a a<<<'Daniel,Fiona,Moira,Emily,Serena,Tessa';for f in *.txt;do say -v "${a[$((RANDOM%${#a[@]}))]}" -f "$f" -o "${f%txt}aif";done
您可以使用 ffmpeg 将文件转换为 mp3:
for f in *.aif;do ffmpeg -i "$f" -aq 2 "${f%aif}mp3";done
-aq 2
对应于-V2
。安装后,lame
您可以使用brew install ffmpeg
自制。
答案2
说-f“000.txt”-o“000.aiff”
f=txt 文件 o=音频文件(可能是输出)
需要 aiff 音频文件,你必须转换我使用的是 macOS Ventura 13.0.1,
我使用了 rtf 文件,出于某些奇怪的原因,它首先读取了 css