我想重新整理一堆我在文件夹上得到的wav文件。
我的剧本是:
for f in *.wav; do sox “$f” -r 48000 “${f%%%.wav}.wav”; done
控制台给了我这个错误:"sox失败格式:无法打开输入文件‘’90.wav‘:没有这样的文件或目录“等等。
如何对这些文件进行批处理?为什么要给我这个错误?
非常感谢!
解决方案:
for i in *wav; do echo $i; sox $i -r 48000 ${i%%.wav}r.wav; done
在C/C++中,我尝试用麦克风和sox库录制声音。
sox_open_read("default", &_input->signal, NULL, NULL)
我正在尝试使用默认输入设备。我收到错误了
formats: can't open input file `default': No such file or directory
我猜这是因为我没有传递最后一个参数: filetype和sox试图找到一个名为“default”的文件。
Sox名单:
Audio文件格式:8 8svx aiffc al amb au avr caf cdda cd
我试图使用链接.raw中给出的脚本将728个.wav文件转换为16 the 文件,但是我收到了一个错误
sox失败格式:无法打开输入文件‘./*..wav’:没有这样的文件或目录
我正在使用的脚本
for i in ./*.raw; do sox "$i" -r 16000 "${i%%.wav}r.wav"; done
脚本在convert.sh中,原始文件在rawfiles文件夹中。文件结构类似于
/Orginal/rawfiles/.rawfiles和/Orginal/convert.sh
我有728个文件来将.raw文件转换为16位16文件。为了
我正在做一个cgi脚本,在那里我得到一个上传的一个音频文件,将下载到8000 an ,然后让它稍后被识别。
我正面临一个错误,而降低采样文件。降低采样的代码如下:
1)文件上载代码:
use CGI;
use strict;
use File::Copy qw(copy);
use CGI::Carp 'fatalsToBrowser';
my $PROGNAME = "file_upload.cgi";
my $cgi = new CGI();
print "Content-type: text/html\n\n";
my $upfile =
我已经将sox添加到我的PATH中,它看起来做得很好。如果我打开我的终端并输入C:\Users\[EXAMPLE USERNAME]>sox,程序将运行所有的选项和效果。问题是我似乎不能让play工作。我已经尝试了C:\Users\[EXAMPLE USERNAME]>play file.ogg,它给出了结果错误:'play' is not recognized as an internal or external command, operable program or batch file。我不太确定这是怎么回事。 我通常会考虑为play创建一个PATH变量,
我试图创建一个自动文件夹操作,将放置在“文件夹A”中的任何音频文件正常化(到-3dB),并将其移动到“文件夹B”。
终端中的下列功能达到了预期的效果:
第1步。
cd /Users/ray/Desktop/Folder\ A
第2步。
for file in *.aif; do sox $file --norm=-3 /Users/ray/Desktop/Folder\ B/$(basename $file) -V; done
基本上,如何将此过程转换为文件夹操作?
在Automator中,我尝试过:
选择“文件夹A”作为输入,并将步骤2中的代码输入运行Shell脚本。我得到以下错误"
我在一个目录中有多个.aiff格式的文件,我想使用SoX将它们转换为.wav。我在网站上尝试了以下代码
theFiles = `/Users/me/RainbowAiff/*.aiff`;
for eachFile in $theFiles; do v1=${eachFile%*.aiff};
oldFile="$v1.aiff"; newFile = "$v1.wav";
echo oldFile $oldFile; echo newFile $newFile; sox $oldFile $newFile; done
和网站,如下所示
for i in
我是通过在c#程序中调用进程来使用sox的。我知道挂在WaitForExit或Start方法上是相当流行的,但我无法处理它。也许我从负责运行进程的代码开始(这是从中的最佳答案复制和粘贴
using (Process process = new Process())
{
process.StartInfo.FileName = _soxExePath;
process.StartInfo.Arguments = _task.Arguments.RemoveFirstOccurence("sox");
process.StartInfo.UseShellEx
我正在尝试在Windows批处理中创建一个例程,它将在指定目录中的每个OGG文件上运行"sox.exe“。我目前的问题是,它不能正确处理路径,更不用说正确地执行操作了。如果我在终端窗口中分别为每个文件手动运行该命令,它将正常工作。
我还希望将输出文件命名为不同的名称(否则,生成的文件会被大量占用。
"sox.exe失败格式:无法打开输出文件‘\temp\OGG\Rain.ogg’:没有这样的文件或目录“
@echo off
setlocal enabledelayedexpansion
cd Data
mkdir temp
for %%A in ("OGG\*.og
有没有一种方法可以用SoX修剪文件的结尾,单位是毫秒,我已经尝试过了:
sox tracks\5_7.mp3 ntracks\05_7.mp3 trim 2 2.195
但是,它只显示End position is after expected end of audio,尽管文件实际上有那么长。
所以我试着让这首歌有2.000秒长,而不是2.195秒,而且,我是用600+文件做的,所以需要从命令行来做。
以下是我的警告:
sox WARN mp3: MAD lost sync"(this always happens, means nothing)
sox WARN trim: La
我有一堆WAV文件和一个脚本将它们复制到另一个目录,但是使用SoX处理一些文件。输出的文件都应该有一个通道,采样率为44.1khz或更少。我的大多数文件要么有多个通道,要么采样率大于44.1khz,但只有3个文件两者兼有。当用下面的代码片段转换这3个文件时,我会得到"sox警告wav:.wav输入文件上的早熟EOF“错误。
# $x is the filename + extension
# $2 is the destination folder
convertedWAV=false
hz=$(sox --info $PWD/$x | sed -n 4p | tr '
我用NDK编译了Sox等人。所以,我有所有Android友好的共享库。
我做了一个调用sox函数的。NDK build告诉我:
undefined reference to `sox_open_read'
sox_open_read在sox.h中定义。我知道它正在查找sox.h,因为它给了我一个关于该文件的警告:
In file included from (...)/sox/sox.h:19
因此,它可能希望在实际的libsox.so中找到sox_open_read。好吧,我尝试了大约100种不同的方法来告诉它sox共享库在哪里。
LOCAL_SHARED_LIBRARY := so
我在windows中安装sox,但在输入以下代码时出错:sox 001.wav 001.dat in the command line。
错误是:
`sox is not recognized as an internal or external command, operable program or batch file.`