MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / createWavHeader

Method createWavHeader

outdated/gemini/gemini.ts:341–362  ·  view source on GitHub ↗
(dataLength: number, options: WavConversionOptions)

Source from the content-addressed store, hash-verified

339 }
340
341 static createWavHeader(dataLength: number, options: WavConversionOptions): Buffer {
342 const { numChannels, sampleRate, bitsPerSample } = options;
343 const byteRate = sampleRate * numChannels * bitsPerSample / 8;
344 const blockAlign = numChannels * bitsPerSample / 8;
345 const buffer = Buffer.alloc(44);
346
347 buffer.write('RIFF', 0);
348 buffer.writeUInt32LE(36 + dataLength, 4);
349 buffer.write('WAVE', 8);
350 buffer.write('fmt ', 12);
351 buffer.writeUInt32LE(16, 16);
352 buffer.writeUInt16LE(1, 20);
353 buffer.writeUInt16LE(numChannels, 22);
354 buffer.writeUInt32LE(sampleRate, 24);
355 buffer.writeUInt32LE(byteRate, 28);
356 buffer.writeUInt16LE(blockAlign, 32);
357 buffer.writeUInt16LE(bitsPerSample, 34);
358 buffer.write('data', 36);
359 buffer.writeUInt32LE(dataLength, 40);
360
361 return buffer;
362 }
363
364 static handleError(error: any, context: string): string {
365 const timestamp = new Date().toISOString();

Callers 1

convertToWavMethod · 0.95

Calls 1

writeMethod · 0.80

Tested by

no test coverage detected