搬家前

晚上回到家,发现家里停电了。打开电脑连不上网,手机流量又不多,只好写点吐槽了。

又快要到新的一年了呢, 回头看看年初那篇吐槽文章中的年度计划,大半是没实现(摊手)。MIDI App 项目停滞了,数码绘没有搞,电钢没怎么练,空闲时间大都花在写代码上了(笑)。新的一年可能会有些新的计划了,我可能需要更好的时间管理,毕竟精力有限。

来北京后,我和小伙伴们总因为这样那样的原因,每年换一套房子,今年也不例外。如果一切顺利的话,在圣诞节过后的那一周,我们就会搬进更大的新房子了。在这里最舍不得的,可能就是这个书房了吧。不知道新房子还能不能有这么大的书架。

IMG_2604_

最后,整理一下今年买到的纸质书吧:

(更多…)

WWDC2014

熬夜看完了直播,新闻类的东西就去新闻网站看去吧,这里来吐槽开发相关的东西。

总的来说,WWDC = World Wide Developers Crying。
iMessage 重新造了半个微信,iDrive 实现了 Dropbox,iCloud Mail 把 QQ 中转站弄来了、CloudKit 把一些小的云服务干掉了、出了个 Metal 把 OpenGL 换掉了、矢量地图语音导航给各种 Map 带来压力,等等。。最后,还出了一门新语言 Swift 换掉了 Objective-C!!

新语言 Swift 的书可以在这里下载。从网站上的文档来看,苹果把所有 ObjC 和 C 的 API 都用 Swift 重新实现了一遍,并且文档里是 Swift 优先。这点上来看,下面我们该洗洗天赋点了 :?: .

iOS 8.0 API Diffs里面可以看到下面一些变化:

1.苹果把大量基础类中的方法改成了 property。
2.把大量的 id 返回值改成了 instancetype 或者实际的对象类型以适配 swift。
3.增加了大量的新 Framework,包括这次重点介绍的 CloudKit、HealthKit、HomeKit、Metal、Webkit等。
4.新增的 NetworkExtension 允许 App 自定义 DNS、VPN,有着完整和详细的 VPN 控制。
5.新增的 NotificationsCenter 允许 App 自定义 Widget了(Android啊)。

因为最近自己私下里搞 Midi 合成的库,所以其他的 API 没仔细看,音频相关的 API 倒是仔细翻了一下。这次 iOS 支持完整的 MIDI 了,可以加载 sf2/dls 格式的音色库、有了 MidiSynth 支持、有了完整的 Midi CC 控制、支持 SysEx 信息。有了专门播放 Midi 的类:AVMIDIPlayer。音频处理方面,添加了混响、滤波、重采样、变调、3D音效(比如说HRTF)等等。很棒。想想我折腾我自己的库干毛啊,苹果都帮我实现了。。性能和效果上估计会比我的实现要好。。(摔)(摔)(摔) :cry: 那这样,我就抄抄 API 设计好了。。然后移植到 Android 去喵的。。

好困,睡觉了喵。。没吃药果然一点都不萌萌哒。。。

~~~~~~~~~~~~~~~~~~

update:后来在 iOS8 真机上试了一下,苹果原生的 midi synth 效果很渣。。就算给个好的音色库依然很渣。。之前期望太高。。

无意义的第二篇吐槽

距离无意义的第一篇吐槽已经过去3年了呢~ ;-)

一年前,我说过想做一个钢琴的 App。看到其他 App 实现的技术那么复杂,本来是想放弃的,但后来还是没忍住,决心深入进去研究一下。后来断断续续在工作之余研究这些东西。嘛~现在终于做出了个音效比较让我满意的 demo 了。现在能支持加载 sf2 音色库、读取 mid 文件、支持部分 midi 指令、有比较好的混响效果和压缩器,可以实时调节音高和滤波效果。音效上听上去比 FingerPiano 要好了~~  :mrgreen:  这次是用纯C写的核心库,以后也可以移植到 Android 了~ 等核心库完善了,就可以下一步的界面设计和上架了。 这算是咱半年来做的比较有成就的一件事吧~~

一个月前,公司搬家了。原来走路十多分钟就能到公司的,现在要挤半个小时公交了。 :?: 公司新楼附近的环境比想象的要好很多啊~对面的园区很像大学,绿化超级棒,吃完午饭去散半个小时步,感觉好惬意。特斯拉的分部在那里,Musk 过来的那几天就变得好热闹。虽然我还对汽车不感兴趣,但凑热闹倒是挺有意思。再往北去就是360大楼和798了。360大楼上面隔几天就贴出一个超大超2B的宣传画,有次还放了个超大的二维码在上面,难道是专门给我这样蛋疼的人去扫的?

五一三天又在家宅着过去了。。好久不看新番了,漫展也好久没去了。总想腾出时间学一下画画,大学的时候为此还买了块板子,现在也落灰了。。天天码代码真的要变成码农了啊 :arrow: 不管怎样,希望以后的生活会更好吧~

搬家的节奏。。

有时总想说点什么,但又不太想让周围的朋友知道,偶尔会找个地方写点博客,期望远方能有什么陌生的人偶然看到。。所以一直以来我都认为写博客是件很私人的事情,希望它能像日记本那样能捧在自己的手中,小心地选择着博客的窝。

能记得最开始下决心做个窝是在Google的GAE。那时候GAE还没被墙,语言也只支持python。当时很顺利的用Micolog造了一个窝~心情好或者心情不好的时候吐上两句嘈,就像今天的微博。。

后来GAE打不开鸟。。一时也没找到好地方建窝,于是就偶尔再人人啊,豆瓣什么的随便写点。。但到底还是租的房子有很多不方便。。

后来云计算的普及了~~国内新浪的SAE貌似做的挺早,在上面弄了个SAE版wordpress,时间一久就要交费,于是这个也荒废了。。

那时折腾累了,直接跑到wordpress.com去写博客了。。很无奈的后来这家伙也在蔷外打不开了。。

再然后。。就到Github去折腾所谓hacker的blog了。。octopress是用markdown来敲文章的,每发布一篇文章就要编译-push一次,用了一段时间感觉我果然不适合当“hacker”啊。。

最后时间到了现在– 在亚马逊的AWS上用回了wordpress。把能找到的一点吐嘈搬运了过来,但愿能在这里住的时间长一些吧~~

想做一个钢琴 App~

Appstore有几个非常棒的钢琴类软件:

  • 音色方面表现最贴近现实的自然是苹果的GarageBand,体积不小但乐器库非常棒,钢琴的采样应该是隔3采1,每个音有3个力度的样本,通过感应敲击震动幅度来模拟力度,形式和电钢琴差不多。编辑功能自然是同样的强大,当然那些功能我也玩不转。。
  • 可玩性比较高的是Music Studio,这家伙的音色库很全,可以选各种乐器来玩,缺点是声音有些呆板。
  • 平时最喜欢的还是FingerPiano。体积很小巧,启动飞快,音色也不错~ 操作起来比上面两个App要舒服很多

虽然这些App都很棒,但我还是一直想自己做一个钢琴的App。

最开始接触iOS的时候,做的第一个成型一点的App就是一个小钢琴。用几个wav合成一下,没有延长音,体积很大,效果也不好,之后就没再折腾。

随后一直在关注FingerPiano。这个App最开始也是用的wav合成,只有一个钢琴音色。但直到有一版更新,体积一下变得好小,而且还增加了几种乐器。仔细研究了下发现它改用了Soundfont,挺有意思~~ 最开始貌似是用fluidsynth 库来加载sf2文件的,sf2也是它自己生成的; 但后来貌似就自己实现了一套,同时sf2也换用了经典的GeneralUser GS.于是我也手痒想试着做一下。。

嗯。。折腾了两晚上。。看苹果的AU文档。。做了一个简单的Demo 倒是能切换声音,但效果好差啊。。。比FingerPiano差远了。。

同样的Soundfont文件,在电脑里和FingerPiano里都表现的不错,用AU的API就感觉差很多。。 看来是我打开姿势不对=_= 有时间仔细学学CoreAudio…

 

2013-04-26更新: 终于发现FingerPiano用的什么样的技术了:crimsontech.jp。 这家公司应该是从2002年起始的,开发出来的东西都是要license的。。

唉~~果然没那么容易啊~回头恶补一下吧。。

╮( ̄▽ ̄)╭

第一章

今天有一只猫跟着上楼了,看样子是一只野猫,棕黄色的毛,显得挺干净的样子。 在家门口徘徊了许久,谨慎地试探着向屋里探来,不时喵叫几声,像是乞求着什么。

我在屋里找了一圈竟然没有一点能给猫吃的东西。试着喂了点饮料,想是不合它口味吧,闻了闻就走开了。 最后到底还是放它出楼了。。关上门等了一会了,打开看看结果。它没走远,见到有光亮又转头跑回来了…

真是纠结。。。。。