import { writeFile } from "node:fs/promises"; import { WavCodec } from "@suaveplan/audio-codecs"; /** Write a minimal mono 44.1 kHz WAV file for fixture purposes. */ export async function writeWav(path: string, samples = 256): Promise { const bytes = await WavCodec.encode([new Float32Array(samples)], { sampleRate: 44_100, bitDepth: 16, format: "pcm", }); await writeFile(path, bytes); } /** Write a noisy 44.1 kHz mono WAV file so loudness analyses report a value. */ export async function writeNoisyWav( path: string, samples = 44_100 ): Promise { const buf = new Float32Array(samples); for (let i = 0; i < samples; i++) buf[i] = Math.sin(i * 0.01) * 0.5; const bytes = await WavCodec.encode([buf], { sampleRate: 44_100, bitDepth: 16, format: "pcm", }); await writeFile(path, bytes); }