Как я могу получить тексты песен для всей моей музыки и сохранить их в файлах?
У меня есть большая музыкальная библиотека (большинство из них .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
Инструкции (запустить команды в терминале):
- устанавливать
wget
а такжеeyeD3
выпускаяsudo apt-get install wget eyed3
- сохранить приведенный выше код в файл, например
/home/user/lyrics_fetcher.sh
- добавить разрешение на запуск файла:
chmod u+x /home/user/lyrics_fetcher.sh
- запустите файл (обратите внимание на кавычки):
/home/user/lyrics_fetcher.sh "path_to_my_album"
- Вы можете остановить выполнение скрипта в любое время, нажав Ctrl+C
Я проверил этот код с альбомом "AM" от Arctic Monkeys, и это было мило.
Если вы действительно хотите получить тексты песен для всех ваших альбомов одновременно, вы можете запустить скрипт в цикле для каждого каталога, я думаю. Тем не менее, я бы не стал использовать его в качестве окончательного решения - вики-тексты и все, кто их поддерживает путем зеркалирования, - хорошие парни, и этот ответ здесь для того, чтобы стимулировать мышление, а не злоупотребление.
Недавно я написал скрипт на Python для автоматической загрузки и добавления тегов к вашей музыке. Проверьте это здесь. Это загрузит текст в формате txt и вставит его в файл.mp3.
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 месяцев (возможно). Тогда вам нужно купить премиум-версию. Он встраивает произведения искусства для альбомов. Вы можете получить тексты песен для всех ваших музыкальных файлов одновременно.