Как я могу получить тексты песен для всей моей музыки и сохранить их в файлах?

У меня есть большая музыкальная библиотека (большинство из них .mp3 & .m4a) и ни у кого из них нет текста. Есть ли какая-нибудь программа или плагин, который автоматически добавляет слова ко всей моей музыке, запрашивая Интернет?

Поскольку у меня обычно нет подключения к Интернету, мне нужна программа, которая автоматически добавляет все тексты песен в теги музыкальных файлов, чтобы я мог просматривать их в автономном режиме.

7 ответов

Решение

Это полуответ, так как я не знаю вашу среду, и код, который я предоставляю, предназначен для того, чтобы служить только примером - запуск его как есть, не должен приносить вреда, но я не могу дать никакой гарантии.

С такими задачами можно справиться с помощью простых сценариев bash, например, в следующем примере я использую eyeD3 для извлечения исполнителя и заголовка, затем бесплатное зеркало викилирики для извлечения текста и затем снова eyeD3 для сохранения нового тега. Я призываю всех, кто будет использовать этот код, искать другой лирический API, поскольку использование одного и того же сервиса снова и снова может считаться вредоносным.

#!/bin/bash

_TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>'
_SRY="Sorry, We don't have lyrics for this song yet."

[ "$1" ] && _PATH="$1" || _PATH=$PWD

cd $_PATH

for _FILE in {*.mp3,*.m4a}; do
    if [[ -r $_FILE ]]; then
        _SONG=$(eyeD3 --no-color "$_FILE" | grep title)

        _ARTIST="${_SONG#*"artist: "}"
        _TITLE="${_SONG%"artist: "*}"
        _TITLE="${_TITLE#"title: "}"

        echo -n "$_ARTIST - $_TITLE"

        _ARTIST="${_ARTIST// /+}"
        _TITLE="${_TITLE// /+}"
        _URL="${_TPL//"<artist>"/$_ARTIST}"
        _URL="${_URL//"<title>"/$_TITLE}"

        _LYRICS=$(wget -qO- $_URL)

        if [ "$_LYRICS" != "$_SRY" ]; then
            eyeD3 --lyrics=eng:Lyrics:"$_LYRICS" "$_FILE" 1>/dev/null
        else
            echo "No lyrics found... skipping!"
        fi
    fi
done

cd $OLDPWD

Инструкции (запустить команды в терминале):

  1. устанавливать wget а также eyeD3 выпуская sudo apt-get install wget eyed3
  2. сохранить приведенный выше код в файл, например /home/user/lyrics_fetcher.sh
  3. добавить разрешение на запуск файла: chmod u+x /home/user/lyrics_fetcher.sh
  4. запустите файл (обратите внимание на кавычки): /home/user/lyrics_fetcher.sh "path_to_my_album"
  5. Вы можете остановить выполнение скрипта в любое время, нажав Ctrl+C

Я проверил этот код с альбомом "AM" от Arctic Monkeys, и это было мило.

Если вы действительно хотите получить тексты песен для всех ваших альбомов одновременно, вы можете запустить скрипт в цикле для каждого каталога, я думаю. Тем не менее, я бы не стал использовать его в качестве окончательного решения - вики-тексты и все, кто их поддерживает путем зеркалирования, - хорошие парни, и этот ответ здесь для того, чтобы стимулировать мышление, а не злоупотребление.

Недавно я написал скрипт на Python для автоматической загрузки и добавления тегов к вашей музыке. Проверьте это здесь. Это загрузит текст в формате txt и вставит его в файл.mp3.

Youtube Демо.

beets - это инструмент командной строки для организации вашей музыкальной библиотеки, который может автоматически выбирать тексты песен и многое другое. С веб-сайта:

Цель свеклы - сделать вашу музыкальную коллекцию правильной раз и навсегда. Он каталогизирует вашу коллекцию, автоматически улучшая ее метаданные по мере использования базы данных MusicBrainz. Затем он предоставляет набор инструментов для манипулирования и доступа к вашей музыке.

В частности, он имеет плагин для текстов песен, который извлекает тексты из Lyric Wiki, Lyrics.com, Musixmatch, Genius.com или API пользовательского поиска Google.

Сообщество вокруг него очень активно. Проверьте это!

  • lrc.pl - это жемчужный скрипт, использующий пакет David Precious ' Lyrics:: Fetcher для пакетной загрузки текстов песен в формате MP3.

  • Также попробуйте плагин Amarok Ultimate Lyrics. Ultimate Lyrics - это настраиваемый скрипт, который выбирает тексты песен со многих сайтов.

  • Другой вариант: расширение текстов песен для банши

В качестве меломана я могу порекомендовать вам проигрыватель Guayadeque, быстрый и легкий и полнофункциональный проигрыватель, и если я не ошибаюсь, у него есть расширения текстов по умолчанию, и есть возможность выбирать больше, и что, я слушаю песни прямо сейчас, и это показывает тексты песен для каждой песни, даже группы био. Существует возможность хранить текст песни к песне и вручную, но лучше синхронизировать ее с интернетом, в любом случае это ваш выбор.

sudo add-apt-repository ppa:anonbeat/guayadeque

sudo apt-get update

sudo apt-get install guayadeque-svn

Я использую lyrico, скрипт на python для загрузки текстов и встраивания их в метатеги ID3 или ogg vorbis.

Я лично использую поиск песен: https://www.lyricfinder.org/

Вы можете использовать команду add folder, чтобы она рекурсивно искала папки и находила все музыкальные файлы, а затем пыталась найти и добавить текст песни к ID3-тегу из них.

Mp3nity бесплатен в течение 1,5 месяцев (возможно). Тогда вам нужно купить премиум-версию. Он встраивает произведения искусства для альбомов. Вы можете получить тексты песен для всех ваших музыкальных файлов одновременно.

Другие вопросы по тегам