这是 shntrim 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
shntool - 多功能 WAVE 数据处理和报告实用程序
概要
工具 模式 ...
工具 [核心 OPTION]
商品描述
工具 是一个命令行实用程序,用于查看和/或修改 WAVE 数据和属性。 它运行
在几种不同的操作模式下,并支持各种无损音频格式。
工具 由三部分组成——它的核心, 模式 模块,和 格式 模块。 这个
有助于使代码更易于维护,并帮助其他程序员进行开发
新功能。 分发存档包含一个名为“modules.howto”的文件,该文件
描述了如何为那些有这种倾向的人创建一个新的模式或格式模块。
时尚 模块
工具 通过使用模式模块对 WAVE 数据执行各种功能。 核心
of 工具 只是模式模块的包装器。 事实上,当 工具 运行
一个有效的模式作为它的第一个参数,它本质上运行主程序
指定模式,然后退出。 工具 带有几种内置模式,如下所述:
LEN 显示 PCM WAVE 数据的长度、大小和属性
固定 修复了 CD 质量 PCM WAVE 数据的扇区边界问题
哈希 计算 PCM WAVE 数据的 MD5 或 SHA1 指纹
垫 Pads CD(hyquality 文件未在扇区边界对齐且静音
加入 将来自多个文件的 PCM WAVE 数据合并为一个
分裂 将 PCM WAVE 数据从一个文件拆分为多个文件
猫 将 PCM WAVE 数据从一个或多个文件写入终端
CMP 比较两个文件中的 PCM WAVE 数据
球杆 从一组文件生成 CUE 表或分割点
CONV 将文件从一种格式转换为另一种格式
info 显示有关 PCM WAVE 数据的详细信息
剥离 剥离额外的 RIFF 块和/或写入规范标头
根 生成包含静音的 CD 质量 PCM WAVE 数据文件
修剪 从文件末尾修剪 PCM WAVE 静音
有关每种模式的各种命令行选项的含义的更多信息,请参阅
此 特定模式 配置 以下部分。
为方便起见,每种模式都可以指定一个替代名称或别名来调用它
(此功能目前仅在支持符号或硬
链接)。 特别是,每个模式都别名为 'shn '。 例如,运行
沉伦 相当于跑 工具 LEN - 从而节省了几次击键。
格式 模块
文件格式是从 工具 通过使用格式模块。 他们提供
一种手段 工具 透明地读取和/或写入不同的文件格式。 这个
抽象允许 工具 专注于工作而不用担心细节
每种文件格式。
目前支持以下格式:
WAV RIFF WAVE 文件格式
阿菲 音频交换文件格式(仅限 AIFF 和未压缩/sowt AIFF-C)(通过
'袜'):
<http://sox.sourceforge.net/>
n 缩短低复杂度波形编码器(通过“缩短”):
<http://www.softsound.com/Shorten.html>
<http://www.etree.org/shnutils/shorten/>
后手 免费无损音频编解码器(通过“flac”):
<http://flac.sourceforge.net/>
猿 猴子的音频压缩器(通过“mac”):
<http://www.monkeysaudio.com/>
<http://supermmx.org/linux/mac/>
阿拉克 Apple 无损音频编解码器(通过“alac”):
<http://craz.net/programs/itunes/alac.html>
德 (T)om 的无损 (A)audio (K)ompressor(通过 'takc'):
<http://www.thbeck.de/Tak/Tak.html>
官方 OptimFROG 无损 WAVE 音频编码器(通过“ofr”):
<http://www.losslessaudio.org/>
TTA TTA 无损音频编解码器(通过 'ttaenc'):
<http://tta.sourceforge.net/>
比 MPEG-4 音频无损编码(通过“mp4als”):
<http://www.nue.tu-berlin.de/forschung/projekte/ -
无损/mp4als.html>
wv WavPack 混合无损音频压缩(通过“wavpack”和“wvunpack”):
<http://www.wavpack.com/>
帕克 无损预测音频压缩(通过“lpac”):
<http://www.nue.tu-berlin.de/wer/liebchen/lpac.html>
la 无损音频(通过“la”):
<http://www.lossless-audio.com/>
邦克 Bonk 有损/无损音频压缩器(通过“bonk”):
<http://www.logarithmic.net/pfh/bonk>
KXS Kexis 无损 WAV 文件压缩器(通过 'kexis'):
<http://www.sourceforge.net/projects/kexis/>
兆瓦 MKW 音频压缩格式(通过“mkwcon”):
<http://www.etree.org/shnutils/mkwcon/>
卡斯特 自定义输出格式模块(仅输出,用于编码为格式
这 工具 还不支持)
术语 将输出发送到终端
空 将输出发送到 /dev/null(仅输出,对于在多个
模式,例如 固定 模式或 剥离 模式)
读取文件进行输入时, 工具 自动发现哪个格式模块(如果有)
处理每个文件。 在将文件创建为输出的模式中,您可以指定
输出格式应该是 - 否则, 工具 通过选择第一种格式为您决定
它发现支持输出的模块(在默认安装中,这将是 WAV
格式)。
核心 配置
无模式
当没有模式运行时, 工具 采取这些选项:
-m 显示详细的模式模块信息
-f 显示详细的格式模块信息
-a 显示默认格式模块参数
-v 显示版本信息
-h 显示帮助屏幕
全球 配置
All / 全部 模式
所有模式都支持以下选项:
-D 打印调试信息
-F 文件
指定包含要处理的文件名列表的文件。 这会覆盖任何文件
在命令行或终端上指定。
注意:大多数模式将接受来自单一来源的输入文件名,根据
以下优先顺序:由指定的文件 -F 选项,否则文件名
在命令行上,否则从终端读取文件名。
-H 以 h:mm:ss.{ff,nnn} 格式打印时间,而不是 m:ss.{ff,nnn}
-P 类型
指定进度指示器类型。 类型 是其中之一: {PCT, 点, 纺, 面部, 没有}.
PCT 显示每个操作的完成百分比。 点 显示进度
每个操作通过显示一个“.” 在每完成 10% 的步骤之后。 纺
显示旋转进度指示器。 面部 显示每个操作的进度
显示随着手术临近而变得越来越开心的六个表情
完成。 没有 防止任何进度完成信息被
显示。 默认是 PCT.
-h 显示此模式的帮助屏幕
-i fmt 指定输入文件格式解码器和/或参数。 格式为:》fmt解码器
[arg1 ... argN]",并且必须用引号括起来。如果给出了参数,则
其中之一必须包含“%f”,它将被输入文件名替换。
例子:
-i 'n 缩短-2.3b'(使用官方的shorten-2.3b 而不是更高版本;离开
默认参数不变)
-i 'n 缩短 -x -d 2048 %f -'(强制缩短跳过前 2048 个字节
每个文件)
-q 抑制非关键输出(安静模式)。 通常进入 stderr 的输出
不会显示,除了错误或调试信息(如果指定)。
-r VAL 重新排序输入文件? VAL 是其中之一: {问, ASCII, 雅康果中的天然抗氧化成分得以留存,, 没有}. 默认是
雅康果中的天然抗氧化成分得以留存,.
-v 显示版本信息
-w 禁止警告
-- 表示它后面的所有内容都是文件名
输出 模式
此外,任何创建输出文件的模式都支持以下选项:
-O VAL 覆盖现有文件? VAL 是其中之一: {问, 时刻, 决不要}. 默认是
问.
-a STR 字首 STR 输出文件名的基础部分
-d DIR 指定输出目录
-o STR 指定输出文件格式扩展名、编码器和/或参数。 格式为:"fmt
[ext=abc] [encoder [arg1 ... argN (%f = filename)]]",并且必须被包围
引号。 如果给出参数,则其中之一必须包含“%f”,这将是
替换为输出文件名。 例子:
-o 'n 缩短 -v2 - %f'(创建没有查找表的缩短文件)
-o '后手 薄片 - %f'(使用备用flac编码器)
-o '阿菲 分机=aif'(用'aif'覆盖'aiff'的默认aiff扩展名)
-o '卡斯特 分机=mp3 瘫子 - 安静的 - %f'(使用跛脚创建 mp3 文件)
-z STR 后缀 STR 输出文件名的基础部分
特定模式 配置
LEN 模式 选项
-U 单元
指定打印总计的单位。 单元 是其中之一: {b, kb,
mb, gb, tb}. 默认是 b.
-c 不显示列名
-t 不显示总计行
-u 单元
指定打印每个文件的单位。 单元 是其中之一: {b, kb, mb,
gb, tb}. 默认是 b.
LEN 模式 产量
len 模式的输出起初可能看起来很神秘,因为它试图传达一个
在一点点空间中包含大量信息。 但它很容易阅读
一旦你知道列代表什么; 在某些列中,每个
列中的字符表示。 下面解释了每一列。
长度 以 m:ss.nnn(毫秒)格式显示 WAVE 数据的长度。 如果
数据是 CD 质量的,然后显示 m:ss.ff,其中 ff 是来自
00 到 74 最接近帧数(2352 字节块)
m:ss 后剩余。 如果所有文件都是 CD 质量的,则总长度将为
以 m:ss.ff 格式显示; 否则它将采用 m:ss.nnn 格式。 注意:CD-
质量文件四舍五入到最接近的帧; 所有其他文件都四舍五入
精确到毫秒。
扩大 尺寸
显示文件中所有 WAVE 块的总大小(标题、数据和
任何额外的 RIFF 块)。 本质上,这是文件的大小
如果它被转换为 .wav 格式,例如 工具 CONV.
注意:不要依赖此字段来确定音频大小! 如果你只是想知道
文件中有多少字节的音频,运行它 info 模式,然后看
其输出中的“数据大小”字段。
CDR 显示与 CD 质量文件相关的属性。 第一个插槽中的“c”
表明 WAVE 数据不是 [C]D 质量。 第二个插槽中的“b”
表明 CD 质量的 WAVE 数据不是在扇区 [b] 边界上切割的。
第三个插槽中的“s”表示 CD 质量的 WAVE 数据太
[s] 即将被烧毁。
这些插槽中的任何一个中的“-”表示特定属性正常或
普通的。 这些插槽中的任何一个中的“x”表示特定属性
不适用于此文件,或无法确定。
波 显示 WAVE 数据的属性。 第一个插槽中的“h”表示
WAVE [h] 头不是规范的。 第二个插槽中的“e”表示
WAVE 文件包含 [e]xtra RIFF 块。
这些插槽中的任何一个中的“-”表示特定属性正常或
普通的。 这些插槽中的任何一个中的“x”表示特定属性
不适用于此文件,或无法确定。
问题
显示检测到的 WAVE 标头、WAVE 数据或文件本身的问题。
第一个槽中的“3”表示文件包含 ID[3]v2 标头。
第二个插槽中的“a”表示音频数据不是
块-[a]对齐。 第三个插槽中的“i”表示 WAVE 标头是
[i] 数据大小和/或文件大小不一致。 第四个插槽中的“t”
表示 WAVE 文件似乎被 [t]runcated。 第五个中的“j”
slot 表示 WAVE 文件似乎附加了 [j]unk。
这些插槽中的任何一个中的“-”表示特定问题不是
检测到。 这些插槽中的任何一个中的“x”表示特定的
问题不适用于此文件,或无法确定。
fmt 显示处理此文件的文件格式。
比 显示此文件的压缩率。
文件名
显示正在检查的文件的名称。
固定 模式 选项
注意:创建的文件的文件名 固定 模式将基于输入文件名
附加到它的字符串“-fixed”,扩展名将是默认扩展名
输出文件格式。 例如,输出文件格式为 n 文件'foo.wav'
将成为'foo-fixed.shn'。 这可以被覆盖 -a 和 -z 全局选项
如上所述。
-b 移位轨道向后中断到前一个扇区边界。 这是默认设置。
-c 检查是否需要修复,而不实际修复任何东西。 工具 将
如果需要修复,则以状态 0 退出,否则以状态 1 退出。 这很有用
在 shell 脚本中,例如:“if shntool fix -c *; then shntool fix *; else ...; fi”
-f 移位轨道向前突破到下一个扇区边界。
-k 指定应该处理所有文件,即使它们中的前几个
除了可能的文件格式更改外,不会被更改。 默认为
跳过从 WAVE 数据角度来看不会更改的前 N 个文件
以避免不必要的工作。
-n 指定最后创建的文件不应该用静音填充以使其
WAVE 数据大小是 2352 字节的倍数。 默认是填充最后一个文件。
-u 圆形轨道中断到最近的扇区边界。
哈希 模式 选项
-c 指定应生成所有输入文件的复合指纹,
而不是默认的每个文件一个指纹。 复合指纹是
简单地将来自所有输入文件的 WAVE 数据的指纹作为一个整体
给定的顺序,并且与从
合并文件,如果相同的文件合并成一个大文件,没有填充
添加。 此选项可用于指纹文件集,或识别文件集
其中轨道中断已被移动,但没有任何音频被修改
方式(例如,不添加填充,不进行重采样等)。
-m 生成 MD5 指纹。 这是默认设置。
-s 生成 SHA1 指纹。
垫 模式 选项
注意:创建的文件的文件名 垫 模式将基于输入文件名
附加到它的字符串 '-prep added' 或 '-postpadded',扩展名将是
输出文件格式的默认扩展名。 例如,输出文件格式为
n 并在命令行上指定预填充,文件 'foo.wav' 将变成
'foo-prepadded.shn'。 这可以被覆盖 -a 和 -z 全局选项
如上所述。
请注意,某些输出格式编码器(例如 flac、ape)会自动去除标题
和/或额外的 RIFF 块。
-b 指定创建的文件应该在开头用静音填充
使其 WAVE 数据大小为 2352 字节的倍数。
-e 指定创建的文件应该在末尾填充静音以确保
它的 WAVE 数据大小是 2352 字节的倍数。 这是默认操作。
加入 模式 选项
注意:创建的文件的文件名 加入 模式将以 'joined.' 为前缀,并且
扩展名将是输出文件格式的默认扩展名。 例如,用一个
输出文件格式 WAV 文件“files*.wav”将变成“joined.wav”。 这可以
被覆盖 -a 和 -z 上面描述的全局选项。
-b 指定创建的文件应该在开头用静音填充
使其 WAVE 数据大小为 2352 字节的倍数。 请注意,此选项不
如果输入文件不是 CD 质量的,则应用,因为填充是未定义的
情况。
-e 指定创建的文件应该在末尾填充静音以确保
它的 WAVE 数据大小是 2352 字节的倍数。 这是默认操作。 笔记
如果输入文件不是 CD 质量的,则此选项不适用,因为
在这种情况下填充未定义。
-n 指定创建的文件不应填充静音以使其成为 WAVE
数据大小为 2352 字节的倍数。 请注意,如果
输入文件不是 CD 质量的,因为在这种情况下填充是未定义的。
分裂 模式 选项
注意:创建的文件的文件名 分裂 模式的形式为 prefixNNN.ext,其中 NNN
是输出文件编号,'ext' 是输出文件格式的默认扩展名。
如果使用“wav”的输出文件格式,并且前缀不会通过 -n 开关
下面描述,那么输出文件名将是“split-track01.wav”,
“split-track02.wav”等。这可以用 -a 和 -z 全局选项
如上所述。
有关指定分割点的信息,请参阅 指定 分裂 点 以下部分。
-c NUM 指定命名输出文件时开始计数的数字。 默认的
是1。
-e LEN 为每个曲目添加前缀 LEN 从前一曲目中提取的导入量。 LEN
必须以字节、m:ss、m:ss.ff 或 m:ss.nnn 格式给出。
-f 文件
指定从中读取分割点数据的文件。 如果没有给出,则拆分
点从终端读取。
-l LEN 指定输入文件应根据倍数拆分成更小的文件
的 LEN 时间间隔。 LEN 必须以字节为单位,m:ss、m:ss.ff 或 m:ss.nnn
格式。
-m STR 为从 CUE 表生成的文件名指定字符操作字符串。
这些字符一个一个地代表从/到字符的翻译。 他们
必须始终成对。 一些例子:
:- 将 ':' 的所有实例翻译为 '-'
:-/- 将 ':' 和 '/' 都翻译成 '-'
:-/_*X 将“:”翻译成“-”,“/”翻译成“_”,“*”翻译成“x”
-n fmt 指定文件计数输出格式。 默认值为 %02d,它给出两位数
用零填充的数字(01、02、03、...)。
-t fmt 根据 CUE 表字段以用户指定的格式命名输出文件。 这
可以识别以下格式字符串:
%p 表演者
%a 专辑
%t 曲目标题
%n 追踪号码
-u LEN 后缀每个轨道 LEN 从下一个轨道中取出的引出量。 LEN 必须
以字节、m:ss、m:ss.ff 或 m:ss.nnn 格式给出。
-x 名单
只提取曲目 名单 (逗号分隔,可能包含范围)。 例子
包括:
7 仅提取曲目 7
3-5 仅提取轨道 3 到 5
2-6,9,11-13
仅提取轨道 2 到 6、9 和 11 到 13
指定 分裂 点
分割点只是标记输入文件的 WAVE 数据中跟踪的位置
将被拆分。 它们可以以下格式的任意组合指定:
字节 其中 bytes 是特定的字节偏移量
米:秒 其中 m = 分钟,ss = 秒
米:ss.ff
其中 m = 分钟,ss = 秒,ff = 帧(每秒 75,因此 ff 范围
从00年到74年)
米:ss.nnn
其中 m = 分钟,ss = 秒,nnn = 毫秒(将四舍五入为
最近的扇区边界,或第一个扇区边界,如果是最近的扇区边界
恰好是文件的开头)
CUE 片
- 一个简单的提示表,其中每个“INDEX 01 m:ss:ff”行被转换为
am:ss.ff 分割点
分割点必须按升序给出,并且每行必须出现一个。 如果
从最终分割点计算的字节偏移量等于输入文件的 WAVE
数据大小,则忽略。 由于分割点指定了
将分割轨道的输入文件,N 个分割点将创建 N+1 个输出文件。
只要输入文件是
CD质量; 要强制非扇区对齐的拆分,请使用确切的字节格式。
猫 模式 选项
-c 指定应从输出中抑制额外的 RIFF 块。 默认的
是写入额外的 RIFF 块。
-d 指定应从输出中抑制 WAVE 数据。 默认是
写入数据。
-e 指定应从输出中抑制 WAVE 标头。 默认的
是写标题。
-n 指定奇数大小数据块末尾的 NULL 填充字节应为
从输出中抑制(如果存在)。 默认是写入 NULL 填充字节。
此选项仅在 WAVE 数据也被写入时适用,否则将被忽略。
CMP 模式 选项
-c 秒
设置用于字节移位比较缓冲区的音频秒数。
此选项仅对 -s 选项。 默认值为 3 秒。
-f 模糊
设置用于确定字节移位数据是否相同的“模糊因子”。
模糊 是一个正整数,表示允许的最大字节数
搜索区域中两个文件之间的不匹配 -s 选项。 这个
允许检查 (a) 字节移位的文件之间的不同字节
(b) 在搜索的区域中包含至少一个错误 -s 选项。 该
模糊因子越高,搜索所需的时间越长,因此将其设置为低 (8
左右),并根据需要逐步增加。 注意:这个开关只能是
与 -s 开关。
-l 列出所有不同字节的偏移量和值。 输出类似于'cmp -l'; 在
特别是,偏移量是基于 1 的。 可以与 -s 开关。
-s 检查输入文件中包含的 WAVE 数据是否相同
以字节移位为模。 目前,这只会检测到第一个的差异
529200 字节(等于 3 秒的 CD 质量数据)。 这可以用来比较
预刻录文件中的 WAVE 数据到相应轨道中的 WAVE 数据被翻录
来自刻录的 CD,如果翻录的曲目来自 CD 刻录的 TAO,这很有用,
因此在开始时可能会有 2 秒的沉默间隙。 这个选项可以
还有助于识别 CD 刻录机/CD 阅读器组合读/写偏移。
球杆 模式 选项
-c 指定应输出一个简单的 CUE 表。 这是默认操作。
注意:所有输入文件必须是 CD 质量的 CUE 表才有效。
-s 指定应输出显式字节偏移格式的分割点。
CONV 模式 选项
注意:创建的文件的文件名 CONV 模式将根据输入文件命名
姓名。 具体来说,如果输入文件名以该文件的默认文件扩展名结尾
文件的格式,然后所需输出格式的默认扩展名将替换它;
否则,它将被附加到它。 例如,对于输出格式 n 和 WAV
输入文件名为“file.wav”,转换后的文件将命名为“file.shn”,因为“.wav”是
的默认扩展名 WAV 格式。 另一方面,鉴于同样的情况
上面,但输入文件名为“file.wave”,转换后的文件将被命名为
“file.wave.shn”,因为“.wave”与“.wav”不匹配。 这可以被覆盖 -a
和 -z 上面描述的全局选项。
请注意,某些输出格式编码器(例如 flac、ape)会自动去除标题
和/或额外的 RIFF 块,而其他(例如 sox)可能会在极少数情况下调整 WAVE 数据大小
实例以便在块边界上对齐音频。
-t 从终端读取 WAVE 数据。
info 模式 选项
此模式不支持任何其他选项。
剥离 模式 选项
注意:创建的文件的文件名 剥离 模式将基于输入文件名
附加到它的字符串 '-stripped',扩展名将是默认扩展名
输出文件格式。 例如,输出文件格式为 WAV 文件“bar.shn”
将成为'bar-stripped.wav'。 这可以被覆盖 -a 和 -z 全球化
上面描述的选项。
请注意,某些输出格式编码器(例如 flac、ape)会自动去除标题
和/或额外的 RIFF 块,而其他(例如 sox)可能会在极少数情况下调整 WAVE 数据大小
实例以便在块边界上对齐音频。
-c 指定不应剥离额外的 RIFF 块。 默认是删除
在第一个数据块之后出现的所有内容。
-e 指定 WAVE 标头不应成为规范的。 默认为
规范化标题。
根 模式 选项
注意:创建的文件的文件名 根 模式将以“silence.”为前缀,并且
扩展名将是输出文件格式的默认扩展名。 例如,用一个
输出文件格式 WAV 生成的文件将成为“silence.wav”。 这可以
被覆盖 -a 和 -z 上面描述的全局选项。
-l LEN 生成文件包含 LEN 沉默的程度。 LEN 必须以字节为单位,m:ss,
m:ss.ff 或 m:ss.nnn 格式。
修剪 模式 选项
注意:创建的文件的文件名 修剪 模式将基于输入文件名
附加到它的字符串“-trimmed”,扩展名将是默认扩展名
输出文件格式。 例如,输出文件格式为 n 文件'foo.wav'
将成为'foo-trimmed.shn'。 这可以被覆盖 -a 和 -z 全球化
上面描述的选项。
-b 只从文件的开头修剪静音
-e 仅从文件末尾修剪静音
环境 变数
ST_调试
如果设置,shntool 将打印调试信息。 这类似于 -D
全局选项,除了立即启用调试,而不是
当命令行被解析时。
英石_ _DEC
指定输入文件格式解码器和/或参数。 代替 与
您希望修改的格式,例如 ST_SHN_DEC. 这个变量的格式是
类似于 -i 全局选项,除了不包括初始格式。
例子:
ST_SHN_DEC='缩短-2.3b'
ST_SHN_DEC='缩短 -x -d 2048 %f -'
英石_ _ENC
指定输出文件格式扩展名、编码器和/或参数。 代替
使用您要修改的格式,例如 ST_SHN_ENC. 这个变量的格式
类似于 -o 全局选项,除了初始格式不是
包括。 例子:
ST_SHN_ENC='缩短 -v2 - %f'
ST_FLAC_ENC='薄片 - %f'
ST_AIFF_ENC='分机=aif'
ST_CUST_ENC='分机=mp3 瘫子 - 安静的 - %f'
请注意,命令行选项优先于任何这些环境变量。
退出 状态
一般来说, 工具 成功时以状态 0 退出,如果成功则以状态 1 退出
遇到错误。 唯一的例外是从内部选择“退出”选项时
交互式文件重新排序菜单,在这种情况下,存在状态将为 255。
附注
工具 用词不当,因为它处理 WAVE 数据,而不是缩短数据。 名字是一个
从早期作为“shnlen”保留下来,这是一个专门为提取数据而创建的程序
有关存储在 .shn 文件中的 WAVE 数据的信息。
别名 工具 以“shn”而不是“wav”为前缀以避免可能的冲突
与现有程序。
使用 onworks.net 服务在线使用 shntrim