V2EX 首页   注册   登录

mdluo

  •   很惭愧
  •   V2EX 第 134946 号会员,加入于 2015-08-25 11:07:12 +08:00,今日活跃度排名 39
    mdluo 最近回复了
    16 小时 24 分钟前
    回复了 r9sky 创建的主题 微博 新浪微博无法修改登录 ID 是不是反人类啊
    @johnnie502 #2 twitter、facebook、instagram、linkedin、medium、github、pinterest 等一票网站都能改 ID
    不需要做单独的压缩,没有这个必要,常规的音频编码格式本身就考虑了压缩,更需要考虑的是跨平台兼容性。

    语音为主的场景采样率可以足够低,人声的大部分信号都在 4KHz 以下,采样率设置成 8KHz 就行了,然后在根据选用的编码格式选择合适的比特率。但是听起来就是电话质感,声音会很单薄。这种音质的音频一分钟也就一百多 KB 的大小。
    12 天前
    回复了 yifeng1212 创建的主题 Node.js Nodejs 获取北京时间
    Fingerprinting 是用来做精准匹配音频的,核心算法是特征提取和 Hash 累积匹配,跟你说的 “从开始一点一点的截取音频, 直到找到一个匹配” 相差挺远的。而且 FP 也不是用来做一个没有原始特征的这种模糊识别的算法,你这种需求直接从频谱里找竖向的峰值就好了。

    这个 dejavu 只用了一个 local max 来找特征,算是最 naive 的方法了,实际的比如 Shazam 的 FP 算法要复杂的多。不过你只是找跳绳的声音参考这个的 get_2D_peaks 基本上也足够了。
    12 天前
    回复了 yifeng1212 创建的主题 Node.js Nodejs 获取北京时间
    @julyclyde 我说的就是用 UTC 啊,我提 GMT 只是用来解释 toISOString() 的时间是 GMT+0 时区的时间为基准的时间,ISO 8601 格式最后结尾的 Z 也是代表 Zero 也就是 0 时区。

    另外 JavaScript 本身的 toGMTString() 和 toUTCString() 输出结果是一毛一样的,而且还带 GMT,可见 toUTCString 这个名字里的 UTC 根本就不是真正的 UTC,应该用 toISOString() 才像是有 UTC 的样子。当然服务器通过网络同步的时间也是不够精确的,更精确的时间应该通过 GPS 设备从卫星去获得。
    13 天前
    回复了 yifeng1212 创建的主题 Node.js Nodejs 获取北京时间
    多时区之间通信,一般用 ISO 8601 的 UTC 时间,像这样的格式:2018-02-08T12:51:00.936Z

    统一用这个时间对应的 GMT +0 (格林威治时间)的时间来存储和传输,AWS 和 Azure 都是这么做的。

    JavaScript 里把一个 date 对象转换成 ISO 8601 的时间,一个 toISOString() 就行了,然后把一个 ISO 8601 的时间转换成 date 对象的时候也会自动作用当前机器的时区。
    https://sailsjs.com/documentation/reference/configuration/sails-config-session

    > If left unspecified, Sails will use the default memory store bundled in the underlying session middleware. In production, you should specify the package name of a scalable session store instead (e.g. connect-redis). See below for details.

    可见是跟你的配置有关系的,如果不配置默认是直接存内存里:

    https://github.com/balderdashy/sails/blob/master/lib/hooks/session/index.js#L279

    这里用到了 express-session,然后最终其实是存在了一个对象里:

    https://github.com/expressjs/session/blob/master/session/memory.js#L42


    推荐生产环境用 redis 来存,或者其实更好的方案是 cookie + jwt,当然这个文档里没提
    16 天前
    回复了 sunzongzheng 创建的主题 Node.js 求推荐好用的调试工具
    网络用个抓包工具或者类似于这样的网络代理: http://anyproxy.io/

    对象的深度查看,打断点然后在 devtool 里查看,不要直接 console.log , 打断点关键字:debugger
    16 天前
    回复了 okface 创建的主题 Node.js 读取 15075 行数据的时候栈溢出?
    1. 能用循环做的事情就不要用递归,递归相比循环有相当大的性能差距。

    2. node.js 只有特定几个版本有尾递归优化,而且需要 flag 来开启,最新版本是没有的( http://node.green/),函数调用的 Maximum call stack size 就是一个一万多的值。另外,ES6 里的尾递归优化是需要有 return 才可以的。

    2. 大文件读取尽量用 Stream,可以指定分块的长度,而且不会一直阻塞 event loop.

    3. 如果一定要用递归才能实现的逻辑,通过 setTimeout(func, 0)、setImmediate(func)、或者 process.nextTick(func) 把把递归的深度从 call stack 转移到 task queue.

    4. 另外代码优化相关的,能在循环外通过局部变量存起来的值就不用在循环里用函数调用去读取。
    29 天前
    回复了 LeungJZ 创建的主题 JavaScript 如何实现 (a == 1 && a == 2 && a == 3) === true ?
    宽松相等 ECMAScript 就是这么定义的,没什么好奇怪的

    ECMAScript 标准原文: http://www.ecma-international.org/ecma-262/5.1/#sec-11.9

    之前回答过的一个问题: https://www.zhihu.com/question/46943112/answer/122096589
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   492 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 28ms · UTC 19:11 · PVG 03:11 · LAX 11:11 · JFK 14:11
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1