@Lenciel

记一次成功的过年

过年在三亚呆了一周。

虽然中学毕业就已经习惯了在外面跑,像今年这样一大家子人到外地过年,却还是头次。

这地方确实有它的好,特别是对于感冒缠身的本座来说。

但无论如何,毕竟不是自己的地方。

就好像在澳洲过年的邓总发朋友圈,说自己的女儿呆了一周,只喜欢「当地」的榨菜:从来没吃过这东西的小朋友不知道这是父母随身带去的,还以为是当地特产。

这让我想起北宋末年汴梁那个炒栗子的李和儿,亡国后但有南边的人来,便专程去炒一包栗子奉上,只说一句「我是东京的李和儿」,就默然无语。

人总是要在离开之后,才格外知道自己来自那里。

当然,认真追究起来,我们大多数人的故乡已经不在。百里万里赶回去,看到的无非是富丽的什么、大美的什么、和谐的什么、宜居的什么。近在眼前却远在天边的故乡,难免让人想起帕慕克在《一个城市的记忆》中描述的「呼愁」,不过好歹可以算是夹了忧伤的喜剧:基础建设对老百姓,总算是件好事情。

但千篇一律的城市,难免有千篇一律的无聊。就算是乔峰这样的英雄好汉,要是活在我朝,哪怕雁门关上吃了一顿大肉,喝了几斤好酒,也很难想出和心爱的女人出关而去,从此放牛牧羊,逍遥自在,绝迹于中原的点子了吧。

何况,哪怕出得雁门关,如何逃出朋友圈?

在蒙爷睡觉的时候,修复长辈们的手机、平板变成了本座的消遣。因为 Google 被封杀变得不能正常使用的 Nexus 系列,本座安利得最多,搞起来也最费劲。电脑没有网线,无法分享 ss 代理,只好现开香港的机器搭简单的 http proxy,然后对着屏幕回忆那些怎么也回忆不起来的账号、密码、密保问题。

电视里放着重播的春晚,窗户外响着彷佛永远不会停止的烟花爆竹声。怕睡着的孩子被吵醒,长辈们难免会抱怨几句:「真是陋习不改。」但大家一起稍微看几分钟电视,又一致同意除夕夜好容易团圆的一家人看这样一台晚会,才是现在中国人过春节最大的陋习。

蒙爷醒来的时候,我们就开车到处去玩。海边去得最多,一会儿挖沙子,一会儿捡贝壳,一直很怕水的他也 high 到踏浪湿身。海风吹动沙滩上残存土堆里潦潦草草的几棵松树,身边是畅笑不止的蒙爷,让人真的感觉到了什么是「松风晚照天涯也无」。

有天,岳父大人做了一盘大虾,开心地跟我们介绍这「大基围虾」的采买过程。我突然想起,基围虾究竟长在哪里,对我还是个未解之谜。

以前四川刚刚能吃「基围虾」的时候,请客的人脸上那份豪情,和大家剥虾时的那份美滋滋与小心翼翼,还历历在目。那时候我一直以为这虾叫「鸡尾虾」,心里面觉得这名字起得倒是比鸡尾酒像话,毕竟这东西真有那么大个尾巴。

后来发现,原来写法是「基围虾」,心里面一直把它当成是个外来词,跟「摩托车」一样。

到了上班后,偶然听一个海边长大的同事说,基围指的是一种养殖方法:在海湾和河口的红树林周围挖掘河道,用泥土筑基,围成水塘,靠潮汐变化来运作:涨潮时,海里面的小虾鱼进入塘中,以红树林的落叶为食长大。

「很普通的,我们那儿过去到处都是」。

岂止他们那儿,那时候无论是哪儿,基围虾都已经变得普通。饭馆儿里面昂贵的菜肴变回了河虾,给父母打电话,说上海这地方海鲜便宜,自己和合租的一天到晚吃虾啃蟹,还会被教育:「别只顾着工作,要把生活开好」。

只是去过很多海边,一直没有见过传说中到处都是的「红树林」和「基围」。

于是吃完虾上网仔细翻了一下,原来红树林(英文 mangrove)是指一种生长在热带、亚热带特有的海岸带植物群落,包括松树、白骨壤、榄李、桐花、秋茄、海漆、露兜树、黄槿等等。

所以沙滩上残存土堆里潦潦草草的几棵松树,就是传说中的「基围」啊。

再一查,因为海湾越围越窄,海滩开发过度,加上「效率低下」,基围养殖已经基本绝迹:现在都是人工海水里面育苗然后扔进水田里面养殖了。

所以还只是传说中「基围」的遗址而已。

看到这里,你以为我这个时候要惆怅一番,唏嘘一番。

但人生短促,盘点离愁别恨,略显奢靡了。

我只是在想,这么说起来,我到底吃过基围虾没有…

提取微信语音消息

Why?

Why not?

How?

导出原始微信的音频消息

  • 使用 iTunes 创建一个不加密备份
  • 导出备份中的微信应用文件夹(可以使用 iExplorer 试用版)
  • 找到你需要转换的音频文件所在文件夹

转换silk3编码音频为mp3

如果你是 mac 机器,只需要安装 ffmpeg(推荐使用 homebrew)然后运行脚本:

    python wechat2mp3.py 待转换音频所在文件夹

如果你是其他系统,确认你装好了 ffmpeg 之后,需要自己编译SILK解码库

Seriously Why?

常温常压下我并不需要导出微信的语音,之所以有这个需求是因为蒙爷在三亚经常用微信跟我们唠嗑:

听到这样销魂的声音你就算不想保存,也想要转发,对不对?

毕竟作为一名中国人,你已经有 8 个亲戚群了,对不对?

然后微信奇怪的生态圈构建方式就是,各种封闭。

微信公众号是世间少有的不允许外链的媒体,微信客户端是世间少有的不允许导出聊天记录的聊天工具。

它的想法大概是,你珍贵的瞬间都在我这里(微信专门做了「收藏」这个功能让你把这些片段上传到微信的服务器,打着不让它们丢失的旗号),那你就逃不出我的手掌心了。

Seriously How?

使用 iTunes 创建一个不加密的备份,然后连接 iExplorer,会看到打开 iTunes 备份的选项:

Don't touch me

打开后在App文件夹下面导出微信文件夹:

Don't touch me

在导出的文件夹下面有个 Audio 目录,你可以根据语音消息的数量大概确认需要导出的目录(目录是个 hash),然后到DB/MM.sqlite下面去打开Chat_[hash]这个表里面,看看消息来确认:

Don't touch me

二进制查看其中的任意一个文件,可以看到是SILK编码的(skype 早期版本包括 lync 都是使用的这种编码方式):

Don't touch me

接下来你只需要按照repo里面的指导(愿主保佑你是用 Mac 因为那最简单)来进行文件转换就可以了。