爱意满满的作品展示区。
liaa

siri 声波效果. 请自备支持 HTML5 的浏览器

  •  1
     
  •   liaa · Jun 14, 2014 · 9894 views
    This topic created in 4532 days ago, the information mentioned may be changed or developed.
    demo: http://blog.kidliaa.com/demo/siri%20wave

    前两天特别想亲手写一个siri打开时的动画效果. 发现这个siri动画效果并不是那么简单. 当初认为用bezier曲线就能做到,后来发现没那么简单...搜索后发现完成这样的效果需要用到一个方程:

    1. 衰弱方程

    尼玛,根本就没接触过啊(大学不是学数学的).方程也就算了,尼玛还要自己调参数. 深深的挫败感,我还是好好学习去吧.

    PS: v2ex上做交互的大牛,希望听一下你们是怎么学习(数学怎么学,如何在代码中实践)
    28 replies  •  2015-01-16 17:53:11 +08:00
    liteneo
    liteneo
    Jun 14, 2014
    1
    感觉更像水波。。。
    liaa
    liaa
    OP
    Jun 14, 2014
    2
    @liteneo 它们本来就很像的...
    dongbeta
    dongbeta
    Jun 14, 2014
    3
    振幅不变化好生硬,如果可以监测鼠标点击模拟声音输入的强度来调整振幅的话,就太好了。
    liaa
    liaa
    OP
    Jun 14, 2014
    4
    @dongbeta 目前是根据背景音乐来调整幅度的.

    PS: 请使用Chrome观看
    ChiangDi
    ChiangDi
    Jun 14, 2014
    5
    优雅,艺术
    RIcter
    RIcter
    Jun 14, 2014
    6
    好贊!!!!
    求放到github 0w0
    xxr3376
    xxr3376
    Jun 14, 2014
    7
    @liaa 可以考虑调用Audio API,直接读取麦克风的声音呀!以及求github开源!
    liaa
    liaa
    OP
    Jun 14, 2014
    8
    @RIcter @xxr3376 直接看index.js就好了. 如果想要控制曲线的化.可以修改 Noise和F参数

    Noise: 控制震动幅度(0~1, 越大曲线震动的越高)
    F : 控制单个波浪起伏的个数

    目前我就是读取音源的声音大小来更新这两个值的.
    xxr3376
    xxr3376
    Jun 14, 2014
    9
    @liaa Thx
    zhujinliang
    zhujinliang
    Jun 14, 2014
    10
    挺不错,赞一个
    同用到数学公式时深深的挫败感
    RIcter
    RIcter
    Jun 14, 2014
    11
    @liaa 震動的寬度範圍能不能調整,我想再讓它往兩邊拉伸一下>_>
    liaa
    liaa
    OP
    Jun 14, 2014
    12
    @RIcter 调整K值即可
    Mutoo
    Mutoo
    Jun 14, 2014❤️2
    13
    推荐你一个大神的博客 acko.net
    他的两个讲座非常棒:
    Making Things With Maths
    Making WebGL Dance
    liaa
    liaa
    OP
    Jun 14, 2014
    15
    @Dzinlife 是的,在这基础上做的...
    Dzinlife
    Dzinlife
    Jun 15, 2014
    16
    @liaa 哦,那就根本没牵扯到图形算法嘛,不过你改变系数的时候至少要做一层缓冲,突变是非常生硬的。
    cnallenzhao
    cnallenzhao
    Jun 15, 2014
    17
    背景音很好听,求一发。。
    GPU
    GPU
    Jun 15, 2014
    18
    Chrome 35 稳定版 , 加载5分钟反应呢?
    Vindia
    Vindia
    Jun 15, 2014
    19
    @liaa 求BGM
    GPU
    GPU
    Jun 15, 2014
    20
    @liaa 好吧 。第一次加载没反应 。需要刷新一下才加载成功 。还有可以自定义歌曲吗?
    Exin
    Exin
    Jun 15, 2014
    21
    求BGM
    liaa
    liaa
    OP
    Jun 15, 2014❤️1
    22
    @cnallenzhao @Vindia @Exin http://blog.kidliaa.com/demo/siri%20wave/sound.mp3

    @Dzinlife 是的,也发现这个问题. 接下来要弄这个(其实现在还不知道怎么弄).
    liaa
    liaa
    OP
    Jun 16, 2014
    24
    @Dzinlife 使用之后效果真的很明显,谢谢指点.

    让我想到了这句话:
    Math is hard, use computer.
    Computer is hard, use Math.

    另外希望能指点一下应该如何系统的来学习这些东西.上网搜了Interactive Design之类的,也没能看到一些好的答案.
    Dzinlife
    Dzinlife
    Jun 16, 2014❤️1
    25
    @liaa 这类东西似乎是 processing 拥有最多的教学资源。D3.js 和 paper.js 官网的showcase里不少大牛的blog也不错。还有就是 codepen.com。
    vagrancy
    vagrancy
    Jan 16, 2015
    26
    这个波形的算法,在音乐比较激烈的情况,由于波形衰减速度过慢,导致整个波形一直维持在一个水平上看不出变化,哪个参数能够加快衰减速度呢。
    vagrancy
    vagrancy
    Jan 16, 2015
    27
    @liaa 请作者关注下啊
    liaa
    liaa
    OP
    Jan 16, 2015❤️1
    28
    @vagrancy Dzinife 的公式

    const double ALPHA = 0.05;
    resultSpeed = ALPHA * currentSpeed + (1.0 - ALPHA) * resultSpeed;

    修改ALPHA 参数。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1424 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 16:46 · PVG 00:46 · LAX 08:46 · JFK 11:46
    ♥ Do have faith in what you're doing.