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

js 写的节拍器

  •  
  •   est ·
    est · Sep 29, 2024 · 3409 views
    This topic created in 624 days ago, the information mentioned may be changed or developed.

    https://lab.est.im/metronome/

    主要特色是计时准,操作简单,无广告。

    前因后果写了个 blog

    欢迎大家使用+吐槽

    Supplement 1  ·  Sep 29, 2024
    14 replies    2024-09-30 11:26:02 +08:00
    colatin
        1
    colatin  
       Sep 29, 2024   ❤️ 1
    也来一个
    https://bpm.blue/
    shadowyue
        2
    shadowyue  
       Sep 29, 2024
    点赞。
    作为卖点的 计时准 怎么理解?
    est
        3
    est  
    OP
       Sep 29, 2024   ❤️ 1
    @shadowyue 博客里写了一点。

    setInterval 是有时间抖动( jitter )的。 这位做过实验 https://meowni.ca/posts/metronomes

    要想不抖,得放到 service worker 里。不如我这个版本简单
    murmur
        4
    murmur  
       Sep 29, 2024
    没有强和次强的区别吗
    est
        5
    est  
    OP
       Sep 29, 2024
    @murmur 你说的是。特强 - 强 - 中 这样的对比吗?下次一定 。。。
    murmur
        6
    murmur  
       Sep 29, 2024
    @est 比如说锦鲤抄 浮夸 这些歌,说是 2/4 ,实际上记谱用 6/8 更简单,而且谱子也是 1 xx 2xx 1xx 2xx 这样的节奏

    还有锦鲤抄的速度是 87.5 ,我也不知道为啥带小数,就这个数字特别深刻
    est
        7
    est  
    OP
       Sep 29, 2024
    @murmur 我大概明白你的意思。下一步设想是允许用户加减 beat 。然后每个 beat 音色自定义

    87.5 这个速度。。。有必要如此精确么。。实在不行我看放个 input 让用户自己输入好了。。。
    tyrone2333
        8
    tyrone2333  
       Sep 29, 2024
    计时准 这个是怎么实现的, 我用 flutter 写过, 前后改了好几版, 做不到准确
    est
        9
    est  
    OP
       Sep 29, 2024
    @tyrone2333 直接不间断给 WebAudio 喂指令~~~~还得在上一个播放完成之前提前喂到嘴里,这样就是最精确的
    tyrone2333
        10
    tyrone2333  
       Sep 29, 2024
    @est #9 我试过这个方案还是有很大误差, while 也会差几毫秒, 要是挂后台差的更多. 高 bpm 的时候音效没播完就到下一个, 很明显
    est
        11
    est  
    OP
       Sep 29, 2024
    @tyrone2333 啊。这么拉垮吗?你怎么测试的呢?我那个 demo 也差么
    est
        12
    est  
    OP
       Sep 29, 2024
    @tyrone2333 我大概想到怎么优化了。高 bpm 的时候不能单靠一个 beat 去提前。得把多个 beat 都提前喂给 AudioContext 。
    tyrone2333
        13
    tyrone2333  
       Sep 30, 2024
    @est #12 看了下我的代码是搞了 3 个实例, 两个用于播放 soundType2,另外一个用于 soundType1
    est
        14
    est  
    OP
       Sep 30, 2024
    @tyrone2333 你试试我这个版本嗯?我找了个 200bpm 的视频一起听,没听出来明显卡顿。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5815 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 03:17 · PVG 11:17 · LAX 20:17 · JFK 23:17
    ♥ Do have faith in what you're doing.