Node.js : 如何将元数据添加到音频文件?

Node.js : How can I add meta data to an audio file?

我有一个要添加元数据的 .wav 音频文件,在 Node.js:

let original = fs.readFileSync('./somewhere/something.wav').toString('base64')
let withMeta = addMeta(original)
fs.writeFileSync('./somewhere/something-more.wav', withMeta)

这可能吗?是否有一些 Js 库允许您将 写入 元数据(不仅仅是 read/extract 它)到现有的音频文件。

假设您的系统上有 ffmpeg,您可以通过 fluent-ffmpeg 在节点中使用它,执行如下操作:

const ffmpeg = require('fluent-ffmpeg')

ffmpeg('./somewhere/something.wav')
  .audioCodec('copy')
  .outputOptions(
    '-metadata', 'title=testtitle',
    '-metadata', 'artist=testartist'
  )
  .output('./somewhere/something-more.wav')
  .on('end', () => { console.log('done') })
  .run()

ffmpeg 中波形文件可接受的元数据键是:(source)

  artist
  comment
  copyright
  date
  genre
  language
  title 
  album 
  track
  encoder
  timecode
  encoded_by