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

js 写的节拍器

  •  
  •   est ·
    est · Sep 29, 2024 · 3967 views
    This topic created in 765 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
    colatin
    Sep 29, 2024❤️1
    1
    也来一个
    https://bpm.blue/
    shadowyue
    shadowyue
    Sep 29, 2024
    2
    点赞。
    作为卖点的 计时准 怎么理解?
    est
    est
    OP
    Sep 29, 2024❤️1
    3
    @shadowyue 博客里写了一点。

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

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

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

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