Бывает так, что у файлов с музыкой не указано никаких тегов, по которым можно определить исполнителя, но сам файл назван правильно. В таких случаях целесообразно выводить имя файла вместо надписи «Unknown», которую Liquidsoap подставляет, если у него не получилось считать метатеги. Делается это очень просто: у нас в распоряжении есть функция map_metadata, которая, не поверите, переназначает метаданные для вывода в Icecast. Воспользуемся же ею!

# Функция-обработчик метаданных
def update_title(m) =
        # Получаем название трека
        title = m["title"]
        # Если оно пустое или там написано "Unknown"...
        if title == "" or title == "Unknown" then
                # Получаем имя файла
                content = m["filename"]

                # Оно там полное, поэтому отрезаем путь...
                content = basename (content)

                # ...и расширение. Работы со строками в Liquidsoap нет. bash навека <3
                content = get_process_output("STR=\""^content^"\"; echo ${STR%.*}")

                # Переназначаем метаданные
                [("title", content)]
        else # ну а иначе просто возвращаем всё как есть
                [("title","#{title}")]
        end
end

# Устанавливаем перехват метаданных на канал с музыкой
music = map_metadata(update_title, music)

Получилось? Славно, теперь давайте сделаем это ещё лучше, корректно заполнив поля «Исполнитель» и «Название трека».