convert-to-pcm
The convert-to-pcm transform scans all upstream byte blobs, decodes WAV/AIFF/AIFC containers, and writes PCM WAV artifacts plus a JSON report listing accepted and rejected inputs.
When to use it
Use as the first audio step after ingest when downstream nodes need a consistent WAV/PCM representation (for example audio-metrics and generate-transcript).
Limitations
- Only WAV/AIFF/AIFC containers are decoded; other blobs are recorded in the report as
not_wav_or_aiffand skipped (the node does not fail the whole batch). - Resample, bit depth, and channel conversion require numpy / librosa in the runner image; unsupported sample widths fail the node.
- Optional
normalizeadjusts amplitude per file; it is not loudness standardization across a session.
Configuration (summary)
| Property | Description |
|---|---|
dataSourceName | Object store for outputs (defaults to runner default_store) |
sampleRateHz | Target sample rate (resamples when different from source) |
bitDepth | Target bit depth: 8, 16, 24, or 32 |
channels | Target channel count: 1 or 2 (stereo to mono downmix supported) |
normalize | When true, normalize waveform amplitude per file |
Output
- PCM WAV blobs keyed by MD5 of the original bytes (embedded in output identifiers).
- A JSON report per run describing each input (
isValidAudio,reason,md5,sourceNodeName).