![]() |
A:我是1994年加入Cakewalk公司的。那时他们正在做Cakewalk Professional Windows 3.0(CPW3)版,并准备加入整合的数字音频功能。那时我是因为“音频伙计”而加入的,整整一个夏天我都被锁在办公室中来创建音频引擎,而团队中的其它伙伴则已经完成了CPW3(Greg Hendershott后来仍然编写代码!)。
自那之后的几年中,我主要还是负责音频部分。我做了“音频浏览”代码以及所有的混音、DSP及驱动界面代码。后来我还涉足了程序设计的其它部分。总得来说早些年的工夫我是非常忙碌的人。
公司也在不断成长,我的责任也越来越重。后来我变成“CTO”了,我的一个老同事和我开玩笑说那是“Can Travel Often”(可以经常旅行)——确实也是如此。现在我又变成了副总裁,这意味着我旅行的机会减少了(非常感谢),和开发团队呆在一块的时间多了些。我的角色现在就象是教练/演员——当然也要些大量的代码,但也有技术顾问、领导及项目管理的角色。
即使是昨天我还参与产品线的工作。去年有一半时间在写代码,我已经把部分时间不仅仅是给SONAR,还有其它产品。
Q:我能不能问一下,您是什么时候对开发音频软件产生兴趣的?
A:在高中时我就对计算机产生兴趣了。在80年代早期我真得是非常幸运,我所在的那所学校非常超前。我们有Digital PDP-8,然后是PDP-11微处理机,后来还有TRS-80以及Apple II计算机。我和小部分朋友在计算机实验室度过了很长时间,学习编程、写游戏,这样学到了很多很有想法的编程技巧。
Apple II的手册上有全部的ROM源代码,我们就能够看一下喇叭是如何产生一定频率的滴答声音的。之后有一天我们搞到了根据Dr. Who电视做的Apple II游戏。所放的音乐是Dr. Who主题歌曲的合成音乐,但是确实是复音的!这极大冲击了我们——怎么做到复音的音乐的——那可只似乎播放滴答声音的喇叭啊?
后来我有了自己的第一台PC,这是一种称为“Northstar Advantage”的系统。(得回忆一下……),Z-80系统,可以运行CP/M,还有64K的RAM以及两个5 1/4"的软驱。在这台PC上我写的第一个程序是简单的歌曲播放器(单音),用汇编语言写了能够产生相同喇叭滴答声的程序。
而之后对计算机的着迷一直贯穿整个大学,到毕业。我对音乐也非常感兴趣(我在乐队中演奏吉他),不过我的第一份工作并不是音频软件方面的。实际上我更对人工智能感兴趣。
不过在90年代早期,我的一个老朋友雇佣我和他一块开始工作。这家公司的产品是使用早期的Windows 3.0多媒体扩展(MME)来做压缩流音频。我给那家公司写了音频流引擎,还有一个简单的波形编辑器。在这段期间我却对音频与音乐软件产生了兴趣,我希望能够做一些关于音乐软件方面的工作。
那家创业公司后来有了些麻烦,有一天我看到一个广告,是Cakewalk公司在报纸上聘人的信息,我看到了机会。其它的故事你可能意会到了……
Q:我对软件公司满足用户需求的新功能的实现速度感到震惊。你在Cakwalk公司负责多少人,你如何同时管理开发如此之多的程序,同时还能做出稳定而又功能强劲的软件?
A:整个部门(包括开发、测试及文档处理)有25人,其中很多是我每天一块共事的开发员。我们通常同时进行2个主要的产品,比如SONAR与Project 5,另外再加些小项目。
我相信我们的成功有三个要点。第一点是人员。工程团队自我激发的能力强,在开发音乐软件方面确实有一定技术。要想编程好这是很关键的;而拥有激情则可以让你做得更好。而拥有与常人不一样的激情则可以让产品更上一层台阶。
第二点是我们的方法。我们在计划、规划及执行功能方面有着特别的方法。但三年前我们意识到需要一种不同的方式,这样我们就开始仔细考虑如何推进我们的工作,及管理我们整体的产品生命周期。我们有着极端编程(Extreme Programming)和微软解决框架(Microsoft Solutions Framework)的各出灵感的借鉴。这种借鉴对我们非常不错。
第三点是我们有专门的beta测试员。这些家伙应该得到更多赞许。我们从各种角度敲打我们的软件,总能在一定时间内找到我们的软件臭虫。他们还帮助指导我们我们做得功能以及如何执行这些功能。
Q:SONAR3&4和Project 5在音频方面做了主要的改进。就我的理解所言,在保持插件延迟补偿时音频引擎保持100%没有间断是很难的事。是这样吗,SONAR这方面还会改进吧?
A:在保持插件延迟补偿时(PDC)拥有稳定无间断的引擎当然是可能的。SONAR始终有PDC,我们在进一步在每个新版本中对音频引擎进行改进。
对于远景的考虑,我们的产品从Cakewalk Pro Audio 7.0时就用了PDC,那时我们第一次开始在音频引擎中平衡DirectSHow。我们从不把PDC作为一种功能来看待,它始终是要设计到引擎中去的,顾客会很自然地以为似乎自动完成的。
在SONAR 3中我们开始对付间断的问题。之后间断问题顾客倒没有很多抱怨。我想从SONAR 2开始产品就做了大量超出我们预期的工作,所以很自然地,无间断就变得非常重要。
正如我之前所述,保持产品的顺畅我们做了大量的工作。实际上SONAR4花得精力就少些了,而把腾出的精力放到了Project 5的下一个版本上,而在Project 5上则更为顺畅。
Q:SONAR4做了很多新功能、工具及油滑的更新,让早先的用户更有劲头。当然并不能满足用户提出的所有要求,SONAR有些部分并没有升级(Rewire、Yamaha OPT插件结构、乐谱功能已经有了想法了),那么在以后SONAR的升级中会有增加吗?
A:当然是。实际上,估计用户看到这篇访问时,我们已经发行了4.0.1版本的升级,其中就有更好的OPT支持。(OPT面板现在是两个方向,这意味着比如Motif编辑器可以对音色编辑接收批量SysX转储)。
在每一个发行版本中,我们都尝试给当前的用户提供一些他们所没有要求的功能;比如对竞争产品功能的回应;我们自己的个性等等。
Q:在未来的SONAR版本中会不户添加插加预设扩展,这样人们就可以在不同软件中共享插件预设?
A:那时非常有意思的想法。顺便提一下,SONAR插件管理器工具已经能够做到在不同机器间导出及导入预设了。换句话说,你可以把插件的预设(在SONAR中创建)保存为文件,然后再将它们导入到其它机器上运行的SONAR中。
若要在不同程序间分享预设则需要不同厂家之间的合作。如今你可以保存。Wrapped VST插件的FXP文件,可以在不同程序间操作。我们需要DirecX上类似的东西。
[本文共有 2 页,当前是第 1 页] <<上一页 下一页>>


