技术分享需要做了一个玩的项目,架构是 vue3+electron(node 模式)+webaudio 实现以下功能(一步一步完成,非一次成型):

( 1 ) 20 个轨道的混音,每个轨道 20 分钟,调用 ffmpeg 转成 wave ( cd 音质格式),并且实现边播放边加载,同时动态清理内存(一个 4 分钟的 wave 是 50m 内存,20 轨同时加载内存绝对爆)

( 2 )支持播放中拖条,显示标尺功能

( 3 )显示波形图,可以改变缩放比例,支持小节:节拍模式和时间模式切换

( 4 )使用第三方库分析人声频谱(单轨道,已经用第三方 AI 切分出来),用钢琴卷帘窗绘制音高图

( 5 )节拍器功能

( 6 )显示对数电平表

( 7 )工程的加载和保存

( 8 )单轨的 mute/solo/拖拽/切分/音量调节

工具就是 10 美元的 copilot ,除了做音频算法的时候用的 9x 的模型,剩下的大多用 cluade4.5 和 auto 模式开发

交互联动这部分是最猛的,AI 在这块几乎一次过,因为设置了缩放或者歌曲速度后,整个界面几乎全部联动,涉及数据和图形显示的地方都需要联动重绘,包括当前播放的进度,AI 这块几乎没翻车

标签: none

添加新评论