我转行程序员的那一年(三)

众人助力事将成,股份一分各自愁

转机

这一天,老板突然从隔壁一个大公司找来两位开发人员:听海同学(男)和观石同学(女)。经交流,感觉他们对产品的兴趣比寻明博士要大,而且逻辑清晰,我感到App的实现有希望了。老板安排他们先接起音频提取这块,问到弟弟情况,我说音频处理这块暂时没突破性进展,老板就说让我和弟弟继续做和弦算法。不到一周,听海就把提取的人声转成了音频发到群里,老板一听跟人声旋律一样,就说到时候把这个声音换成乐器和人声混合后输出。我说估计不会好听,而且现在需要的是midi(相当于电子乐谱),目前转的音频对后面用处不大。不过总算有进展,老板心劲很大,把听海叫过来让加班,说今天一定要实现midi碎音的连接。听海研究了下说不好做,又尝试把转出的音频再次转化成midi也没成功。

等待听海和等待寻明博士不一样,听海三天两头的会有进展,经常半夜在群里发消息,多数时候老板还没睡就回应一下。我第二天就测试做出来的东西,并分析后给出要求和建议。听海经过寻明博士之前尝试的方向继续前进,分别解决了碎音连接、去毛刺、消除低音谐波等问题。老板和听海又商量购置服务器的事,看来真不指望南京那边的资源了。老板还让我报了声卡、调音台等专业设备的价格,想让我们有点拿得出手的硬件设备。

除了测试听海做出的东西,我一直在修改和弦算法中的细节,将定调中取长音的方法改为取某个音在持续时间上的总和。在优化纯五度定调问题时,发现同时可匹配出多个合适的调,人耳容易分辨的,计算机却实现困难,查阅很多资料试图找到更客观的定调方式,结果找到了一句“只能意会不可口传,故很难解释”,后来通过经验把匹配到的多个最佳调按某种顺序排列再取特定位置。定完了调再定调式,再优化人声有时把比较长的音符唱得很短的情况。我也不忘阅读jmusic的相关说明文档,都是英文的,边翻译边猜,同时也学axure和vision画更正式的流程图、App功能框图。安卓几乎没时间学了。

观石根据我的功能框图手绘了几个页面。弟弟也开始专注写和弦算法的实现了,划分小节,确定音符的归属,封装调与调式的列表。

9月中的一天,大家又聚会了,成员里面多了一位搞设计的问世妹妹。我把弟弟写的配和弦的代码演示了一下,让大家感受按照算法配出的和弦效果,大家反馈挺好。老板看到代码出来了,就让我把弟弟拉入工作群,并确定让观石来管理大家的开发进度。APP的实现终于看到了希望!

这天晚上在接老婆下班的路上,前老板突然来电说:“老李,你想回来的话就回来干吧,我这边找了几个做音乐的人都不理想。你回来后只管做音乐和盯着设备,其他的什么都不用管,你看行不?”

“我这边现在工作挺好的,还没想要离开……”

“那你能不能帮我再做几条音乐,不用来公司,周末在家做也行。”

“我这个周末产品要上线,恐怕没时间!”

挂了电话,我脑子里一直回响着离职时他说的那句话:“淘宝上做音乐的随便一找都比你成本低,还得服服帖帖的给我修改!”

image

弟弟

在我转行的历程中,对我影响最大、帮助最大的非弟弟莫属。他是核化工专业毕业,但我们都觉得这个行业不太安全,而且发挥创造的空间有限,毕业前他就开始找方向了。自学过硬件电路编程,最终投入IT行业。毕业后他曾跟我北漂过一段时间后回到西安,分别干过运维、安卓、PHP、前端,最终主业还是java和大数据。任何时候只要我有困难,他总会不遗余力的帮忙。他在自己的工作中也总帮助大家解决技术问题,人缘也好,在我们公司这个App项目中,我完全把他拉下了水,他的周末和晚上就全搭在我这了。我说老板提到可以给他弄个兼职发劳务费,他说完全不指望,只希望把App实现了,公司只要能赚到钱,我的工作就会稳定,他就放心了。

目前App关键技术环节有望打通,在技术贡献上,主要是听海和弟弟,外加我提供算法,但我隐约感到了弟弟的参与并不受所有人欢迎。当初他入群跟大家打过招呼后,只有老板和万里鲲同学表示了欢迎,接下来他和听海对接工作时,总是收不到回应。观石在排大家工作计划表时,我在和弦算法任务中写了我和弟弟的名字,却受到她的质疑,原来昨天听海提交一份表格时在和弦算法一栏中写的是他和我的名字。我也想起最近提到我和我弟做的和弦算法时,他从来不接话,我突然才发现他们是想自己拿下这个项目,他们觉得没我不行,但弟弟的那份活他们完全可以干了。程序员抢着干活的热情应该不是这样表现的,难道他们非常看好这个App的市场前景?

大家依旧忙碌着,观石细化手稿,我也持续补充内容。听海把最新转出的midi发到群里,我测试后发现他删除不需要的音符后没把前面音符的时长补上,导致后面差的也越来越大。他又提到可以用jfugue可以代替我们正在使用的jmusic,原因是仍然在更新。弟弟把当时选jmusic的原因截图在群里进行了说明,未得到答复。老板问我:“看起来你弟弟做java非常熟,你问问他能不能来这边干呢?来的话咱们一起把这个项目做起来,到时候挣了钱大家都有份!” 我说:“他在西安挺好的,还离家近,肯定来不了。”老板就说有机会让弟弟来岛城玩,他要见见并且好好感谢一下。我给老板提到弟弟和听海观石交流不顺畅,老板说听海最近在帮他做另一个私活,可能是太忙了。我觉得老板能明白,也没再多说,我怕老板一急去找听海,谈得不好影响了APP的实现,最终如果App干不出来也拉不到投资,这谁干多谁干少就没有任何意义了。

我和弟弟仔细阅读了Jfugue的说明文档,发现其中自带一些和声封装,播放时更方便点。我们决定而引入Jfugue进行伴奏播放,而jmusic继续来处理midi。我们遇到了人声和配出来的和声不同步的问题,弟弟优化播放参数并做了延时处理,又发现升降半音的符号没起作用,转位也无效,我们就自己封装。我给弟弟讲相关原理,他之前懂乐理,听起来也不费劲,我们又研究了自动补前奏尾奏的方法,弟弟通过Jfugue重新封装了各个调和调式的列表。想起之前给泊露和听海讲乐理,感觉和弟弟的沟通真是非常的高效了!

到月底时,听海转出的midi看图形有点像回事了,我的和弦算法经多次优化自己已经能听得过去。这天我把最新的进展录制成demo发到群里,大家听了没觉得比之前的好听多少。我解释说,以前是我通过算法得出和弦后,用专业的音乐制作工具配的音符生成的,音质效果上几乎接近乐器实录,后期还经过了调均衡混响等美化处理;而这次是完全靠代码实现自动匹配和播放,声音来源于简陋的波表合成器,音符力度和选择方面也都是自动的,相当于没有任何美化处理,目前还只有柱式和弦。在我看来项目技术上已经有质的飞跃了,而大家却难察觉到,看来又印证了和弦在一般人欣赏音乐中不占主导地位的规律。

这个时期我往家里打电话,爸妈对我工作的不稳定非常关注,他们得知我让弟弟帮忙做项目,就嘱咐我不会的多问问弟弟。我比弟弟大5岁,比他多工作了好几年,但在IT方面经验此时从零开始。我拿着还不够糊口的收入却生活在消费更高的岛城,而他工资突破6K,我能不着急吗?不过想到有弟弟,我感到还是很幸运!

image

黄金十月

国庆节到了,大家都休息了。考虑到后期安卓对项目的重要性,我抓紧这个难得的机会学安卓,发现一月前看过的东西想起来还有印象,写起来全然不会,是我30岁的年龄不饶人了吗?无奈只好从头再来。这个假期,除了陪同学和家人,所有零碎时间全花在安卓上了。

收假后,我正式每天要去公司了。老板说让我入职到他另一个公司,不管那天开始干,都从今天开始算入职。我一定程度上能理解——公司没收入,现在就剩这个App让我全力以赴的在这撑着了,我甚至赌我在这的所有价值将从App中体现出来!

听海发来最新进展,但我测试后仍然不能用,后来发现他转出来的节拍速度都是120,这是midi默认速度。理论上这已经不是个大问题,我把每个测试音频的速度测定值给他让生成midi时写进去——这个参数将来是从App录音时获取的。我又把midi中关于速度的标志格式画示意图发到群里,他还是经常不回复,几天能改一次,也是要老板催着。我甚至曾试图用十六进制打开他转出的midi修改其中数据,也没成功。他貌似突然不急这个项目了,有次来公司告诉我用他做的工具把音频转midi的方法,顺便问我怎么喜欢在群里发问题,当时怎么回答的忘了,但我觉得这样老板才能实时知道进展,更重要的是发给他个人的信息回复效率太低了,在群里老板还能催一下。

相比之下,我和弟弟这边进展比较快,我们开始手动封装钢琴的分解和弦,并通过优化算法,把手头的几个音频都实现了准确定调,我把内录效果发到群里,这次大家没什么反应。和上次相比,只是柱式和弦变成分解和弦,我隐约担心大家对乐理的欠缺会影响到将来App的实现程度,甚至市场定位。后来我找到了力度控制方法,又逐个将每个和弦的每个音加入力度控制,音乐听起来终于有点表情了。接下来我们把之前的8小节开始要扩展到任意小节,我试图独立写,却因欠缺编程经验困难很多,就和弟弟一起把思路理清楚,我记得在公司敲了一整天代码,套了好几层循环,最终写入三个break和一个continue才实现!后来几经优化,兼容一些特殊情况,这个功能花了我好几天时间。最后我们尝试让不同的乐器实现同时播放后,我就开始添加打击乐,这个和钢琴一起响,听起来有点像歌曲伴奏了!为了深入的学习midi和配器,我去图书馆借了《MIDI原理与开发应用》和《MIDI数码音乐制作与实战手册》。

终于有一天,泊露打包了一个安卓应用让大家测试,结果因为没有节拍器又没有人声乐器的同步偏移矫正,没法听,大家白兴奋了一场。我说App必须加节拍器,大家也要学乐理,结果没人积极响应。观石继续研究录音界面的实现,我就把节拍器画进去,整理后交给问世妹妹。问世妹妹的产出效率比较高,几天后录音、播放、歌曲列表、分享等页面,甚至搜索都做完了,我们就等着泊露的App。

老板大概觉得App进度慢是因为大家都兼职,又觉得音乐听起来不理想可能是我还不够专业,就想招一些学音乐和java的人来,但很少有对编程和音乐同时感兴趣的求职者。

App开发史上最难忘的一天来了!这天所有人齐聚,欢迎两位投资人参观,我给讲解了技术上的实现过程并演示了demo。然后老板和公司的法务奇佳女士去跟投资人谈相关问题。奇佳女士专业能力特别强,经过一番论战,最终谈妥了让对方一次性投一百万。投资人走后一伙人在一起商量股份的问题,这算是第一次股东大会吧。一共一百个点,分来分去,大家都觉得自己的有点少,经过一番讨论,定下的结果是老板55,拉投资功勋卓越的奇佳女士5,攻克App技术难关的听海同学5,不断提出创意的水参姑娘(今天没到)5,项目管理兼产品的观石同学4,一直跑公司各种实际业务的万里鲲同学4,我4,寻明博士3,留下15的期权。分钱的气氛果然没有讨论创意的气氛热烈,甚至弥漫着一种不愉快。然后老板询问大家各自意见,听海同学觉得自己的有点少,经过一番商讨,老板勉强从自己的里面拿出一个点补给他,并说他持的股份不能再少了。又问到我有没有什么意见,我虽然觉得不公,但我知道别人不会让出已经到手的股份,也没有把握让老板同意再出让,但肯定会破坏气氛。我就说,App干不出来,大家分多少都没用!对于这个结果,从目前为公司的付出来说,我感觉明显不成比例。想想我为了让这个计划可行,没日没夜的加班,还拉着弟弟加班写代码,现在我才分了4个,还没有弟弟的份,我突然想起来弟弟加入时受到排挤的情况,原来问题就在这里啊!既然大家都觉得自己那么重要,就让大家去干吧,我把属于我的干好就行了。我一直把这个App当成自己的东西来干,现在突然发现这并不是我的!我决定我不必在App上花更多的业余时间了。我跟弟弟通电话,他也非常感慨这个结果,我说现在让我把和弦算法这部分活接起来,以后没必要再浪费他的时间了!晚上回家和老婆说到今天分股份的情况,我说老板一开始给水参姑娘写的6,后来在大家提议下才降到5。大家觉得水参姑娘在App实际开发中的贡献很有限,而老板觉得这个App的创意是源于水参姑娘。老婆说,你们老板这点不错,没有忘记一开始跟他干的人。

除了这个App,老板还在努力找其他相关出路,他时常带回来一些无线麦克风、声卡、智能音箱等设备,让我把这些东西连通起来最后和App对接,但这些不同厂家的东西互不兼容,最终没有实现。

这期间一个周末,大学舍友俊达来家里玩,看到我用吉他弹了个许巍《故乡》的前奏,一下就被吸引了,他立马让我在淘宝帮他买了个吉他。后来周末没事他就背着琴来练,只可惜回家后练得很少,进步很慢。不过这倒燃起了我曾经的乐队梦!

某一天,我又接到前老板电话:

“老李呀,我琢磨着这么久,你能学的也学差不多了,也该回来了吧?”

“确实学了点专业的,不过我现在在学敲代码,想通过代码实现音乐,这边正好有这个条件让我试试”

“这样吧,现在公司产品要上线,有个15秒的logo动画需要做配音,咱们周末约个时间一块研究下这个事?对了,股份的事咱们也可以再谈谈嘛!”

“这个周末太忙了,你可以把视频发来,我有空看看能不能做”

挂了电话,我跟老婆说,我对这个老板的股份已经免疫了!

image

稳定发展

弟弟把用到的所有资料都发给我,耐心的给我讲了代码运行的过程,并随时准备帮我解决遇到的问题。我在现有代码基础上继续做各种乐器的不同和弦演奏模式,实现弱起小节,添加了鼓、贝斯和吉他,其中吉他花了不少时间,幸好熟悉这个乐器,我就按照乐器的结构封装对应的6根弦,再拼成和弦,最后用右手的弹法确定演奏模式。我把带这些乐器的伴奏效果发到群里,大家反响比较好。我又把钢琴类结构整理完毕,大量运用随机参数丰富了力度表现,听起来更逼真,但最后添加弦乐时,遇到了连音的问题又搞了很久。当然这期间仍然会找弟弟解决一些问题,但我尽量是只让他动口不动手,减少占用他的时间。我也跟老板说了弟弟退出的事,让他们论功行赏也好算账。老板说招java,但后来一直没行动,大概看我这边还能凑合写代码。

大家来公司聚会,讨论的是产品下一步方向,以及界面风格等,我们定下来录音和试听页面的细节,问世妹妹就很快输出了设计图。我还是强调需要做节拍器的事。有次老板急着说让我先在电脑上录音把流程串起来出个应用版本,我说没节拍器没法测试,他就说要把演唱不卡拍和忽快忽慢的情况都配上,我就给手动做了一段这样的人声加伴奏,他们听了终于认可节拍的重要性,老板又现场打电话给泊露让我给讲怎么做节拍器!但泊露的作品迟迟不出来,这次轮到我催老板招做安卓的,他却说人不好招。

听海的midi也终于改到能用了。现在串起来的流程是:输入一段录制好的音频,先经过听海的代码处理成可用的midi,然后经过我和弟弟的代码分析后配上和弦,再调用伴奏类型生成音符,最后通过波表合成器播放出来。而App要实现的是头和尾:带节拍的人声录制和输出合成。后来听海找了几个java可使用的软音源,最终才输出了较高音质的音频文件。

当银杏叶子中间的绿色退尽时,岛城的冬天已经来了。这天晚上,老板请大家吃烤串,菜以虾蟹为主,老板也点了足量素食——我是素食主义。 眼看着项目关键技术逐步攻克,App面世的希望越来越大,我端起杯子,目光里落在上面的“那”字上。好久没测字了,仔细端详这个字和公司关系:“那”字左右结构,下半边写的分开的距离很大,底下店名的其余汉字写的很小。第一感觉这个“那”最大,是核心,但分散,缺乏凝聚力,上聚下散,真符合公司现状:老板为了实现这个产品而使尽力气把大家往一起凑。“那”左边为刀被束缚,刀又为我网名中最重要一字,再加一撇才成“用”,大概是要孤军奋斗,缺乏协助的力量,恐怕App实现有困难。“那”右边是耳朵,代表公司产品和听觉有关。“那”又是一个代词,就像只是一个概念的存在。看着看着我有一种莫名的担心。

几天后,老板报名参加北京一个创业大赛,演讲的PPT上需要demo,我就完全手动给万里鲲录了一段《去大理》并编配和弦乐器,表示我们将要做成这个样子。大家一听效果很好,我趁机给分析目前App需要哪些方向的改进才能达到这个程度,同时建议大家学乐理,老板这次很迅速的找了些教材发到群里,但没见有人问我乐理问题。万里鲲对我编配音乐的过程很感兴趣,但我给讲解的时候他又被乐理打败了!为了在大赛上演示产品,周末老板让全体加班,逼着泊露做出了个带节拍器的App,但这个节拍器不出声,还好有个指针在有格子的背景上移动,我只好让大家先照着这个唱。经过泊露和听海的调试,demo终于响起,从手机端录制人声到播放合成音频的流程终于走通了!但我感觉人声和伴奏还是很难卡上拍。不过整体上我感觉App的实现在理论上已经没有太大的困难了,我似乎看到App将在一次次修改中稳步上升,却不料,App的功能已经快到达生命的顶点了!

image

我们带着这个半成品去北京,万里鲲主讲,走之前已经在公司练了好多次演讲稿了。参会的前一晚我们又在宾馆一直反复琢磨修改演讲稿,干到半夜。结果会前我们给某大领导演示时,服务器挂了,让人家唱了4次都没成功!但App的创意和万里鲲的出色演讲让我们在十名选手中获得了第二名!据说这对以后拉投资、政府补贴非常有用。下午我找北漂时的原单位开社保证明,和同事们聊起我现在的职业,我说做算法,他们不太明白,我又说在写App。其实我真希望以后有能力做App,把很多想法能落地,哪怕只是个demo,可惜最近安卓学习的进度还是很缓慢。晚上找北漂过的伙伴一起去798看曹勇画展,结果关门了。

从北京回来的第二天,我收到一个快递,是个全新的华为平板,一问是弟弟送给我让我学习用的!我才想起来前几天和弟弟聊到上下班路上用手机看安卓视频教程感觉字有点小。对弟弟的感激之情真是难以言表!

光棍节这天,是我和老婆订婚一周年纪念日。晚上喝红色的RIO酒,在我倡导下老婆勉强欣赏了一段家乡的眉户剧《火焰驹》中“婆婆且压心头火”唱段。最近跟老婆吵架冷战的次数不少,原因不是我不理家务,就是不关心她,考虑到现在情况稍算稳定,股份的问题也让我不再愿意搭进去太多业余时间,我就陪她看了当时流行的电视剧《琅琊榜》。因为我脸盲,剧中的人有时分不清给她增添了几分开心,也算是促进家庭和睦了!

不久,政府批下来一些用于购置设备的资金。老板添置了一台大屏幕的苹果电脑,又问我做音乐是不是需要个监听耳机。我一听老板问这么专业,就赶快上网查了个几百元的监听耳机。下午老板从外面回来时就带了个耳机,森海塞尔518,说我找的太便宜了不好,他这个是听海帮着挑的,价值1500元,这才是好耳机。我一查这款确实不便宜,但却是个重低音耳机,不是监听耳机,不过对我们目前APP的开发区别倒不大!

晚上老板请大家聚餐,公司的财务伞晴女士也来了,她做完自我介绍,又给大家分别介绍每个人——俨然已经是公司主人了。提到听海和观石时,说这两位是公司的顶梁柱。天冷了,房间里有空调但没遥控器,服务员一时到不了,老板就爬上桌子拆开空调外壳,找到手动开关开启了空调,大家都说学理工科就是动手能力强。点菜我一向不主动参与,上菜时我发现一盘肉还在蠕动,仔细一看像个青蛙,服务员说刚扒的皮很新鲜,我忍不住说了声“阿弥陀佛”!后来老板让把这道菜撤掉了。吃完后老板又带大家去KTV唱歌,在酒精的刺激下,大家一改往常的矜持,扯着嗓门喊叫着。老板唱完《海阔天空》,老板又点了《北京北京》要和我一起唱,大概觉得我曾北漂过。大家又一起唱过《光辉岁月》《朋友》后,喝的有点醉的听海来到我旁边,端着酒说:

“在公司这么长时间,真的很感谢你”

“都是同事,我只是把该做的做好”

“不”,他摇着头,手也跟着摇,洒了出来,“你是只能开特定一扇门的钥匙”,他指着我说。

沉默了片刻,我说:“公司缺了谁都不行,App还要靠我们每个人努力才能完成”

他也沉默了一下,接着说:“我跟你学到了不少东西,真的感谢你!”

随后多次端着酒说感谢我,我也陪着喝了点。

想起我在公司App上的作用,我很清楚自己在里面的位置。只有我清楚泊露的安卓开发到什么程度才能输入合格的音频让听海的后台接收,我也清楚听海把midi转到什么程度才能接入我的算法程序!而大家平时忙,又没心思学习乐理深入研究,这都得我摸索着尝试着,再让老板催着大家把各环节串起来。想想自己没日没夜的为公司付出,终于让这个App雏形出来了,又想到分股份和弟弟离开的事,不禁感慨万千!这天回家已经凌晨。

我的业余时间基本是晚上,10点多关了电视老婆去睡了,我自己的时间就开始了。这时候优先会做一些有时间节点的事,比如北漂时参加的义工组织需要剪辑合成一些视频,如果再有空就学安卓,可惜时间少进展缓慢。最近上下班路上又看《欧氏几何》,里面的面积法证明定理的思路给我留下很深的印象。周末以家里事优先,我和老婆大多时间都要去老丈人家,也常去看望生病住院的亲戚。偶尔有空干点自己事情的时间一般是吃完饭他们看电视,我就在岳母家的电脑上装开发环境,把在家没弄完的代码同步过来看看。日子就这样过着,直到公司传来一个惊人的消息!

image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值