Module spectrum

Source
Expand description

Spectrogram pictures, drawn by ffmpeg, one per track.

A spectrogram is the last arbiter when the provenance of a file is in doubt: a lossless container filled from an MP3 shows a wall at 16 kHz that no tag will ever mention. Aède does not decode and will not draw one itself — it hands the file to ffmpeg and puts the picture where the person looking for it will find it, beside the music.

The filter and the layout are FlacCompagnon’s, deliberately and to the character. The two programs are used together on the same library, and a spectrogram that differed in gain or colour map from one tool to the other would be unreadable as a pair — the whole point of looking at two is to compare them. The frame size no longer has to match: see Size. --size full still draws FlacCompagnon’s own dimensions, character for character, for whoever wants the two side by side; the default is half of that. A smaller plotted graph can reduce storage use, but the encoded PNG size depends on its content and compression.

The folder is another thing that does not match: it is spectrograms, in English like everything else here, where FlacCompagnon writes spectres. Matching a picture is what makes the pair comparable; matching a folder name buys nothing, and a French word in an otherwise English codebase is a seam nobody would guess at.

Enums§

Size
How large the plotted spectrogram graph is drawn.

Constants§

FOLDER
Folder written beside the audio, holding one picture per track.

Functions§

caption
The line drawn across the top of the picture.
out_of_date
true when the picture has to be drawn: it is missing, or it is older than the music it describes.
picture_for
Where the picture of a file belongs: <its folder>/spectrograms/<name>.png.
render
Draws the picture for one file.