আইডি 3 ট্যাগগুলির মেরামত এনকোডিং


12

আমি প্রায় 2000 এমপি 3 টি ফাইল উত্তরাধিকার সূত্রে পেয়েছি। তাদের বেশিরভাগের জন্য, তাদের আইডি 3 ট্যাগগুলি প্রদর্শন করে আমারোক gar আমার এমন একটি সফ্টওয়্যার দরকার যা আইডি 3 ট্যাগগুলিকে $03ভি 2.4 টাইপের (যেমন ইউটিএফ -8 এনকোডিং) আপগ্রেড করে , কোনও ভি 1 ট্যাগ সরিয়ে দেয় এবং কেস বাই কেস ভিত্তিতে মূল এনকোডিংটি সন্ধান করার ক্ষেত্রেও স্মার্ট (সম্ভবত সম্ভবত একটির মধ্যে একটি) উইন্ডোজ -1222, বিওএম-কম ইউটিএফ -16 বা জিবি 18030)।

আমি ট্যাগলিবের উপরে নিজে থেকেই এই প্রোগ্রামিং শুরু করার আগে, ইতিমধ্যে কি এমন কোনও সম্পূর্ণ সমাধান আমি ব্যবহার করতে পারি?

মিউজিক্রেইনজকে সুপারিশ করবেন না - এটি মার্কিন যুক্তরাষ্ট্র প্রকাশিত সংগীত এবং আমার কাছে অকেজো কাছে ভারী পক্ষপাতমূলক। আমার প্রয়োজনীয়তার বিপরীতে প্রথমে টেস্টিং ছাড়াই সাধারণ আইডি 3 ট্যাগিং সফ্টওয়্যারটি সুপারিশ করবেন না - তাদের বেশিরভাগ

  • v2.4 সমর্থন করবেন না
  • , খোলামেলাভাবে বলেছেন, চরিত্রের এনকোডিং সম্পর্কে শান্ত প্রতিবন্ধক ধারণা ideas
  • কোনও অটোমেশন বৈশিষ্ট্য নেই (আমি নিজে নিজে সম্পাদনার সময় ব্যয় করতে চাই না)।

আমি কেবল ট্যাগ পরিষ্কার, গণ নামকরণ বা শ্রেণিবিন্যাস সফ্টওয়্যারটিতে আগ্রহী নই; আমি প্রথমে উপরে উল্লিখিত সাধারণকরণের পদক্ষেপটি করেছি।

উত্তর:


9

আপনি প্রাক্তন ফালসো চান, কোড লিবিট প্রকল্পের অন্তর্ভুক্ত ট্যাগ সম্পাদক । পিকার্ড (মিউজিকব্রেঞ্জ ট্যাগার) একই ট্যাগিং লাইব্রেরিটি ব্যবহার করতে পারে তবে কিউএল এর সূচনা করেছিল inated

বিশেষত, আপনি মুটাগেন ট্যাগিং লাইব্রেরিটি চান , যা id3v2.4 সমর্থন করে (এবং "সমর্থন" বলতে আমি "প্রয়োগ" বলতে চাইছি ... সামরিকভাবে ...)। এটি অক্ষর এনকোডিংগুলির সাথেও দুর্দান্ত এবং এতে একটি প্রাথমিক স্ক্রিপ্টযোগ্য কমান্ডলাইন ট্যাগার ( mid3v2) অন্তর্ভুক্ত রয়েছে । আপনার স্বাভাবিককরণের পদক্ষেপটি যতক্ষণ যায়, মুতাগেন কেবলমাত্র আইডি 3 ভি 2.4 এ ট্যাগগুলি সংরক্ষণ করে। এটি অবশ্যই সমস্ত পাঠ্যকে ইউটিএফ -8 এ রূপান্তর করতে সক্ষম, তবে আপনাকে নিজেই এটি স্ক্রিপ্টের প্রয়োজন হতে পারে (আমি বিশ্বাস করি যে mid3v2সরঞ্জামটির ডিফল্টগুলি বর্তমানের এনকোডিংটি যেখানে সম্ভব সেখানে রাখতে হবে, এবং এটি সংরক্ষণ করতে বলা যেতে পারে কিনা তা আমি জানি না don't একটি নির্দিষ্ট এনকোডিংয়ের সবকিছু)। মুটাগেন পাইথনে লেখা।

প্রাক্তন ফালসো একটি দুর্দান্ত, পরিষ্কার জিইউআই এবং আপনি প্রত্যাশা করতেন এমন বেশিরভাগ প্রধান রেট্যাগ-মাল্টিপল-ফাইল বৈশিষ্ট্য সমর্থন করে। আমি মনে করি না এটি ইন্টারনেট দেখার জন্য অনেক কিছু করে এবং আমি জানি না এটি কীভাবে অ্যালবামের শিল্পকর্মের সাথে রয়েছে - কোড লিবিট এটি সমর্থন করতে পারে; প্রাক্তন Falso করতে একটি প্লাগইন সঙ্গে এটা করতে, এক অস্তিত্ব উচিত, যদিও এক অস্তিত্ব নাও হতে পারে। আমার কখনই সেই কার্যকারিতাটির প্রয়োজন নেই - আমি mid3v2আমার ফিরে আসা প্রয়োজনগুলি পরিচালনা করতে ইএফ এবং কনসার্টে ব্যবহার করি ।

প্রাক্তন ফালসো, কোড লিবিট প্রকল্পের অংশ


mid3v2অর্ধেক সমাধান। এটি চেষ্টা করার পরে, আমি যে ভুল সনাক্তকারী এনকোডিংগুলি ভুগছি তার সাথে অবশ্যই এটি ভাল নয়, অর্থাত্ একটি আপগ্রেড আইডি 3 ট্যাগটি এখনও আমরোকের মধ্যে ভুল প্রদর্শন করে। মুটাগেন আমার মূল ব্যর্থতাটি "মূল এনকোডিংটি নির্ধারণের বিষয়ে স্মার্ট" সম্পর্কে ব্যর্থ হয়; এটি নির্দ্বিধায় অনুমান করে Latin1/ Windows-1252, যা মানসম্পন্ন, তবে অগোছালো বাস্তব বিশ্বের জন্য অকেজো। আমি এই মুহূর্তে এই উত্তরটি গ্রহণ না করার জন্য ঝোঁক; অন্যান্য উত্তরের জন্য আমি আরও কয়েক দিনের সুযোগ দেব। যদি ভাল কিছু না আসে তবে আপনি গ্রহণ করবেন।
ডেক্সিম

পুরোপুরি গ্রহণযোগ্য। আপনি যদি অজগর কোডার হন তবে আপনি এমন কোনও স্ক্রিপ্ট লিখতে বিবেচনা করতে পারেন যা মুতাগেনকে ক ব্যবহার করে) বিদ্যমান ট্যাগে পড়ে, খ) কিছু স্মার্ট রূপান্তর পদক্ষেপগুলি সম্পাদন করে (আপনি কী উত্সকে এনকোডিং করছেন বলে সন্দেহ করেছেন বা তার উপর ভিত্তি করে) এবং সি ) একটি নতুন ট্যাগ লিখুন। মনে হচ্ছে এটি মূলত রূপান্তর পদক্ষেপ যা mid3v2খুব উজ্জ্বল নয় এবং এটি আমাকে অবাক করে না ... তবে আমি মনে করি পাইথনের কিছু চরিত্রের এনকোডিং মডিউল রয়েছে (সম্ভবত iconvবা অনুরূপ) যা স্মার্ট এবং কোনও DIY- এর জন্য কার্যকর হতে পারে- er।
কোয়াকোট কোয়েসোট

আমি নিজে অজগর কোডার বেশি নই বা আমার আরও কিছু দরকারী পরামর্শ পাওয়া উচিত। আপনি যদি নিজের স্ক্রিপ্টটি লিখে শেষ করেন তবে স্ট্যাকওভারফ্লোতে কারও কাছে আরও ভাল ধারণা থাকতে পারে।
কোয়াকোট কোয়েসোট

9

আমি মনে করি না আপনি এমন একটি স্বতন্ত্র অ্যাপ্লিকেশন সন্ধান করছেন যা ভুলভাবে ট্যাগযুক্ত এনকোডিংগুলির নির্দিষ্ট নির্বাচনটি ঠিক করবে। সিপি 1252, ইউটিএফ -16 এবং জিবি -13030 এর মিশ্রণটি বেশ অস্বাভাবিক এবং আমি মনে করি না বিদ্যমান সফ্টওয়্যার স্বয়ংক্রিয়ভাবে এটিকে সমাধান করতে সক্ষম হবে।

সুতরাং আমি কীভাবে অজানা এনকোডিংগুলি ঠিক করবেন সে সম্পর্কে আপনার নিজের সিদ্ধান্তগুলি স্বয়ংক্রিয় করতে মুটাগেন ডাউনলোড করে একটি কাস্টম পাইথন স্ক্রিপ্ট লিখতাম। উদাহরণ স্বরূপ:

musicroot= ur'C:\music\wonky'
tryencodings= 'gb18030', 'cp1252'

import os
import mutagen.id3

def findMP3s(path):
    for child in os.listdir(path):
        child= os.path.join(path, child)
        if os.path.isdir(child):
            for mp3 in findMP3s(child):
                yield mp3
        elif child.lower().endswith(u'.mp3'):
            yield child

for path in findMP3s(musicroot):
    id3= mutagen.id3.ID3(path)
    for key, value in id3.items():
        if value.encoding!=3 and isinstance(getattr(value, 'text', [None])[0], unicode):

            if value.encoding==0:
                bytes= '\n'.join(value.text).encode('iso-8859-1')
                for encoding in tryencodings:
                    try:
                        bytes.decode(encoding)
                    except UnicodeError:
                        pass
                    else:
                        break
                else:
                    raise ValueError('None of the tryencodings work for %r key %r' % (path, key))
                for i in range(len(value.text)):
                    value.text[i]= value.text[i].encode('iso-8859-1').decode(encoding)

            value.encoding= 3
    id3.save()

উপরের লিপিটি কয়েকটি অনুমান করে:

  1. এনকোডিং 0 হিসাবে চিহ্নিত চিহ্নিত ট্যাগগুলিই ভুল। (সম্ভবতঃ এনকোডিং 0 হ'ল আইএসও -8859-1, তবে অনুশীলনে এটি প্রায়শই একটি উইন্ডোজ ডিফল্ট কোড পৃষ্ঠা হয়))

  2. যদি কোনও ট্যাগ ইউটিএফ -8 বা কোনও ইউটিএফ -16 এনকোডিং হিসাবে চিহ্নিত থাকে তবে এটি সঠিক বলে ধরে নেওয়া হয় এবং এটি ইতিমধ্যে যদি না হয় তবে কেবল ইউটিএফ -8 এ রূপান্তরিত হয়। ব্যক্তিগতভাবে আমি ইউটিএফ হিসাবে চিহ্নিত ID3 গুলি (এনকোডিংগুলি ১-২) এর আগে ত্রুটিতে দেখিনি। ভাগ্যক্রমে এনকোডিং 0 এর আসল বাইটগুলিতে পুনরুদ্ধার করা সহজ কারণ আইএসও -8859-1 হ'ল সাধারণ বাইট মানগুলির 1-থেকে -1 সরাসরি ম্যাপিং।

যখন কোনও এনকোডিং 0 ট্যাগটি পূরণ করা হয়, স্ক্রিপ্টটি এটিকে প্রথমে GB18030 হিসাবে পুনরায় পোস্ট করার চেষ্টা করে, তবে যদি এটি বৈধ না হয় তবে কোড পৃষ্ঠা 1252 এ ফিরে আসে c এনকোডিংগুলির তালিকা শেষে চেষ্টা করুন।

আপনার যদি অন্য এনকোডিংগুলি থাকে যেমন সিপি 1251 সিরিলিক, বা একাধিক উচ্চারণযুক্ত অক্ষর সহ সিপি 1252 ফাইল নাম, যা জিবি 18030 এর জন্য ভুল হয়ে যায়, আপনার কোনও ধরণের অ্যালগরিদম অনুমান করার জন্য ক্লিভের দরকার হবে। ফাইলের নামটি দেখে অনুমান করার জন্য কোন ধরণের চরিত্রের উপস্থিতি সম্ভবত রয়েছে?


+1, দুর্দান্ত উদাহরণ স্ক্রিপ্ট এবং এটি কী করে এবং এটি কী অনুমান করে তার একটি ভাল ব্যাখ্যা। এগুলিকে আরও সুস্পষ্ট করার জন্য আমি এগুলি বিভক্ত করেছি; আশা করি আপনি কিছু মনে করবেন না
কোয়াকোট কোয়েসোট

0

কেমন হয় Mp3Tag সঙ্গে মদ ?

বৈশিষ্ট্য (অন্যদের মধ্যে):

ব্যাচ ট্যাগ সম্পাদনা লিখুন ID3v1.1, ID3v2.3, ID3v2.4 , আছে MP4,, WMA, একযোগে একাধিক ফাইল APEv2 ট্যাগ এবং জন্য Vorbis মন্তব্য।

আমাজন, ডিস্কোগ, ফ্রিডব, মিউজিক ব্রেনজ থেকে আমদানি অনলাইনে ডাটাবেস যেমন অ্যামাজন, ডিস্কোগস, ফ্রিডব, মিউজিক ব্রেনজ এবং আরও অনেকগুলি থেকে টাইপিং এবং আমদানি ট্যাগগুলি সংরক্ষণ করুন।

অক্ষর বা শব্দগুলি প্রতিস্থাপন করুন ট্যাগ এবং ফাইলের নামগুলিতে স্ট্রিং প্রতিস্থাপন করুন (নিয়মিত অভিব্যক্তির সমর্থনে)।

সম্পূর্ণ ইউনিকোড সমর্থন ব্যবহারকারী-ইন্টারফেস এবং ট্যাগিং সম্পূর্ণরূপে ইউনিকোড অনুবর্তী।



-1

এর রয়েছে EasyTag

সহজ এমপি 3, এমপি 2, এমপি 4 / এএসি, এফএলএসি, ওগ ভারবিস, মিউজিক প্যাক, বানরের অডিও এবং ওয়াভপ্যাক ফাইলগুলির জন্য ট্যাগগুলি দেখতে এবং সম্পাদনা করার জন্য একটি ইউটিলিটি। এটির সাধারণ এবং দুর্দান্ত জিটিকে + ইন্টারফেসটি জিএনইউ / লিনাক্স বা উইন্ডোজ এর অধীনে ট্যাগিংকে আরও সহজ করে তোলে।

এছাড়াও আপনি জানতে চাইতে পারেন যে id3v2.3 সাধারণত পছন্দনীয় বিন্যাস, কারণ উইন্ডোজ মিডিয়া প্লেয়ার 2.4 সমর্থন করে না


লোকেরা যারা
ভি 2.4 অনুচ্ছেদে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.