在 Lua 中使用 Mac 终端执行多个命令单行代码

我有一行 Lua 脚本,在 Win 命令提示符中有三个命令,我需要在 Mac 上执行相当的命令:

([[cmd.exe /C " cd ]] .. script_path .. [[sonic/win32/ & set VAMP_PATH=]] .. script_path .. [[sonic/win32/vamp; ]].. script_path .. [[ & "sonic-annotator.exe" -d vamp:nnls-chroma:chordino:simplechord -w csv "]].. filename ..[["]],0)

这一行中有三个命令 "&"。在 Mac 上是 sonic/mac64/sonic-annotator

  1. 它打开命令提示符并将其更改为 /sonic/win32/ &
  2. 然后为 sonic-annotator 设置 Vamp 插件路径为 /sonic/win32/vamp &
  3. 然后将效果应用于源 wav 文件 "filename",创建一个带有和弦或节奏信息的 csv 文件,该文件将导入 Reaper DAW。

这是设置 Win/Lin/Mac 的 VAMP 文件夹的信息

您需要设置 VAMP_PATH 环境变量,以便它指向包含插件的目录。如何设置取决于平台。

在终端窗口中使用 bash 的 Linux 和 macOS:

$ export VAMP_PATH=/path/to/plugin/directory
$ sonic-annotator -l

(或者您想要的任何 sonic-annotator 选项)

使用命令提示符的 Windows:

> set VAMP_PATH=/path/to/plugin/directory
> sonic-annotator -l

使用 PowerShell 的 Windows:

> $env:VAMP_PATH = "/path/to/plugin/directory"
> & sonic-annotator -l

请注意,在所有情况下,将路径设置为 "." 将使 Sonic Annotator 从运行时的当前工作目录中读取插件。如果您在同一目录中有插件 + sonic-annotator 二进制文件,则可以将目录更改为该目录并运行(在 bash 中)这个单行代码

$ VAMP_PATH=. ./sonic-annotator -l
点赞