এটি একটি আধিকারিক উত্তর কারণ আমি আপনার পরিবেশ জানি না এবং আমি যে কোডটি সরবরাহ করি তা কেবল উদাহরণ হিসাবে পরিবেশন করার উদ্দেশ্যে - এটি চালানো কোনও ক্ষতি করা উচিত নয় তবে আমি কোনও গ্যারান্টি দিতে পারি না।
এর মতো কাজগুলি সাধারণ বাশ স্ক্রিপ্টগুলি ব্যবহার করে মোকাবেলা করা যেতে পারে, উদাহরণস্বরূপ নিম্নলিখিত উদাহরণে আমি শিল্পী এবং শিরোনাম নিষ্কাশন করতে আইডি 3 ব্যবহার করি, তারপরে লিরিকগুলি আনার জন্য একটি ফ্রি উইকিল্রিক্স আয়না এবং তারপরে নতুন ট্যাগটি সংরক্ষণ করতে আবার আইডি 3 ব্যবহার করুন। যারা এই কোডটি ব্যবহার করবেন তাদের প্রত্যেককে আমি অন্য লিরিক্স এপিআই সন্ধান করতে উত্সাহিত করি, কারণ একই পরিষেবাটি বারবার ব্যবহার করা দূষিত বলে বিবেচিত হতে পারে।
#!/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
আমি এই কোডটি আর্কটিক বানরদের "এএম" অ্যালবাম দিয়ে চেক করেছি এবং এটি মিষ্টি করেছে।
আপনি যদি সত্যিই আপনার সমস্ত অ্যালবামের জন্য একবারে প্রতিটি ডিরেক্টরিতে লুপে স্ক্রিপ্টটি চালাতে চান তবে আমার ধারণা। তবুও, আমি এটিকে চূড়ান্ত সমাধান হিসাবে ব্যবহার করব না - উইকিলিক্রিক্স এবং যারা মিরর করে এটি সমর্থন করে তারা সকলেই ভাল ছেলে এবং এই উত্তরটি আপত্তিজনক নয়, চিন্তাভাবনার প্রচার করার জন্য এখানে।