录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店
Sonar / Cakewalk

关于SONAR与CAL之间的爱恨纠缠!重大BUG发现!

( 17 )
12
 
[收藏]
-  第 1 页  -

1161
#1 14-11-28 00:37

关于SONAR与CAL之间的爱恨纠缠!重大BUG发现!

SONAR,作为一向稳重沉稳的我,也不得不破口了!
我想请问SONAR的程序编写员们,你们将SONAR编成这样,你阿姨知道不?

在插件的应用上,全球各大音源厂商出的插件都去支持C,N……,知道为什么吗?
就是因为你这软件居然有如此严重的BUG,我甚至怀疑你们雇用的软件编写员,是特么别的软件厂的握底!
虽然你后来在插件上,也兼容了使用量最大的VST,但你的市场已被后起软件抢走不少了!
真是背死,活该呀!谁让你在操作上这么背,原本在CW9上的CAL,居然在SONAR上大量出错!
这叫本来拥有“写轮眼”的CW9情何以堪?相信已经利用CAL编写过自用操作系统的骨灰级老手来说,深有体会吧!
千万别提SONAR自带的那些CAL,太菜了,对于MIDI的高速操作来说,完全不够用!
(咳咳,算了,我实在是太粪撸了,请各位原谅,以下列出SONAR的几宗邪恶的BUG,数个深夜弄是被我发现鸟)

第一宗罪:数据溢出!
SONAR 在个别情况下,不容许数据溢出,就算你写入的公式得出的结果肯定在取值内,
但只要在同一行的公式中,如果计算过程中出现了数据溢出,程序将停止运行。
结果编写时就必须注意,公式中使用的变量,不管是内置变量,还是自定义变量,
编辑者必须小心估计,公式的计算过程是否会出现溢出!
PS:这是你丫谁给你们的权利?CW9都行,你SONAR硬是要这样……
    还好,虽然你们这么恶心,通过对逻辑能力的训练,勉强可以用更精心的公式设计来回避这个BUG。(当时以为可以回避)

第二宗罪:虚假精度!
SONAR 的最高精度是960TK,CW9只能达到480。不过说真的,很多情况下,连480都是浪费。
但是,最令人不能理解的是,你丫为的是哪般要来虚假的,你以为表面上让客户随意设置精度,
而本质上你还是固定用960作为精度,没人发现?我那个奇遇,求你阿姨呀!
通过“pause”命令,很容易就发现问题了!

所有的标记类变量,以及所有的时间节拍转换类变量(tick除外),全是960的读取精度,
其它的变量又是正常的以用户设定为标准的精度,请问你这是为哪般呀?
不知道这样的话,CAL编写会变得相当困难吗?

一个简单的公式,如:(meas Event.Time),我居然要写成(meas (/ (* Event.Time 960) TIMEBASE)),
如此才能在用户设定的精度环境下正确表达事件所在的拍子位置。
会编写CAL的骨灰们,是不是看到这里有点儿豁然开朗的感觉?呕西买嘎哒,很不好意思的告诉你,那是幻觉,
SONAR 所带来的计算上的逻辑痛苦,远不只如此,因为这只是程序读取MIDI事件时的状态,
它在最后写入结果时,又特么依照的是用户设定的精度来输出的,怎么样,是不是有点想屎的感觉?

这就意味着,编写CAL时,你要以960的精度来估计数据溢出,这特么太容易溢出了,结果在设定义变量时,
就必须以“dword或long”为主了,因为960TK在公式中随便一乘,数据就会超大!在CW9中就根本不用考虑这问题!

并且,要万分纠结的反复考虑与分析CAL语句的读写逻辑,注意,读的时候,有些参数读入变量时,是固定960精度的,
而有一些又是以用户设定的精度进行读取的!
然后,在写出结果时,特么的又会反过来,有些参数在写出结果时,是以960精度的,但有一些,又是以用户设定精度来表达的,
这就要特别小心在公式计算中,要分析清楚,哪些变量要通过公式转成960精度,哪些要转成用户自定精度!
搅呀搅,无数的屎拿给你搅!

结果就是,因为这第二个BUG,造成第一个BUG的破坏性扩大!
你打夜的,你让所有的内置变量都以用户设定的精度来读写会屎么?

第三宗罪:失效的内置变量!
是个小问题,即——tick这个内置变量居然失效了,完全没用,你打夜的,你照搬CW9的核心程序不行吗?非要整这些有的没的?
幸好meas、beat这些变量是正常的(注意,要在960与用户精度中加入搅屎棒哈!),但这特么不是叫我不放心吗?
就这一个失效参数,我是花了几小时解决一个问题时才最终发现了,你特么还有没有别的什么被取消的指令?

第四宗罪:这个太终级了!
在有选区,但又没有选中任何事件的情况下,CAL无法启动!
我必须要说脏话了,我脏话你全家呀!我怪动作你后代呀!我怀疑你没有阿姨!
很多快速的操作,就是用了大量凭空的插入方式,没框中事件你就不能执行CAL,你怎么想的呀?
你们这样设置软件,问过做音乐的人吗?问过用软件的人吗?我我我我我哇呀呀呀……

------------------------------------

当时扣鼻屎刚出来不久,我有同事就去用了,他说太爽了,操作上很好用,我当时很不以为然,因为强大的CW9有写轮眼,
管你有什么功能,只要被我知道了,我就把那功能通过CAL搞到CW9上去,还有很多现在各大软件都不具备的功能,通过CAL也能乱爽,
但CW9不能跑软音源呀,又想用SONAR,又想操作上很爽的骨灰们,是不是都有想屎的感觉呢?
以上四个严重的BUG,特别是最后一个,充分说明了SONAR不是一款MIDI软件,而是一款音频软件,
它带有MIDI的简单写入功能,以及对MIDI事件的修改功能。

最后要说的是,这几个夜熬下来,总结了一些经验,我将自己编写的CAL作了努力的修改,
使大多数CAL可以在SONAR 上跑了,但有一些关键适用的,因为公式中有无法回避上面四个BUG的变量,结果无法在SONAR上用,
感觉很不爽,特来发发飙,也同时希望会编写CAL的朋友,在看到本文后可以发表一些精良的看法!
哎,伤心的SONAR……
砖以抛出,骨灰们,玉呢?

[ 本帖最后由 溺水鱼 于 14-11-28 00:38 编辑 ]

2839
#2 14-11-28 12:29
关于软件的程序设计,其实很多人都不甚了解。大家更关注的操作便捷度、音质好与坏。楼主的这些让我学到了好多东西!

245
#3 14-11-28 13:49
第一个溢出检查有啥问题…我反而觉得这样更好。难道你写程序数据溢了都不管的么

1161
#4 14-11-28 14:08
原帖aiqingzhongwei 于 14-11-28 12:29 发表
关于软件的程序设计,其实很多人都不甚了解。大家更关注的操作便捷度、音质好与坏。楼主的这些让我学到了好多东西!

嗯嗯,其实二楼说得不错。

从音质上来说,以及对软音源的支持度来说,SONAR还是表现得不错的,
我也认识很多用SONAR的朋友,其实对于玩原创编曲的朋友们来说,SONAR的MIDI操作,还是比较顺手的,
至少对于从CW9延用过来的制作人而言,还是亲切的。

我也想用SONAR很久了,但对于会编写CAL的制作人来说,只要是不属于自己个性化的操作方式,
多多少少都不是那么顺心,结果我在MIDI的制作上,还是习惯于CW9上操作,然后到SONAR上换音色,
但最近发现,很多时候,一开始不用上好的音色,会对编曲动机,灵感的生成有一定程度的影响,
所以很想改用SONAR来从头到尾的制作MIDI,结果在仔细研究后发现了这些程序上的问题,
之所以称这些问题是BUG,确实是因为它们的存在严重影响了一些东西,导致CAL无法被全面支持,
也就直接导致了MIDI操作上,成为了SONAR的短板……

本质上来说,并不是CW9的MIDI操作有多好,它的基本操作其实与SONAR是一样的,
但它对CAL的完美支持,造就了MIDI操作上没有软件可以超越它,因为它能达到异想天开的操作功能,
并且是完全顺从于个人操作习惯的。而且从别的软件上看到什么不错的功能,还能集合到CAL系统中来。
说实话,CW9原本的功能操作,我已经全部忘记了,我的操作是完全基于CAL的。

哎,总之,对SONAR在CAL上的支持方面,确实比较失望,不过使用SONAR的朋友不用在意的,
这个贴子本身就是写给利用CAL来编辑操作系统的老鸟分享的,他们对此的感受最深,
不会编写CAL的朋友,其实并不会感觉到这方面的困扰。

其实很羡慕不用CAL来构建操作系统的朋友,因为他们会理所当然的去适应官方给出的操作功能,
而会写CAL的人,尝试过它带来的自由之后,再去被官方的操作功能束缚起来,
痛苦远比从没有自由过的人强烈。

就在本板中,我也看到了一个帖子——《你期望的SONAR x4 的新功能是什么?》
这个贴子中所提到的点子,分为三大类——MIDI操作类,音频插件操作类,视觉体验类。
我想说的是:
关于视觉体验类,CAL没法起任何作用。
关于音频插件类,CAL可以起一定程度的操作简化功能,并顺应不同的插件进行个性化的系统生成,
关于MIDI操作类,会写CAL的朋友,几乎不会产生需要官方出什么新功能的想法,因为CAL就是终级的。
只要能全面支持CAL,那么在MIDI操作上,你就是上帝,上帝说这个功能可以有,于是便有了。
(当然,希望WAV完美转MIDI的功能,这个已经超出了上帝的所能……)

3274
#5 14-11-28 14:37
这个时代,MIDI比较局限,所以不太增强MIDI的动作了。

2839
#6 14-11-28 17:17
我是从2013年开始接触SonarX1的,当时是从Cubase上转过来的,安装好后第一天就用它编了一个曲子,忽然被它的音质吸引了(不知道是不是心理作用)!当然,在此之前的很多年就听一位编曲的朋友在用Sonar,他编混的一些作品在央视音乐频道展播,潜意识中也受他的影响,他就告诉过我Soanr的音质是非常棒的,那时候是在2009年左右,那个时候我还在用水果和Cool Edit编曲,刚开始接触Cubase。关于CAL,了解过一点点,但是到今天在Sonar中没有用过这个功能,我都是在Sonar中编曲,然后导出音频文件拿去Tools里面混音,舒缓一些、曲风传统一些的歌曲我就在Sonar里面录音和缩混。
相信很多朋友电脑里面安装了不少的软件,我自己就是安装了Pro Tools、Cubase、SonarX3、Reaper、Live、水果,做编曲和混音时,各取所需,毕竟时间有限,怎么能够尽可能好的实现自己的音乐想法才是最重要的!
原帖溺水鱼 于 14-11-28 14:08 发表

嗯嗯,其实二楼说得不错。

从音质上来说,以及对软音源的支持度来说,SONAR还是表现得不错的,
我也认识很多用SONAR的朋友,其实对于玩原创编曲的朋友们来说,SONAR的MIDI操作,还是比较顺手的,
至少对于从C ...

2839
#7 14-11-28 17:19
在这里跟帖的都是舍不得Sonar的一党 很多时候会又爱又恨,爱大于恨,期望它成长进步!

1161
#8 14-11-28 20:17
原帖redflowerfu 于 14-11-28 13:49 发表
第一个溢出检查有啥问题…我反而觉得这样更好。难道你写程序数据溢了都不管的么

结果有溢出,是肯定不行的,这个在CW9上也无法通过,就算意外通过,CAL给出的事件也是混乱或是无法给出的,
上文中提到的溢出,是指在运算过程中,比如你用到的内置变量中,有选区首尾,也有光标位置,在CW9中,
就只管最终输出的结果是在取值内就行,也就是说,你可以得到一个光标跑到22小节的结果,
也可以将选区首前移到开头位置,或选区尾移到全曲结束位置,因为这些结果都是正常的取值,没有超出功能限制,
如果你想把光标移动到全曲开头的更前边,那就是不可能的。这个就是结果数据溢出。

但在SONAR中,整个运算过程,都不能溢出。
比如我要判断光标是在选区首的前边还是后面,我就需要写两段语句来判断,
即:
如果光标减选区首大于零,则判断光标在选区首的后面,
  如果光标减选区首小于零,则判断光标在选区首的前边,

但这样的话,因为有可能存在负值,而负值对于选区首、尾,以及光标这几个变量来说,是属于溢出数据,
即这些变量是不可能为负值的,有个别情况下,这个公式就将出错停止。这就很不合理了。

要知道,在公式的计算过程中,出现数据的临时溢出,是很正常的事,只要结果在变量的取值内就OK,
SONAR在这方面被限制得过死,就会带来很多麻烦,在编写CAL时,就必须将这种情况考虑在内,
事先就要将有可能出现溢出的内置变量加载到可为负值的自定义变量中去,再用自定义变量来套公式计算,
算出结果后,再返回给内置变量,然后输出结果,这就增加了巨大的运算量,
就算是一个简单的CAL,也有可能被编写得十分臃肿,大大增加了出错概率。

303
#9 14-11-28 20:52
你是老张吧,估计你应该还是停留在Sonar8那一代,X系列我用了几天已经完全放弃,实在是无法习惯这个操作模式。现在都是CW9编写MIDI音符,然后挂Cubase里加载音源。

1161
#10 14-11-28 21:55

回复 Chiphell 在 #9 的 pid=4334027 的贴子

哦?!?!你知道我?你是?就是就是,我现在用的是SONAR8.5,其实从SONAR2开始,我就已经在关注SONAR,
因为CW9的有效热键只有50多个,而SONAR可以设置上百个热键,太诱人了……
因为CW9的热键少,很多功能不得不复合在同一个键上,甚至还用到了别的方式来帮助,
原本我也是用CW9来编辑MIDI,然后到SONAR里去处理音频的,但这样真心太麻烦,
而且,现在感觉,一开始就在正确的音源下写MIDI,感觉好像不太一样,所以想改用SONAR写MIDI,

哎,结果,终于下定决心解决CAL不兼容的问题,
之前听人说就是精度与CW9不一样造成的,所以把问题想简单了,
花了好几天的时间来研究,最终发现SONAR这些BUG,根本无法正确的支持所有的CAL,
心都灰了……

听你的意思,似乎X系列的操作完全变了吗?我没试过,只是在网上看大家都说X系列用着不习惯,
不知道X系列是个什么样的操作概念?

我的理念就是,MIDI的写入,必须要简单且功能强大,能随心所欲的,高效的实现你想写入的MIDI事件,
最好是能达到用键盘来输入钢琴的效率(虽然这个有些夸张),哎,习惯了自编的MIDI写入系统,
改用SONAR,这样不能生成,那样不能转变,感觉像一个田径运动员站在他熟习的跑道上,
但将他的双手反捆起来,虽然也能跑到终点,但太逼闷了……

303
#11 14-11-29 18:16
X系列的钢琴卷帘窗已经完全和SONAR之前的不同,根本没办法适应。论坛里应该有X2的迷你版,100多M,你可以下载来玩玩,适应不了删了就是了。 CW9年代的时候,很多快捷键是没办法改的,只能修改软件,就像我之前用CW9的时候MIDI编写试听工具“B”经常会按错,按成N,然后对其就会出问题,后来自己研究了一下把主程序的B改成了A,还顺手了一些。到现在我还留着那个修改的文件。好好保留着SONAR8.5吧   最后一代的经典,现在cakewalk都不属于Roland了,其实我真的希望Sonar只需要有强大的MIDI编写,然后能挂VST就行了,别的东西我也用不到。因为混音我也不会去用Sonar混。
可能是你这么多年做MIDI已经成了习惯,很难去适应另外一个操作模式,就像当时我很羡慕Cubase的11号控制器抛物线一样。自己做过一个11号控制器的自动抛物线处理的CAL,但是只能是在特定的精度下。
如果觉得Sonar8的体积太大,不需要自带的音源的话可以找一个Sonar8的简化版,貌似才10M左右,该有的都能,也能挂载VST。貌似是8.01还是8.02来着。

1161
#12 14-11-29 18:35
原帖Chiphell 于 14-11-29 18:16 发表
X系列的钢琴卷帘窗已经完全和SONAR之前的不同,根本没办法适应。论坛里应该有X2的迷你版,100多M,你可以下载来玩玩,适应不了删了就是了。 CW9年代的时候,很多快捷键是没办法改的,只能修改软件,就像我之前用CW9的 ...

啊?可以修改CW9软件本身吗?是否可以增加热键呢?比如让26个字母键都可以配合Shift键?
那个修改文件能给我看看吗?是用什么软件来修改呢?

303
#13 14-11-29 18:41

回复 溺水鱼 在 #11 的 pid=4334708 的贴子

增加热键估计不行,我修改的方法是安装好以后修改cwpa这个exe文件。我记得好像用eXeScope改的,当时找那个语句找了半天,等我上传那个修改后的文件你看看吧。

303
#14 14-11-29 18:43
这个是A-B快捷键的调换文件,直接把CW9主目录里面的文件覆盖就好了。如果不能下载我传给你。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
观众反应

1161
#15 14-11-29 19:56

回复 Chiphell 在 #12 的 pid=4334714 的贴子

嗯,能下载,,,你是怎么弄的?连这个主程序都给你改了!是用什么来修改的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索