Как известно, аудиоформат MP3 содержит внутри себя не только саму аудиодорожку, но и метаданные, к которым относятся название трека, название альбома, имя исполнителя, очерёдность трека и некоторые другие параметры.

И недавно у меня возникла необходимость зафиксировать очерёдность треков, относящихся к аудиокниге. Ведь последовательность глав имеет значение. Но вот оригинальные файлы почему-то не были помечены порядковым номером, из-за чего проигрыватели выставляли трекам порядок, какой им вздумается. Недолго думая, я решил прибегнуть к Python и, немного порывшись в интернете, нашёл информацию о библиотеке eyeD3, которая даёт доступ к метаданным аудиофайлов, позволяя не только их читать, но и редактировать.

Установка eyeD3:

pip install eyeD3

В моём случае очерёдность треков должна была соответствовать алфавитному названию файлов. Поэтому я написал и запустил следующий скрипт:

import os
import eyed3

path = '/path/to/files/'

names = os.listdir(path)
names.sort()
for num, name in enumerate(names, 1):
    audiofile = eyed3.load(os.path.join(path, name))
    audiofile.tag.track_num = num
    audiofile.tag.save()

Это сработало: теперь треки запускаются в нужном мне порядке. О других возможностях eyeD3 можно прочесть на официальном сайте.