You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中将.wav文件转换为.raw文件以适配Google Speech API?

Node.js环境下将WAV转为RAW格式的方法

在Node.js里可以借助fluent-ffmpeg库完成WAV到RAW的转换,这个库封装了FFmpeg的功能,能轻松处理音频格式转换,步骤如下:

1. 安装依赖

首先安装fluent-ffmpeg包:

npm install fluent-ffmpeg

注意:你的系统需要先安装FFmpeg工具——

  • Linux:用包管理器安装,比如apt install ffmpeg(Debian/Ubuntu)或yum install ffmpeg(CentOS)
  • macOS:通过Homebrew安装brew install ffmpeg
  • Windows:从FFmpeg官网下载二进制文件,添加到系统环境变量中

2. 转换代码示例

下面是针对Google Speech API需求的转换代码(输出16kHz单声道、16位小端PCM格式的RAW文件,这是Google Speech API常用的参数):

const ffmpeg = require('fluent-ffmpeg');
const path = require('path');

// 替换为你的输入WAV文件路径
const inputWav = path.resolve(__dirname, 'your-audio.wav');
// 替换为你的输出RAW文件路径
const outputRaw = path.resolve(__dirname, 'audio-output.raw');

ffmpeg(inputWav)
  .outputOptions([
    '-f s16le', // 指定输出格式为16位小端PCM
    '-ar 16000', // 设置采样率为16000Hz
    '-ac 1' // 设置单声道
  ])
  .save(outputRaw)
  .on('end', () => {
    console.log('WAV转RAW格式完成');
  })
  .on('error', (err) => {
    console.error('转换失败:', err.message);
  });

3. 参数说明

如果Google Speech API有其他格式要求,可调整outputOptions里的参数:

  • -ar:采样率,比如8000Hz或44100Hz,按需修改
  • -ac:声道数,双声道设为2
  • -f:编码格式,s16le是常用的PCM格式,对应16位无符号整数

内容的提问来源于stack exchange,提问作者Jerds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:30:43