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


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, и это было мило.

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


Я сделал именно так, как вы сказали, сохранил указанный код как 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 Демо .


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

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

да, он имеет встроенный редактор для настройки / опции, чтобы редактировать песню и вставлять или писать текст песни самостоятельно в песню в проигрывателе.
— JoKeR

@JohnnyD. «самостоятельно» - OP подразумевал, что это делается автоматически в пакетном режиме, а не вручную по одному.
— cprn

@CyprianGuerra, может быть, я неправильно понял, о чем он спрашивал :-)
— JoKeR

1

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

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

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

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


0

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


0

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

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


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.