96SEO 2026-05-24 19:50 2
录音如何转化为音频可视化?
音频处理技术Yi经变得越来越重要。许多应用程序,如语音助手、音乐播放器和视频编辑软件,dou依赖于音频处理技术来实现其功Neng。其中,录音和音频可视化是两个非常重要的方面。在本文中,我们将探讨如何在Web中实现录音和音频可视化。
背景介绍现在hen多AI智Neng体应用,会向用户开放自定义音色的功Neng,以便用户Neng使用自己的声音生成一个角色。实现自定义音色的前提就是采集用户自己的声音,以供后续大模型生成角色的自定义音色。因此,我们需要实现录音和音频可视化功Neng。

浏览器中录音主要有三种方案:MediaRecorderWeb Audio API和Recorder-Core。
MediaRecorder API是浏览器提供的高层封装录音接口,用法简单,但只Neng拿到编码后的blob,无法获取原始的振幅数据,也就无从实现实时可视化了。
Web Audio API这是浏览器提供的音频处理引擎,只提供原始的振幅数据,Ke以实现音频可视化。可是这套API不Zuo任何封装,需要自行处理buffer拼接、多通道处理、文件头封装等问题,实现过于复杂,因此不Zuo考虑。
Recorder-Core这个库基于Web Audio API,实现了以下功Neng:它具有以下特点:简单易用、支持多种格式、提供了丰富的API。
我们Zui终选择Recorder-Core + Canvas来实现本次需求。实现效果如下类似iPhone的语音备忘录:
function createRecorder { return RecorderCore { ... }, }); } recorder = createRecorder;
type: "wav" → 输出 wav 文件
onProcess: 实时拿到 PCM 数据,以供后续绘制图形
在这一步中,原始采集到的音频数据在区间,去掉正负值,并转换成区间的值。
function startVisual { function draw { ... animationId = requestAnimationFrame; } draw; }
两种模式energy的取值方式不一样,Zui终dou是加入visualBuffer, 会维护Zui大窗口,超出窗口就不再展示。
const liveEnergyQueue: number = ; // 实时队列 const energyTimeline: number = ; // 全量数据 const visualBuffer: number = ; // 当前屏幕显示
录音、回放dou统一使用startVisual实现绘制,内部通过requestAnimationFrame绘制每一帧动画。
javascript
const latest = buffers || buffers;
// 将原始 PCM 采样转换成 0 到 1 之间的Neng量值,供可视化使用。
function calcEnergyFromPCM: number {
if return 0;
let sum = 0;
for {
sum += Math.abs;
}
return Math.min;
}
现代高清显示屏的dpr通常会大于1,也就是说实际的物理像素会比css像素geng大,以dpr=2,css像素200x200为例,浏览器实际的物理像素时400x400,也就是会拉伸canvas尺寸,把一个200x200尺寸画布上绘制的图形,渲染在400x400的画布上,图形就容易模糊,因此需要对canvas根据dpr进行整体缩放。
javascript
if {
energy = liveEnergyQueue.shift;
} else {
energy = energyTimeline;
}
visualBuffer.push;
if {
visualBuffer.shift;
}
从右往左绘制柱状图,高频geng新的动画,使用DOM实现会频繁触发回流、重绘,会造成显著的性Neng浪费,而这种场景使用canvas再合适不过了用一张独立布局的画布,承接频繁geng新的动画。
javascript
const startX = width - barWidth;
for {
const x = startX - col * step;
if break;
const e = visualBuffer;
const barHeight = Math.min(
maxBarHeight,
Math.max,
);
const y = / 2;
ctx.fillStyle = "#ff3b30";
ctx.fillRect;
}
开始录音会请求麦克风权限,只有https和localhostNeng获取,其他环境会报错。
综上所述,我们成功地实现了录音和音频可视化功Neng。通过使用Recorder-Core + Canvas,我们Ke以轻松地实现高质量的音频可视化效果,为用户提供geng好的体验。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback