Це напіввідповідь, оскільки я не знаю вашого оточення, і код, який я надаю, повинен слугувати лише прикладом - запуск його так, як не повинно завдати шкоди, але я не можу дати жодної гарантії.
Такі завдання можна вирішити за допомогою простих скриптів 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, і це було солодко.
Якщо ви дійсно хочете отримати тексти пісень для всіх своїх альбомів одразу, ви можете запустити сценарій у циклі для кожного каталогу. Проте я б не використовував це як остаточне рішення - вікіліріки, і всі, хто підтримує це дзеркальним відображенням, - хороші хлопці, і ця відповідь є тут, щоб просувати мислення, а не зловживати.