এটি মূলত আমার প্রত্যাশার চেয়ে আরও জটিল সমস্যা হিসাবে পরিণত হয়েছিল।
কুইকটাইম এক্স এমআইডিআই ফাইলগুলি খেলতে পারে না, যদিও কুইকটাইম 7 পারে।
যতদূর আমি এটি বলতে পারি এর অর্থ হ'ল ম্যাক ওএস এক্সে এমআইডিআই ফাইল বাজানোর কোনও "বিল্ট-ইন" সমাধান afplay
নেই (উদাহরণস্বরূপ, কাজ করে না)। সুতরাং আমি বিশ্বাস করি যে কোনও সমাধান ডাউনলোড এবং কিছু অন্যান্য প্রোগ্রাম ইনস্টল করা জড়িত।
বিকল্প # 1: কুইকটাইম 7 ডাউনলোড করুন এবং ইনস্টল করুন যা মাভেরিক্সে এখনও দুর্দান্ত কাজ করে এবং তারপরে আপনি মিডি ফাইলগুলি এতে খেলতে পারবেন:
open -a QuickTime\ Player\ 7 /path/to/your/file.mid
তবে এটি কেবলমাত্র অটোপ্লে হবে যদি ব্যবহারকারী সেই পছন্দটিকে সক্ষম করে থাকে, যা আমি বিশ্বাস করি যে এটি ডিফল্টরূপে বন্ধ রয়েছে ।
বিকল্প # 2: ফ্লুডসিন্থ ব্যবহার করুন
এটি ইনস্টল করতে আপনাকে ফিংক, ম্যাকপোর্টস বা (আমার প্রস্তাবনা) হোমব্রিউ ব্যবহার করতে হবে। হোমব্রিউ ইনস্টল হয়ে গেলে এটি টার্মিনালে টাইপ করুন:
brew install fluidsynth
(ম্যাকপোর্টস-এর কমান্ড হবে sudo port install fluidsynth
এবং ফিংকের হবে fink install fluidsynth
))
যাইহোক, ডাউনলোডগুলি fluidsynth
কেবল সেখানে আংশিক হয়ে যায়। তারপরে আপনার একটি "সাউন্ডফন্ট" ফাইলের দরকার যা আমি আগে কখনও শুনিনি। নেই তাদের সম্পর্কে তথ্য এখানে
আমি জেনারেল ইউসার নামে এস ক্রিশ্চান কলিন্স থেকে একটি ডাউনলোড করেছি যা বিনামূল্যে free বর্তমান সংস্করণ (2013-11-27 হিসাবে) হ'ল ফ্লুডসিন্থ সংস্করণ 1.44 । That যদি সেই সরাসরি লিঙ্কটি ভবিষ্যতে ব্রেক হয়ে যায় তবে আগের লিঙ্কটি ব্যবহার করুন যা আপনাকে জেনারেল ইউজারের নিয়মিত ওয়েব পৃষ্ঠায় নিয়ে যাবে}
এটি ডাউনলোড এবং আনজিপ করা হয়ে গেলে আপনার কাছে "জেনারেল ইউজার জিএস ফ্লুডসিন্থ ভি 1.44.sf2" (স্পষ্টতই নামটি ভবিষ্যতে পরিবর্তিত হতে পারে) সহ একাধিক ফাইল থাকবে files আমি সেই ফাইলটির নাম পরিবর্তন করে এটিকে সরিয়েছি /usr/local/share/fluidsynth/generaluser.v.1.44.sf2
।
সাউন্ডফন্ট ফাইলটি একবার স্থাপন ও fluidsynth
ইনস্টল হয়ে গেলে আপনি এই আদেশটি ব্যবহার করে একটি মিডি খেলতে পারেন:
fluidsynth -i /usr/local/share/fluidsynth/generaluser.v.1.44.sf2 ~/Music/example.mid
nb কিছু (আপাতদৃষ্টিতে নিরীহ) ত্রুটি বার্তা রয়েছে যা যখন আপনি এটি করেন তখন প্রদর্শিত হয়। আপনি তাদের দমন করতে চাইলে ব্যবহার করুন:
(fluidsynth -i /usr/local/share/fluidsynth/generaluser.v.1.44.sf2 ~/Music/example.mid 2>&1) >/dev/null
পরিবর্তে.
স্পষ্টতই আমি কখনই সে সব মনে করতে পারি না, তাই আমি একটি zsh
ফাংশন তৈরি করেছিplaymidi
function playmidi {
SOUNDFONT='/usr/local/share/fluidsynth/generaluser.v.1.44.sf2'
if [ -e "$SOUNDFONT" ]
then
for i in "$@"
do
if [ -e "$i" ]
then
(fluidsynth -i "$SOUNDFONT" "$i" 2>&1) >/dev/null
else
echo "[playmidi]: cannot find file at $i"
return 1
fi
done
else
echo "[playmidi]: SOUNDFONT file not found at $SOUNDFONT"
return 1
fi
}
(এটি আমার বিশ্বাসের পক্ষেও কাজ করা উচিতbash
))
এখন আমাকে যা করতে হবে তা হ'ল টাইপ:
playmidi example.mid
এবং example.mid
খেলবে।