টার্মিনাল থেকে আমি একটি মিডি ফাইল কীভাবে খেলতে পারি?


29

টার্মিনাল থেকে মিডি ফাইলটি খেলতে আমি একটি সর্বাধিক সাধারণ কমান্ড লাইন অ্যাপ (বা ম্যাভেরিক্সের একটি অন-বোর্ড সরঞ্জামের সন্ধান করছি)। যতটা সম্ভব স্পষ্ট, কিছু play myfile.mid

প্রসঙ্গ: আমি পাইথনে মিডির সাথে ঘুরে বেড়াচ্ছি এবং আমার একটি স্ক্রিপ্ট থেকে লঞ্চ করতে পারে এমন কিছু দরকার need কোনও জিইউআই নেই, উইন্ডো নেই, কেবল প্লেব্যাক। এটি অবশ্যই পাইথন স্ক্রিপ্ট থেকে গ্রহণযোগ্য হতে পারে, তবে টার্মিনালে যা কিছু কাজ করে তা হওয়া উচিত।

উত্তর:


36

এটি মূলত আমার প্রত্যাশার চেয়ে আরও জটিল সমস্যা হিসাবে পরিণত হয়েছিল।

কুইকটাইম এক্স এমআইডিআই ফাইলগুলি খেলতে পারে না, যদিও কুইকটাইম 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খেলবে।


সেরা স্ট্যাক এক্সচেঞ্জ! যদিও ফ্লুইডসিন্থ বিকল্পটি আমি গ্রহণ করতে ইচ্ছুক ছিল না তার চেয়ে বেশি হ্যাকিং (প্রত্যেকেরই ব্রিউ ইনস্টল করা নেই ...) এটি সত্যই ভাল কাজ করে এবং ভিএলসি-র চেয়ে স্ক্রিপ্টে আরও দ্রুত প্রবর্তন করে। সুতরাং আমি যদি দু'একদিন অপেক্ষা করব তবে যদি কিছু হাস্যকর সমাধানের বিকল্প বিকল্পটি সক্রিয় হয় তবে যদি অনুগ্রহটি আপনার না হয়। বিটিডাব্লু, আমার জন্য তরল-সংশ্লেষটি /usr/local/Cellar/fluid-synth/1.1.6 এ পরিণত হয়। (কুইকটাইম সমাধানের পুরানো সংস্করণটি আমি পছন্দ করি না, আপনি এটি জানেন না যে এটি কতক্ষণ কাজ করবে)।
ডিসিএস

হ্যাঁ, আমি একমত যে "হোমব্রিউ | ম্যাকপোর্টস | ফিংক" ব্যবহার করা কোনও আদর্শ নয়, তবে ক) যে কেউ কমান্ড লাইন ব্যবহার করে যে কোনও পরিমাণ সময় ব্যয় করে সে নিজেকে অ্যাপল কী সরবরাহ করতে পারে / কী করবে তার চেয়ে বেশি চেয়েছিল এবং খ) অন্তর্নির্মিত সমাধানের অভাব, এটি এখানে যুক্তিসঙ্গত মনে হয়েছিল। কুইকটাইম 7-এর ক্ষেত্রে, আমি সম্মতি জানাই, এটি যতক্ষণ না বুঝেছি তার চেয়ে বেশি দিন বেঁচে গেছে, তবে আমি বিশ্বাস করি না যে "কুইকটাইম এক্স" এখনও কুইকটাইম 7 করতে পারে না। (আমাকে আইওয়ার্কের ভবিষ্যতের জন্য ভয়ঙ্কর করে তোলে তবে এটি অন্য দিন অন্য থ্রেডের জন্য আরেকটি আলোচনা :-)
টিজে লুওমা

আইওয়ার্কসের সাম্প্রতিক প্রকাশটি সর্বশেষ সংস্করণের তুলনায় পঙ্গু হয়ে গেছে ... আমি কেবলমাত্র টার্মিনাল অদৃশ্য হওয়ার অপেক্ষায় রয়েছি। তবে যথেষ্ট, বা আমরা বকবক হয়ে উঠব।
ডিসি

@ ডিসিএস আমরা অবহিত অভিযোগগুলিকে নাকচ করব না। সবচেয়ে খারাপভাবে, আমরা তাদের চ্যাট রুমে স্পোন করতে বলব বা ওয়্যারেন্ট করা থাকলে নতুন থ্রেড খুলব। এছাড়াও, আমি আপনার পোস্টের বাইরে কিছু বিশদ সম্পাদনা করেছি। দয়া করে সেই তথ্যটিকে উত্তর হিসাবে পপ করুন বা যদি সেই তথ্যের সাথে মানানসই উত্তরগুলির একটি সম্পাদনা করুন।
bmike

আমি এটি ইউসেমাইটে চেষ্টা করেছি এবং এটি কাজ করতে পারিনি। এমনকি ম্যাক পোর্টগুলি আনইনস্টল ও পুনরায় ইনস্টল করেছি। ত্রুটি: ফ্লুইডসিন্থ: সতর্কতা: চ্যানেল 9 [ব্যাঙ্ক = 128 প্রোগ = 56] এ কোনও প্রিসেট পাওয়া যায়নি বাহ্যিক ক্লায়েন্টের অনুরোধটি পরিচালনা করতে পারেনি। জ্যাক প্রধান ধরা সিগন্যাল 31.
রবার্ট ওয়াসম্যান

35

এটি আমার পক্ষে কাজ করেছে:

install ব্রিউ ইনস্টল টাইমডিটি
$ টিমডিটি ফাইল.মিডি

আমার জন্যও কাজ করেছিল - এবং ফ্লুয়েডসেন্ট যুক্ত জবাবের তুলনায় এটি খুব কম সমস্যা।
glenra

1
এখানে সেরা উত্তর। ফ্লুইডসিন্থের উত্তরটি সত্যই চতুর, তবে এটি কোনও সময়ে ভাঙতে দায়বদ্ধ (যদি এটি ইতিমধ্যে না থাকে) কারণ এটির চেয়ে এটি আরও জটিল।
ওয়েস্টক্রফট_ট_অ্যাপস

এটি আমার পক্ষে কাজ করে না। উপরের প্রথম কমান্ডটি চালানোর পরে, আমি দ্বিতীয়টি file.midi: No such file or directory
চালিয়েছি

5

আপনি একটি ইন্টারঅ্যাক্টিভ সিএলআই ইন্টারফেসের সাথে ভিএলসি ব্যবহার করতে পারেন এটির সাথে -I dummy:

/Applications/VLC.app/Contents/MacOS/VLC -I dummy file.mid vlc://quit

মিডি সমর্থন সক্ষম করতে, অগ্রাধিকার> সমস্ত দেখান> ইনপুট / কোডেস> অডিও কোডক> ফ্লুয়েড সিন্থে যান এবং http://www.schristiancollins.com/generaluser.php থেকে ফ্লুইডসিন্থ সাউন্ডফন্টের মতো একটি ফাইলের জন্য সাউন্ডফন্ট সেট করুন

সম্পাদনা করুন: মিডিলি সমর্থনটি ভিএলসির সাম্প্রতিক সংস্করণ থেকে সরানো হয়েছে। টিজে লুওমা বর্ণিত শেল থেকে আপনি এখনও শেল থেকে ফ্লুইডসিন্থ ব্যবহার করতে পারেন:

brew install fluidsynth
wget http://www.schristiancollins.com/soundfonts/GeneralUser_GS_1.44-FluidSynth.zip
unzip GeneralUser_GS_1.44-FluidSynth.zip
mkdir -p /usr/local/share/fluidsynth
mv GeneralUser\ GS\ 1.44\ FluidSynth/GeneralUser\ GS\ FluidSynth\ v1.44.sf2 /usr/local/share/fluidsynth
fluidsynth -i /usr/local/share/fluidsynth/GeneralUser\ GS\ FluidSynth\ v1.44.sf2 file.mid

1
কাজ করে! যাইহোক, ভিএলসি, এটি পুরোপুরি সুস্পষ্ট সুপার প্লেয়ার হিসাবে প্লেব্যাক শুরু হওয়ার আগে কিছুটা লক্ষণীয় স্টার্টআপ বিলম্ব হয়েছে, যা আমার উইন্ডোজ সমস্যার সমাধান করে, নাটকসমফ.এক্স.সি নামের একটি অতি-ছোট অ্যাপটি ছিল না। এটি আমার উদ্দেশ্যে ভিএলসিকে হত্যা করে না, তবে আরও কিছু ছোট হওয়া ভাল হবে। অন্য উত্তরটি পপ আপ হয়েছে কিনা তা দেখার জন্য আমি কয়েক দিন অপেক্ষা করব; যদি না হয়, আমি আপনার গ্রহণ করব। বিটিডাব্লু: ভিএলসি: // প্রস্থানটি ভিএলসি ছেড়ে দেওয়ার জন্য এবং আমার স্ক্রিপ্টটি আবার শুরু করার অনুমতি দিতে যুক্তিগুলির সাথে যুক্ত হতে হবে।
ডিসিএস

উপরে আমার আপডেট দেখুন - জঘন্য, এই ভাল কাজ করতে ব্যবহৃত!
ডিসিএস

vlc এর পুরানো সংস্করণ ব্যবহার করা কি সম্ভব?
wrossmck

@ রোসম্যাককিলে: প্রযুক্তিগতভাবে সম্ভব হলেও এটি অবশ্যই আমি করতে চাইছি না। সফ্টওয়্যারটি একটি কারণে আপডেট করা হয়েছে এবং আমি চাই ভিএলসি-র মতো ভারী ওজনের প্রোগ্রামটি আমার সিস্টেমে আপ টু ডেট থাকে। এটি পৃথক হবে যদি এটি কেবল 100kb মিনি সরঞ্জাম হয় তবে ভিএলসি এর মতো নয়।
ডিসিএস

1

ভিএলসির নিজস্ব ফোরামে এই পোস্ট অনুসারে সাইট অ্যাডমিন, ফেলিক্স পল কুহেন ,

হ্যালো, স্পষ্টতই, ফ্লুডসিন্থ শেষ আপডেটের জন্য সংকলন প্রক্রিয়ায় হারিয়ে গেছে। খুব শিগগিরই এটি ২.১.২ এ ফিরে আসবে বলে আশ্বাস দিন!

সুতরাং আপাতত হয় vlc 2.0.9 এ ডাউনগ্রেড করুন, বা vlc 2.1.2 এর জন্য অপেক্ষা করুন। এইভাবে, আপনার বিদ্যমান সমাধানটি আগের মতো কাজ করবে।


দুর্ভাগ্যক্রমে, এটি ভিএলসি ২.২.১ (নভেম্বর 2015) হিসাবে কাজ করে না
জেস রিডেল

1

ঠিক উত্তরটি নয় তবে একটি ছোট অ্যাপ রয়েছে যা ম্যাক ওএস এক্স কমান্ড লাইনে মিডি ডেটা প্রেরণ করতে পারে। এটি বেসিক গ্যারেজব্যান্ড ফাংশনগুলিও পাশাপাশি নিয়ন্ত্রণ করতে পারে: http://www.bibiko.de/music/MIDImyAPP/


ওহে ধন্যবাদ হ'ল ঠিক এমন কিছু যা আমি সন্ধান করছিলাম, কেন আমি
স্ট্যাকেক্সচেঞ্জে মিডির

0

জিনিসগুলিকে আরও সুবিধাজনক করার জন্য, আপনি টিজে লুমার উত্তরটি একটি অ্যাপলস্ক্রিপ্ট অ্যাপে গুটিয়ে রাখতে পারেন:

on open inputFile
    tell application "Terminal"
        do script "fluidsynth -i /usr/local/share/fluidsynth/generaluser.v.1.44.sf2 " & (quoted form of POSIX path of inputFile as string)
        activate
    end tell
end open

তারপরে আপনি এলোমেলো .mid ফাইলে তথ্য পান নির্বাচন করতে পারবেন, অ্যাপলস্ক্রিপ্ট অ্যাপ্লিকেশনটিতে "ওপেন:" পরিবর্তন করুন এবং এটিকে .mid ফাইল খোলার ডিফল্ট উপায়ে তৈরি করতে "সমস্ত পরিবর্তন করুন ..." টিপুন। এখন আপনি যখন একটি MIDI ফাইলে ডাবল ক্লিক করেন, এটি টার্মিনাল উইন্ডোটি খুলবে এবং এটি স্বয়ংক্রিয়ভাবে খেলবে।


অবশ্যই, এটি সাধারণভাবে কিছু লোকের পক্ষে সহায়ক, তবে বিকল্পটি কমান্ড-লাইন সিউশন সম্পর্কে জিজ্ঞাসা করেছিল;)
ভুলে গেছে স্ট্যাক এক্সপ্যাসওয়ার্ড

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