Skip to content

Directory Source

The simplest source type scans a local directory for audio files. This is the default collection type — no type field is needed.

Configuration

[music.main]
path = "/path/to/your/music"

How It Works

  1. Scans the specified directory recursively for audio files
  2. Parses metadata from each file using the music-metadata library
  3. Builds an in-memory collection of tracks
  4. Compares against iPod contents during sync

Supported Formats

FormatExtensionBehavior
FLAC.flacLossless - transcoded to AAC
MP3.mp3Copied directly
AAC.m4aCopied directly
ALAC.m4aCopied directly (Apple Lossless)
OGG Vorbis.oggTranscoded to AAC
Opus.opusTranscoded to AAC
WAV.wavLossless - transcoded to AAC
AIFF.aiff, .aifLossless - transcoded to AAC

Metadata Extracted

podkit extracts the following metadata from audio files:

  • Core fields: title, artist, album (required for matching)
  • Extended fields: album artist, genre, year, track number, disc number, composer
  • Technical info: duration, bitrate, sample rate, file size
  • Identifiers: MusicBrainz IDs, AcoustID (for future use)

Multiple Directory Sources

Configure multiple collections for different music categories:

[music.main]
path = "/Volumes/Media/music/library"
[music.vinyl-rips]
path = "/Volumes/Media/vinyl-rips"
[music.jazz]
path = "/Volumes/Media/jazz"

Sync a specific collection:

Terminal window
podkit sync -c vinyl-rips

Adding a Collection via CLI

You can add a directory collection without manually editing the config file:

Terminal window
podkit collection add music main /path/to/your/music

This writes the [music.main] section to your config file automatically. If it is the first music collection, it is also set as the default.

See Also