ฉันจะดึงเนื้อเพลงสำหรับเพลงทั้งหมดของฉันและเก็บไว้ในไฟล์ได้อย่างไร?


14

ฉันมีคลังเพลงขนาดใหญ่ (ส่วนใหญ่เป็น.mp3& .m4a) และไม่มีใครมีเนื้อเพลง มีโปรแกรมหรือปลั๊กอินที่เพิ่มเนื้อเพลงลงในเพลงทั้งหมดของฉันโดยอัตโนมัติหรือไม่?

เพราะปกติฉันไม่มีการเชื่อมต่ออินเทอร์เน็ตฉันต้องการโปรแกรมที่เพิ่มเนื้อเพลงทั้งหมดลงในแท็กไฟล์เพลงโดยอัตโนมัติดังนั้นฉันจึงสามารถดูได้แบบออฟไลน์


2
เพิ่มเนื้อเพลงอย่างไร ไปที่ไฟล์เพลงแต่ละไฟล์? คอลเลคชันเพลงของคุณรูปแบบใด คุณตั้งใจจะดูเนื้อเพลงที่ค้นพบอย่างไร?
fossfreedom

สิ่งที่ฉันต้องการก็คือเมื่อไฟล์เพลง (ส่วนใหญ่เป็น. mp3 และ. m4a) เล่นในเครื่องเล่นเพลงและฉันคลิกที่ "display lyrics" มันควรจะสามารถแสดงเนื้อร้องได้และฉันต้องการซอฟต์แวร์ที่ใช้สำหรับไฟล์เพลงทุกไฟล์ (แท็กทั้งหมดของฉันสำหรับไฟล์เพลงถูกต้อง)
Bharat

2
ความคิดเห็นนี้แตกต่างจากคำถามเดิม อย่างน้อยคุณควรอัปเดตคำถามเพื่อให้สอดคล้องกับเป้าหมายใหม่ของคุณ
Luís de Sousa

Amarok และ Clementine มีตัวเลือกในการแก้ไขเนื้อเพลงที่ถูกดึงออกมา ฉันไม่ได้ลอง แต่จะต้องเก็บไว้ที่ไหนสักแห่งในพื้นที่แล้วเรียกพวกเขามาให้คุณ การทำสิ่งนี้บนพื้นฐานของเพลงจะน่าเบื่อจริง ๆ แต่อาจจะใช้ได้
Joe

clementineมีซอฟต์แวร์ที่ดีที่เรียกว่าเป็น ลองมัน. มีการสนับสนุนสำหรับ DB ทางออนไลน์ที่แตกต่างกัน (ทางแยกของอามาร็อคเก่า 1 *)
ddmytrenko

คำตอบ:


5

นี่คือคำตอบแบบกึ่งเพราะฉันไม่ทราบว่าสภาพแวดล้อมของคุณและรหัสที่ฉันให้ไว้มีไว้เพื่อเป็นตัวอย่างเท่านั้น - การใช้งานอย่างที่ไม่ควรทำอันตราย แต่ฉันไม่สามารถรับประกันได้

งานแบบนี้สามารถจัดการกับการใช้สคริปต์ทุบตีแบบง่าย ๆ เช่นในตัวอย่างต่อไปนี้ฉันใช้ 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 และมันก็หอมหวาน

หากคุณต้องการเรียกเนื้อเพลงสำหรับอัลบั้มทั้งหมดของคุณในครั้งเดียวคุณสามารถเรียกใช้สคริปต์แบบวนซ้ำสำหรับแต่ละไดเรกทอรีได้ฉันเดา ถึงกระนั้นฉันจะไม่ใช้มันเป็นทางออกสุดท้าย - wikilyrics และทุกคนที่สนับสนุนโดยการมิเรอร์เป็นคนดีและคำตอบนี้อยู่ที่นี่เพื่อส่งเสริมการคิดไม่ใช่การละเมิด


ฉันทำอย่างที่คุณบอกไว้บันทึกรหัสที่กำหนดไว้เป็น lyrics_fetcher.sh ในบ้านจากนั้นก็รันคำสั่งในจุดที่ 2 ใน terminal. แล้วรันคำสั่งนี้ "./lyrics_fetcher.sh / home / bharat / Music / Linkin-park / สิ่งมีชีวิต "ตอนนี้ไม่มีเอาท์พุทเพิ่มเติมฉันเป็นผู้เริ่มต้นที่สมบูรณ์โปรดช่วยฉันออกไป ..
Bharat

1. คุณรันคำสั่งทั้งหมดในเทอร์มินัลหรือไม่ (ควรมีเทอร์มินัลเอาท์พุท) 2. คุณติดตั้ง wget และ eyeD3 หรือไม่? หากไม่มีให้เรียกใช้ 'sudo apt-get install wget eyed3'
cprn

@Bharat คุณควรใช้คำสั่ง./lyrics_fetcher.sh "/home/bharat/Music/Linkin-park/LIVING-THINGS"ในโฟลเดอร์ที่มีสคริปต์อยู่คุณพลาดเครื่องหมายอัญประกาศ
Ads20000

1
@ Ads20000 ฉันได้เพิ่มคำแนะนำเหล่านี้ในภายหลังเมื่อเห็นปัญหาประเภทใดที่ Bharat ประสบ เขาได้รับแจ้ง
cprn

ฉันพบข้อผิดพลาด (สีแดง) "ตัวแปลงสัญญาณ ascii 'ไม่สามารถเข้ารหัสอักขระในตำแหน่ง 25-26: เลขลำดับไม่อยู่ในช่วง (128)" ขณะเรียกใช้สคริปต์ มันหมายความว่าอะไร?
noir1993

3

ฉันเพิ่งเขียนสคริปต์หลามสำหรับดึงและติดแท็กเนื้อเพลงลงในเพลงของคุณโดยอัตโนมัติ ตรวจสอบออกที่นี่ นี่จะดาวน์โหลดเนื้อร้องเป็นไฟล์ txt และฝังไว้ในไฟล์. mp3 ของคุณ

Youtube สาธิต


1
  • lrc.plเป็นสคริปต์เพิร์ลโดยใช้แพ็คเกจDavid Precious ' Lyrics :: Fetcherสำหรับการดาวน์โหลดเนื้อเพลงเป็น MP3 แบบกลุ่ม

  • นอกจากนี้ลอง Amarok plug-in ที่ดีที่สุดเนื้อเพลง Ultimate Lyrics เป็นสคริปต์ที่สามารถกำหนดค่าได้ซึ่งจะดึงเนื้อเพลงจากหลาย ๆ ไซต์

  • ตัวเลือกอื่น: ส่วนขยายเนื้อเพลงสำหรับbanshee


คุณไม่ได้ตอบคำถามจริงๆ - คุณสามารถดาวน์โหลดเนื้อเพลง en masse - และเก็บเนื้อเพลงเหล่านี้แบบออฟไลน์ภายในไฟล์เพลงได้หรือไม่?
fossfreedom

1

ในฐานะแฟนเพลงฉันขอแนะนำให้คุณเล่นGuayadequeผู้เล่นที่เร็วและเบาและเต็มรูปแบบและถ้าฉันไม่เข้าใจผิดมันจะมีการขยายเนื้อเพลงตามค่าเริ่มต้นและมีความสามารถในการเลือกมากขึ้นและฉันกำลังฟังเพลงอยู่ตอนนี้ เนื้อเพลงทุกเพลงแม้แต่วงไบโอ มีความเป็นไปได้ที่จะเก็บเนื้อเพลงลงในเพลงด้วยตนเองเช่นกัน แต่จะดีกว่าถ้าจะซิงค์กับอินเทอร์เน็ตแน่นอนว่ามันเป็นทางเลือกของคุณ

sudo add-apt-repository ppa:anonbeat/guayadeque

sudo apt-get update

sudo apt-get install guayadeque-svn

คุณไม่ได้ตอบคำถามจริงๆ - คุณสามารถดาวน์โหลดเนื้อเพลง en masse - และเก็บเนื้อเพลงเหล่านี้แบบออฟไลน์ภายในไฟล์เพลงได้หรือไม่?
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/

คุณสามารถใช้เพิ่มโฟลเดอร์เพื่อให้ค้นหาซ้ำในโฟลเดอร์และค้นหาไฟล์เพลงทั้งหมดแล้วลองค้นหาและเพิ่มเนื้อเพลงลงในแท็ก ID3 ของพวกเขา


0

ฉันใช้lyricoสคริปต์ไพ ธ อนเพื่อดาวน์โหลดเนื้อเพลงและฝังไว้ในแท็ก ID3 หรือ ogg vorbis meta

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.