টার্মিনাল থেকে বিভিন্ন ফোল্ডারে .cue .flac সহ ব্যাচ-রূপান্তর এবং বিভক্ত .ape


9

আমার কাছে .apeসিডি ফাইলগুলির একটি 44 জিবি (হ্যাঁ, চৌচল্লিশ) ফোল্ডার রয়েছে । প্রত্যেকটি .apeএকটি সম্পূর্ণ সিডি, এবং .cueপ্রতিটিগুলির সাথে সাধারণত একটি ফাইল থাকে .ape। আমাকে রূপান্তর করতে হবে তবে এগুলি বিভক্ত করতে হবে না, যেহেতু কোনও কিউ ডেটা যেতে হবে না। সেখানেও বেশ কয়েকটি .jpgএস এবং .logএস রয়েছে, যা আমি যত্ন করি না। যদি কোনও treeকমান্ড আউটপুট এটিকে রূপায়িত করতে সহায়তা করে, আপনি এখানে যান:

├── Philips Mozart Collection - 180 CD
│   │   ├── box01-Symphonies
│   │   │   ├── 1B.jpg
│   │   │   ├── 1F.jpg
│   │   │   ├── cd01
│   │   │   │   ├── CDImage.ape
│   │   │   │   ├── CDImage.ape.cue
│   │   │   │   ├── Complete Mozart Edition, Vol. 01, Early Symphonies (Disc 1) - Neville Mariner, Academy of St. Martin in the Fields.log
│   │   │   │   ├── img421.jpg
│   │   │   │   └── img422.jpg
│   │   │   ├── cd02
│   │   │   │   └── CDImage.ape
│   │   │   ├── cd03
│   │   │   │   ├── CDImage.ape
│   │   │   │   ├── CDImage.ape.cue
│   │   │   │   ├── Complete Mozart Edition, Vol. 01, Early Symphonies (Disc 2) - Sir Neville Marinner - Acadamy of St Martin in the Fields.log
│   │   │   │   ├── img426.jpg
│   │   │   │   └── img427.jpg
│   │   │   ├── cd04

ইত্যাদি ... 180 সিডিএস পর্যন্ত সমস্ত উপায়।

মূলত, আমি সমস্ত .apeফাইলকে একাধিক .flacফাইলগুলিতে বিভক্ত করতে চাইছি .cueএবং ডিরেক্টরি কাঠামো (পছন্দমত সম্পূর্ণ নতুন এবং ভিন্ন ডিরেক্টরিতে রেখে) থেকে ট্যাগের তথ্যটি অনুলিপি করতে চাই । আমি যদি সম্ভব হয় তবে স্ক্রিপ্টে একটি একক লাইন কমান্ড পছন্দ করি। আমি এই সম্পর্কে কিভাবে যেতে হবে? যে কেউ এটি করতে জানেন যারা ধন্যবাদ!

এবং এই প্রশ্নটির নকল হিসাবে যে কেউ এখানে এই প্রশ্নের ঝাঁকুনির আগে : সমস্ত .ape ফাইলগুলিকে বিভিন্ন সাবফোল্ডারে .flac এ রূপান্তর করুন , আমি উল্লেখ করতে চাই যে সেই ব্যবহারকারীকে .ape কে একাধিক .ফ্ল্যাকগুলিতে বিভক্ত করার দরকার নেই।


হাই, আপনি দয়া করে আপনার বাক্য সম্পর্কে আরও ব্যাখ্যা "... এবং ট্যাগ তথ্যটি .কিউ থেকে অনুলিপি করুন ..."। এর অর্থ কি রূপান্তরিত .flac ফাইলের নাম .cue ফাইল থেকে নেওয়া উচিত? তাহলে আপনি দয়া করে এর নমুনা সামগ্রীটি ভাগ করবেন share অন্যথায় কীভাবে একাধিক ফাইল তৈরি করা উচিত এবং এই ফাইলগুলির সর্বাধিক সংখ্যাটি কী? ধন্যবাদ
нιηস

> আমার কোনওভাবে সেগুলি এড়ানো দরকার, যেহেতু কোনও কিউ ডেটা নেই। আপনি এই দ্বারা কি বোঝাতে চেয়েছেন? কিউ ডেটা ব্যতীত আপনি রূপান্তর করতে পারতেন, তবে বিভক্ত হবেন না, যেহেতু ট্র্যাকগুলি কোথায় শুরু হয় এবং শেষ হয় সে সম্পর্কে তথ্য কিউতে থাকে।
emk2203

@ আফশিন.হামাদি হ্যাঁ, ফাইলের নামটি ট্র্যাক শিরোনামের সাথে মিলবে। .Cue ফাইলটিতে শিল্পী, অ্যালবাম ইত্যাদির মতো তথ্য থাকে This এই তথ্যটি নতুন ফ্ল্যাক ফাইলগুলিতে অনুলিপি করা উচিত।
willem.hill

@ emk2203 ভাল কথা, আমি প্রশ্নটি আপডেট করেছি।
willem.hill

আপনি নিজেকে আরও বিরোধিতা করছেন। "আমাকে রূপান্তর করতে হবে তবে এগুলি বিভক্ত করতে হবে না, যেহেতু কোনও কিউ ডেটা যাওয়ার দরকার নেই।" - "মূলত, আমি সমস্ত .ape ফাইলগুলিকে একাধিক .ফ্ল্যাক ফাইলগুলিতে বিভক্ত করতে চাই এবং .cue থেকে ট্যাগ তথ্যটি অনুলিপি করতে চাই ..." । তো এটা কি? যদি এটি স্ট্যান্ডার্ড হয় "আমার কাছে। কেপ এবং .কিউ ফাইল রয়েছে এবং আমি সেগুলি রূপান্তরিত করতে চাইছি এবং ট্যাগ করে রেখেছি place জায়গায় জায়গায় বিভক্ত হয়ে, 24 ঘন্টা আগে প্রশ্ন দুটি ভাল উত্তর দিয়ে বন্ধ করা যেতে পারে।
emk2203

উত্তর:


6

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

আপনার দরকার হবে ffmpeg(অথবা avconv), shntoolএবং cuetoolsইনস্টল করা নেই।

আপনার সব রূপান্তর করতে .apeকরতে .flacজায়গায়:

find . -name "*.ape" -exec sh -c 'exec ffmpeg -i "$1" "${1%.ape}.flac"' _ {} \;

আপনি যদি http://www.etree.org/shnutils/shntool/ থেকে APE ফাইলগুলির জন্য প্যাচড ম্যাক এনকোডার এবং ডিকোডার ইনস্টল করেন তবে এই প্রথম পদক্ষেপটি অপ্রয়োজনীয়। তবে আপনার এটি g++এবং yasmনিজের সাথে সংকলন করতে হবে । একই .ttaফাইলগুলির জন্য যায় যা প্রায়শই পরিবর্তে ব্যবহৃত হয় .ape

বিভক্ত এবং নাম .flac ফাইল:

find . -name "*.cue" -exec sh -c 'exec shnsplit -f "$1" -o flac -t "%n_%p-%t" "${1%.cue}.flac"' _ {} \;

তাহলে shnsplitএছাড়াও রূপান্তর জন্য ব্যবহার করা হয়, প্রতিস্থাপন .flacমধ্যে "${1%.cue}.flac"বিন্যাস আপনার কাছ থেকে রূপান্তর করছি সম্প্রসারণ সঙ্গে।

  • %n - ট্র্যাক নম্বর
  • %p - পারফর্মার
  • %t - ট্র্যাক নাম

ফাইল নামের .cueজন্য ফাইল থেকে নেওয়া হয় .flac। ফলাফল ট্যাগ করতে, .flacফাইলগুলি বিভক্ত করুন :

find . -name "*.cue" -execdir sh -c 'exec cuetag "$1" *.flac' _ {} \;

আপনার অবসর সময়ে অবশিষ্ট CDImage.ape.cue, CDImage.flacএবং CDImage.apeফাইলগুলি সরান । নামগুলি স্বতন্ত্র, সুতরাং find . -name "CDImage*" -deleteমোজার্ট এমন একটি রচনা তৈরি করেন CDImageযা দিয়ে আমি অবগত নই except

জন্য shnsplitকাজ, প্রয়োজনীয় সকল এনকোডার / ডিকোডারগুলি ইনস্টল করার জন্য তাই এটি পড়তে ও লিখতে ফাইল করতে হবে। এপিই (এবং টিটিএ ফর্ম্যাটের জন্য) মডিউলগুলি উত্স থেকে অন্যদের প্যাকেজ ইনস্টল করে (অর্থাত্ এফএলএসি) সংগ্রহ করতে হবে।

এটি সমস্ত স্ট্যান্ডার্ড কেসের ক্ষেত্রে কাজ করে যেখানে এক্সটেনশন বাদে .cueএবং .tta/ .flac/ .apeফাইলগুলির একই নাম রয়েছে।


অন্যের পক্ষে পার্শ্ববর্তী মন্তব্য : আপনি যদি এই রূপান্তরটি মোকাবেলা করেন তবে আপনার উত্স ফাইলগুলি জাপানের উত্স হতে পারে, যেখানে এপিই এবং টিটিএ অন্য কোথাও বেশি জনপ্রিয় ছিল। .cueফাইলগুলি যদি প্রাথমিকভাবে SHIFT-JIS কোড করে থাকে এবং এখন ইউটিএফ -8 হিসাবে খোলা হয় তবে shnsplitপদক্ষেপটি ভেঙে যাবে । এর .cueসাথে আপনার ফাইলগুলির নাম পরিবর্তন করতে হবে

find . -name "*.cue" -exec rename 's/\.cue$/.cux/' -- {} +

এবং মধ্যবর্তী ফাইলগুলি ইউটিএফ -8 এ রূপান্তর করুন

find . -name "*.cux" -exec sh -c 'exec iconv -f SHIFT-JIS -t UTF-8 -o "${1%.cux}.cue" -- "$1"' _ {} \;

আপনি উপরের পদক্ষেপগুলি করার চেষ্টা করার আগে। ভুলবেন না পরিত্রাণ পেতে .cuxফাইল যখন আপনি সঙ্গে সম্পন্ন করা হয়:

find . -name "*.cux" -delete

shnsplit এর র manpage তালিকা সমর্থিত ফর্ম্যাটে যেমন উল্লুক যাতে আপনি ffmpeg এবং ব্যবহারের সঙ্গে FLAC রূপান্তর ছেড়ে যেতে পারেন -o flacপরিবর্তে shnsplit সঙ্গে। কোডেক / কনটেইনার অন্যান্য লসলেস কোডেকগুলিও খুব বেশি ব্যবহৃত হওয়ায় কোনও স্ট্যান্ডার্ড বেসনাম এবং এপিপ খুঁজে পাওয়ার প্রত্যাশা করবেন না, সুতরাং হার্ড কোড না করাই ভাল এবং ফাইন্ড কমান্ডের এক রানে সমস্ত পদক্ষেপ অন্তর্ভুক্ত করা ভাল। metaflac --add-replay-gainএছাড়াও একটি ভাল ধারণা হবে।
LiveWireBT

@ লাইভওয়্যারবিটি: প্রযুক্তিগতভাবে আপনি সঠিক are এ কারণেই আমি আমার একটি মন্তব্যে "দুটি সমাধান উপলব্ধ" বলেছিলাম। তবে আপনাকে এপি এবং টিটিএ সহায়তার জন্য প্লাগইনগুলির উত্সটি ডাউনলোড করতে হবে, জি ++ এবং ইয়াসম ইনস্টল করতে হবে এবং সেগুলি নিজেই সংকলন এবং ইনস্টল করতে হবে। এটি সহজ হওয়ায় আমি ffmpeg সমাধানটি দিয়েছিলাম।
emk2203

2
ওয়ান-কমান্ড সংস্করণের জন্য:find -name '*.ape' -execdir sh -c 'flac="${1%.ape}.flac"; ffmpeg -i "$1" "$flac" && shnsplit -f CDImage.ape.cue "$flac" && cuetag CDImage.ape.cue "$flac"' _ {} \:
ডেভিড ফোরস্টার

1
হ্যাঁ. আমি সর্বদা মুছে ফেলা ছাড়াই একবার চালাব তা নিশ্চিত করার জন্য এটি প্রথমে চালিত হয়।
emk2203

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