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

14

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

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

Бхарат
источник
2
Добавить текст песни как? Для каждого музыкального файла? В каком формате твоя музыкальная коллекция? Как вы собираетесь просматривать найденные тексты?
fossfreedom
Все, что я хочу, - это когда музыкальные файлы (в основном .mp3 и .m4a) воспроизводятся в музыкальном проигрывателе, и я нажимаю кнопку «Показать текст». Должна быть возможность отображать текст. И мне нужно программное обеспечение, которое делает это для каждого музыкального файла. (все мои теги для музыкальных файлов верны).
Бхарат
2
Этот комментарий сильно отличается от исходного вопроса. Вы должны хотя бы обновить вопрос, чтобы он отражал ваши новые цели.
Луис де Соуза
Amarok и Clementine имеют возможность редактировать тексты песен, которые выбираются. Я не пробовал, но он должен хранить их где-то локально, а затем найти их для вас. Делать это по песням было бы очень утомительно, но, вероятно, это сработало бы.
Джо
Есть хорошая программа под названием clementine. Попытайся. Он поддерживает различные тексты онлайн-БД. (Вилка из старого амарока 1 *).
ддмитренко

Ответы:

5

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

С такими задачами можно справиться с помощью простых сценариев 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, и это было мило.

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

CpRn
источник
Я сделал именно так, как вы сказали, сохранил указанный код как lyrics_fetcher.sh в домашней сети, а затем выполнил команду в пункте 2 терминала. Затем запустил эту команду "./lyrics_fetcher.sh / home / bharat / Music / Linkin-park / ЖИЗНЬ », теперь нет выхода. Я полный новичок, пожалуйста, помогите мне ..
Бхарат
1. Вы запускаете все команды в терминале? (должен быть вывод терминала) 2. У вас установлены wget и eyeD3? Если нет, запустите 'sudo apt-get install wget eyed3'
cprn
@ Бхарат, вы должны были использовать команду ./lyrics_fetcher.sh "/home/bharat/Music/Linkin-park/LIVING-THINGS"В папке, в которой находится скрипт. Вы пропустили кавычки.
Ads20000
1
@ Ads20000 Я добавил эти инструкции позже, когда увидел, с какой проблемой столкнулся Бхарат. Он был уведомлен.
cprn
Я получил сообщение об ошибке (выделено красным): «кодек ascii не может кодировать символы в позиции 25-26: порядковый номер не в диапазоне (128)» во время выполнения сценария. Что это означает?
noir1993
3

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

Youtube Демо .

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

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

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

Тотти
источник
Вы действительно не ответили на вопрос - можете ли вы скачать песни в массовом порядке - и хранить эти песни в автономном режиме в самих музыкальных файлах?
fossfreedom
1

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

sudo add-apt-repository ppa:anonbeat/guayadeque

sudo apt-get update

sudo apt-get install guayadeque-svn
JoKeR
источник
Вы действительно не ответили на вопрос - можете ли вы скачать песни в массовом порядке - и хранить эти песни в автономном режиме в самих музыкальных файлах?
fossfreedom
да, он имеет встроенный редактор для настройки / опции, чтобы редактировать песню и вставлять или писать текст песни самостоятельно в песню в проигрывателе.
JoKeR
@JohnnyD. «самостоятельно» - OP подразумевал, что это делается автоматически в пакетном режиме, а не вручную по одному.
cprn
@CyprianGuerra, может быть, я неправильно понял, о чем он спрашивал :-)
JoKeR
1

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

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

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

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

fhchl
источник
0

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

Сакчхьят Бхандары
источник
0

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

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

TheBlackKoala
источник
0

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

cweiske
источник