User guide¶
The guide follows the job in front of you rather than the module layout. Each page explains what the functions are for, which one to reach for and where they go wrong, with examples that run as written. Every parameter of every function is in the API reference.
Pick a page by the job¶
| You want to | Read |
|---|---|
| read, write or convert audio files, a whole folder at a time | Audio files |
| turn audio into the matrices a model trains on | STFT and features |
| know whether a recording is usable before doing anything with it | Inspecting a recording |
| find where somebody is talking, and on what pitch | Speech activity and pitch |
| cut, join, filter, fade or augment | Editing and effects |
| put a clip in a room or down a phone line | Rooms and channels |
| make degraded/clean training pairs from a folder of speech and one of noise | Building a noisy dataset |
| take noise out, or choose between denoisers | Denoising |
| score processed audio against a clean reference | Measuring quality |
| record, monitor or draw audio while it is still arriving | Recording and live views |
The order a recording is damaged in¶
Speech reaches a file through a chain, and several pages are about one link of it:
The room is convolutive, the noise is added, and the link (a phone line, a codec, a network that drops packets) acts on whatever reached the microphone. Rooms and channels covers the room and the link, Building a noisy dataset applies the whole chain in that order, and Denoising and Measuring quality work back from the file.
Conventions on every page¶
- Code imports
kudioand calls everything from the top level:kudio.file_load, notkudio.core.io.file_load. - A waveform is a float32 NumPy array with ±1.0 as full scale. Mono is 1-D;
more than one channel is
(frames, channels), the layout soundfile uses. - A spectrogram has one row per frame:
(frames, bins). - Anything random takes a seed, and the examples pass one, so the output shown on a page is the output you get.