UNPKG

music-metadata

Version:

Music metadata parser for Node.js, supporting virtual any audio and tag format.

32 lines 1.13 kB
import initDebug from 'debug'; import { VorbisParser } from '../vorbis/VorbisParser.js'; import * as Speex from './Speex.js'; const debug = initDebug('music-metadata:parser:ogg:speex'); /** * Speex, RFC 5574 * Ref: * - https://www.speex.org/docs/manual/speex-manual/ * - https://tools.ietf.org/html/rfc5574 */ export class SpeexParser extends VorbisParser { constructor(metadata, options, tokenizer) { super(metadata, options); this.tokenizer = tokenizer; } /** * Parse first Speex Ogg page * @param {IPageHeader} header * @param {Uint8Array} pageData */ parseFirstPage(header, pageData) { debug('First Ogg/Speex page'); const speexHeader = Speex.Header.get(pageData, 0); this.metadata.setFormat('codec', `Speex ${speexHeader.version}`); this.metadata.setFormat('numberOfChannels', speexHeader.nb_channels); this.metadata.setFormat('sampleRate', speexHeader.rate); if (speexHeader.bitrate !== -1) { this.metadata.setFormat('bitrate', speexHeader.bitrate); } } } //# sourceMappingURL=SpeexParser.js.map