伤心的笔 发表于 2013-8-17 09:34:26

Batch MLP Encoder 使用方法

本帖最后由 伤心的笔 于 2018-2-18 16:09 编辑

本软件只能操作Surcode MLP Encoder。是否在寻找能自动操作Surcode DTS Encoder的软件?推荐:AudioMuxer或eac3to(均为国外软件,非本作者作品)
请移步新版 Batch MLP Encoder 3.0.6 (不再支持XP),以下内容已经过期。

一、作者的话
  Bing网站管理员工具告诉我,“Batch MLP Encoder使用方法”这个词语的频率相对来讲高一点。想想也是,我写的Batch MLP Encoder确实不算一个容易使用的工具。MLP是很少人接触的东西,不是我推脱掉编写软件帮助的理由。下面就来简单地介绍一下Batch MLP Encoder。
  何谓Batch MLP Encoder?顾名思义,一个帮你批量编码MLP音频的工具。
  因为MLP这个音频格式拥有完整的知识产权,所以MLP的编码器只有Surcode MLP Encoder这一个。Surcode MLP Encoder的缺点在于,只能一首一首制作,而且必须自己先分离出多个声道的多WAV文件,制作繁琐。可能Surcode MLP Encoder也有它自己的考虑:一首歌曲的制作是很费工夫的,相比之下这一点点时间算什么呢?的确如此。可是对于我们这些仅仅重新打包音乐的人来说可不是这样,我们不过是想刻张碟子放到汽车里听听罢了,没那么多时间可以浪费。所以,批量编码MLP文件,是我们这种非专业的大众需要的功能。
  两年前我与“DTS光盘制作器”的作者起了纠纷。DTS光盘制作器是第一个用模拟操作的方式解决MLP批量编码问题的软件。但是他的收费软件调用了某个GPL协议的类库,按协议必须全部开源。纠纷之后,我借着余怒写完了Surcode Setting File Maker,仅仅模仿了他的软件的MLP批量编码功能,因为他的软件也只有这一个功能是最令人眼前一亮的。我知道我的行为可能不怎么道德(妨碍他赚了点钱),也可能很道德(打破了小垄断),但是绝对没有侵犯他的权益,不触犯法律。我的目的不在赚钱,只在学术之乐,所以按照GPL协议开源,为开源社区贡献自己微薄的力量。
  后来,软件功能进一步完善,改名为Batch MLP Encoder,这个名字更好地突出了软件的功能。在投到几个软件站后,大量小软件站转载此软件,让我很是欣慰。
  由于还在上学,根本没有足够的时间来维护这个软件,软件帮助也一直拖着没写。今天偶然看到Bing的统计结果,觉得,这是最后的机会了,在网友没有放弃这个软件之前。
  该软件已经一年多没有维护了,而且,我可能在2016年高考前都不会对其进行维护了。见谅!
二、使用方法
  首先你的电脑上必须装有Microsoft .NET Framework 3.5。Windows 7系统自带,XP/Vista/8需要额外下载安装包。这是一个常用的运行时组件。
  你还需要下载如下两个软件:eac3to和Surcode MLP Encoder。这两个软件都是制作DVD-Audio光盘的必需品,前者分离声道,后者制作MLP。这不算额外软件。根据对应软件的许可协议,我不可以在压缩包里面捆上后者。所以请自行安装。
  把下载之后的压缩包解压,得到两个文件,Batch MLP Encoder.exe和taglib-sharp.dll。双击Batch MLP Encoder.exe这个文件即可打开主程序。
  主程序启动之后,可以看到我已经把界面分成了1、2、3、4、5、6六个步骤。第一次启动要设置路径,就是告诉程序eac3to软件和Surcode MLP encoder软件在什么位置,以便程序正确地调用他们。“临时文件保存路径”里面会存放软件分离的WAV文件以及生成的SSF配置文件。考虑到这些文件可能还会对您有用,软件并不会在结束之后删除临时文件,需要您手动删除。因此请将“临时文件”设置在一个较大的分区里面。
  接下来添加文件。点击“添加”按钮添加欲转换的音频文件。软件只支持很少的音频文件,因为我实在没有足够的精力和时间来让它支持更多的音频文件。见谅。
  如果在添加文件时出现“完善音频信息”对话框,是因为软件不能读到部分信息,需要您手动填写。这也是软件设计不完善的地方,但是确实没有时间维护。
  “重采样选项”里面可以设置输出音频的采样率和采样精度。“需要时重采样”是软件认为当前采样率不符合您设置的采样率,才会对音频进行重采样。“始终重采样”则是任何情况下都对eac3to下重采样的命令。“强制16bit”选项勾上之后,软件会命令eac3to强制将采样精度设置为16bit。如果您的音频文件都是16bit的,请勾上它,因为有些情况下eac3to会错误地将其转换为24bit的音频文件。若不勾选这个选项,则由eac3to判断采样精度。强烈建议您将16bit的音频文件和24bit的音频文件分开导入软件处理。
  “缩混选项”里面提供了对音频声道的处理方式。相信您应该明白什么意思,不多讲。
  “自动化选项”里面设置了软件的“超时时间”。如果在给定的时间内eac3to或Batch MLP Encoder没有完成任务,则自动跳过该文件,避免停住。
  最后的“保存至”顾名思义。
  当您把这六步全部完成后,“开始”按钮就会亮起,您就可以点击“开始”按钮了。但是,在点击按钮之前,请确保计算机上没有运行DoubleClickFix软件。这是一个修正坏鼠标双击问题的软件。本软件暂时与其不兼容,模拟操作会被其过滤掉。另外,一些弹广告的软件也可能会阻挠软件的工作。
  点击“开始”按钮,软件就开始工作了。
  如果您需要提前中止任务,可以按下“中止”按钮。软件目前不能做到立即停止,最长的时间就是自动化选项里面设置的一个音频文件的时间。等我有时间后可能会完善这个细节。
  积压工作全部完成后,软件弹出对话框展现每个文件的处理情况。不出意外的话,MLP文件就会在您指定的位置出现。
  软件的操作方法就是这样。如果您在使用软件的过程中发现了任何问题,欢迎以QQ、邮件的方式告知作者,或者直接修改我的代码。伤心的笔2015-3-2

以下几楼的信息已经过期。

伤心的笔 发表于 2013-8-17 10:06:38

一、制作立体声的MLP文件

本帖最后由 伤心的笔 于 2015-10-3 12:13 编辑


——————————————————————————————————————————————————————————————————————————
以下内容已经过期:

Surcode Settings File Maker软件下载地址:https://www.dianbo.org/forum.php? ... 23996&fromuid=59469

在这个贴子里我会首先讲一下Surcode Settings File Maker软件的使用过程,然后是Surcode Settings File Maker软件的原理等等。

说起来,我编写Surcode Settings File Maker这个软件,很大一部分程度要归功于Easy to DVD-Audio软件对我的激励。Easy to DVD-Audio软件采用了创新的方法,就是生成SSF文件。这里的SSF文件不是搜狗输入法的皮肤文件,而是Surcode MLP Encoder的配置文件,Easy to DVD-Audio这个软件能够做到批量分离声道,并批量制作SSF文件。用Surcode MLP Encoder软件时,导入这个文件可以节省很多时间。

但是cpzjj编写的Easy to DVD-Audio软件不仅是收费,要98元,而且是在软件上明目张胆地贴出了关于破解版软件的下载,甚至使用了受GPL协议保护的DLL文件。因此激起了我强烈的反感。之后Hiroshi,对我说了一句话,不知道是鼓励还是嘲讽,说让我破解它,或者做个更好的。这就更加激起了我的自私心理——我一定要想办法让所有人都能免费批量制作SSF文件。

以下为旧版本支持内容。
————
因为Easy to DVD-Audio是用易语言编写的软件,“易”语言,在我的认知中,应该是比较好破解的。但是随后我失望了。根本没有软件能够将最新的易语言程序反汇编为.e源码。由于本人对汇编语言一窍不通,在尝试了好多次之后,最终放弃了破解这个软件的想法。

于是我准备从SSF文件入手。既然他的软件能生成,那我为什么不能编一款软件,生成同样的,甚至更好的SSF文件呢?
借UltraEdit软件和Windows 7的计算器软件,我成功读懂了SSF文件的二进制代码的含义。这个在后面会详细介绍。
因为明白了如何生成SSF文件,特别激动,发了一贴:SSF文件的秘密已经揭开了!

明白了如何生成SSF文件,其他的就不是问题了。于是,昨天下午抽空,把Surcode Settings File Maker软件编完了。

开场白讲完了,下面是使用过程。


Easy to DVD-Audio软件,生成SSF文件时,只支持环绕声,具体来讲,只支持5.1声道、6.1、7.1声道。也就是说,歧视立体声。

Surcode Settings File Maker软件则是提供了对立体声文件的支持。为什么呢?因为在编写的代码中,增加了容错性,使得eac3to软件分离声道后的6个声道文件,如果缺少某个文件(比如立体声就只生成两个文件),也能生成SSF文件。
还有一个原因,因为我电脑里的音乐大部分都是立体声,我对流行歌曲特别感兴趣。我还缺少环绕声的音乐文件,缺少播放环绕声的设备。所以我还是十分重视立体声的。

Surcode Settings File Maker软件还没有提供对单声道文件的支持,估计下一个版本就可以了。具体支不支持呢要看我编写下一个版本的时候,想没想起来这一行字。

废话不多说。
1.运行软件。
下载下来的文件是一个压缩包。把他解压到任意目录。

如果您下载的软件是包含eac3to程序的,那么解压之后就有这些文件。可以直接运行软件了。

否则,只有最后两个文件。推荐此时把这两个文件复制到eac3to程序的文件夹里运行,这样少一点麻烦。不复制也可以。

双击Surcode Settings File Maker.exe,运行程序。

2.接受许可协议。

您必须认真阅读软件显示的GPL v2协议。您也可以查看中文译本。
为什么我让它显示英文版的协议呢?因为只有英文版的GPL v2协议具有法律效力,就是说,中文译本仅供参考。
如果您完全同意GPL v2协议,点击“I Accept”;否则,点击“I Do Not Accept”

3.设置路径
如果您下载的Surcode Settings File Maker是包含eac3to程序的,或者您把Surcode Settings File Maker放到了eac3to程序的文件夹里,软件的“eac3to程序路径”就自动填好了。否则,点击“浏览”按钮,找到eac3to文件夹。
由于编写时间紧迫,我并没有时间来写代码判断您输入的路径是否合法,因此只能通过“浏览”按钮设置文件夹。

软件在制作过程中,会分离文件的声道为多个WAV文件;同时软件会生成同名SSF文件;在SSF文件中,需要让Surcode MLP Encoder知道MLP文件应该保存在哪儿。所以这三个路径都要选择。


4.导入文件。
点击“添加”按钮导入文件。

目前软件支持的格式比较少,以后支持的格式会慢慢丰富起来。

请注意!软件现在还不能在一个序列中处理两个或以上同名的文件,也不会提示有文件名相同的文件。所以请您确保导入的文件没有重名的,哪怕只是扩展名不同但是扩展名前面相同都不行。比如“a.wav”和“a.mp3”不能同时导入;比如不能导入两个文件夹里的两个“a.wav”文件。理由还是编写时间紧迫。
5.设置选项。
由于是立体声,所以要勾选“视为立体声”的复选框。软件现在还不具备自动判断的能力,因为编写时间紧迫。

至于“延时”、转换声道之类的功能,一般用不上。
而“音频增益”、“重采样”的功能还没有做好。

6.生成MLP文件。
点击“Let's Rock!”按钮。软件开始生成SSF文件。
由于多线程需要牵扯到线程安全的问题,时间紧迫,只能是单线程处理任务了。也就是说,软件处理过程中,会假死。但请不要结束软件进程,要等它处理完毕。
软件默认隐藏了eac3to的窗口。但是能听见eac3to编码完成后的提示音。

不一会儿,软件恢复响应,提示任务完成。

为什么说“不出意外的话”?软件现在还不能判断eac3to是否真的完成了任务,也不能判断eac3to是否报错。理由仍然是编写时间紧迫。

7.将ssf文件导入Surcode MLP Encoder。
SSF文件已经躺在您选择的这个文件夹里了。



打开Surcode MLP Encoder软件。点击菜单“File”-“Open...”

选择软件生成的SSF文件。一次只能处理一个文件。

点击“Encode”生成MLP文件。




伤心的笔 发表于 2013-8-17 10:14:56

二、制作环绕声MLP文件

过程与前面基本相同,只不过是不要勾选“视为立体声”复选框就罢了。


好了,我来说一下这个复选框的作用。
不勾选的时候,生成的SSF文件,导入Surcode MLP Encoder之后,Channel下拉列表中是最后一项,用来生成多声道的文件。


否则“Channel”下拉列表中就是第一项。用来生成立体声。



下一个版本应该会实现,根据eac3to软件生成了哪些文件,自动地判断需要选择哪个“Channel”

伤心的笔 发表于 2013-8-17 10:31:44

以软件生成的环绕声的SSF文件为例,说明一下SSF文件的结构。

这是这个文件的十六进制数据,两个十六进制数字表示一个字节。
被选中的数据是文件头,用来让Surcode MLP Encoder检验SSF文件是否合法。


接下来这个字节,表示字符串的长度。怎么说呢,这个14,用计算器转换为十进制后,得20。

看一下后面文件路径的长度,也是20个字节!

这些字符串都是ANSI编码。一共有九个字符串,每个字符串前面都有这样一个字节,指示字符串的长度。
九个字符串,前六个是分离声道后的WAV文件,第七个是WAV文件所在目录,第八个是MLP文件保存的目录,第九个是MLP文件保存的位置。
目录最后可以以“\”结尾,也可以没有这个“\”


文件倒数第四个字节,是Channel的序号。

这个Channel是第20个项,换算为十进制为14,正好是这倒数第四个字节。


把文件倒数第四个字节改为01,Channel就变成了第1个项。


最后三个00字节结尾。


其实Surcode MLP Encoder还藏着一个Channel,用来编码单声道的。需要把倒数第四个字节改为00
我们看看效果。
虽然Channel里没有这一项,但是确实可用。这时候MLP Encoder可以只输入一个声道,用来编辑单声道文件。

因此Surcode Settings File Maker的下一个版本将增加对单声道的支持。


伤心的笔 发表于 2013-8-17 10:34:29

写教程还真累。

meitp 发表于 2013-8-17 12:12:27

精神可嘉!!!!辛苦了!谢谢!!

伤心的笔 发表于 2013-8-17 12:33:28

meitp 发表于 2013-8-17 12:12
精神可嘉!!!!辛苦了!谢谢!!

感谢支持!

hsjsecond 发表于 2013-8-17 16:30:36

支持一下,期待更精彩

lijianwen 发表于 2013-8-17 16:33:01

天才啊,你哪里来这么多时间研究这么多东西?
谈谈你的学习经验,对我来说比这个程序更有意义。

伤心的笔 发表于 2013-8-17 16:39:51

lijianwen 发表于 2013-8-17 16:33
天才啊,你哪里来这么多时间研究这么多东西?
谈谈你的学习经验,对我来说比这个程序更有意义。

过奖了。
要想利用软件达到“半自动化”甚至“自动化”,就要让软件能够模拟手工制作的过程。
因此,学会任意一门编程语言,就有了编写软件的能力。再加上明确的思路,就可以利用计算机来帮助我们简化事情。
其实很多的创造都是我们为了“偷懒”而勤奋创造出来的。

页: [1] 2 3
查看完整版本: Batch MLP Encoder 使用方法