সুচিপত্র:

রাস্পবেরি পাই ড্রাম মেশিন: 5 টি ধাপ
রাস্পবেরি পাই ড্রাম মেশিন: 5 টি ধাপ

ভিডিও: রাস্পবেরি পাই ড্রাম মেশিন: 5 টি ধাপ

ভিডিও: রাস্পবেরি পাই ড্রাম মেশিন: 5 টি ধাপ
ভিডিও: এমন টয়লেট যা দেখে আপনিও লজ্জায় পড়ে যাবেন ! এসব টয়লেট দেখতেও কপাল লাগে। 2024, ডিসেম্বর
Anonim
রাস্পবেরি পাই ড্রাম মেশিন
রাস্পবেরি পাই ড্রাম মেশিন

একটি রাস্পবেরি পাই + পাইথনের মাধ্যমে নমুনা সিকোয়েন্সার।

সিকোয়েন্সারের 4 টি পলিফোনি রয়েছে এবং ব্যবহারকারীকে 6 টি ভিন্ন সিকোয়েন্স সঞ্চয় করতে এবং ক্যু করতে দেয় যা তারা রিয়েল টাইমে বিকল্প করতে পারে এবং বিভিন্ন নমুনার মধ্যে পরিবর্তন করার ক্ষমতাকে সমর্থন করে।

আমি স্ক্রিপ্টটি এমনভাবে লিখেছি যা সত্যিই কোনও MIDI নিয়ামক এবং শব্দগুলির সাথে সম্পূর্ণরূপে পরিচালিত হয়। আমি 18 টি ভিন্ন সাউন্ড ব্যাংক, 16 টি নমুনা ব্যবহার করি, তবে ব্যাংক এবং নমুনা যোগ বা বিয়োগ করা সহজ এবং অনেকগুলি পরিবর্তনের প্রয়োজন হয় না। আপনার কোন সমস্যা হলে আমাকে একটি ইমেইল করুন: [email protected]

GitHub এ কোডটি খুঁজুন:

আপনি যদি এটি ব্যবহার করেন তবে দয়া করে আমাকে জানান এবং বিশেষ করে যদি আপনি এটি দিয়ে একটি ভিডিও তৈরি করেন!

ধাপ 1: নির্ভরতা

এই প্রোগ্রামের জন্য নিম্নলিখিত (অ অন্তর্নির্মিত) পাইথন মডিউলগুলির প্রয়োজন:

মধ্য

পাইগেম

অসাড়

যাইহোক, মিডো কিছু জটিলতা ছুঁড়ে দেয় কারণ মিডো নিজেই কয়েকটি নির্ভরতা প্রয়োজন। তারা সব ইনস্টল করা আছে তা নিশ্চিত করার জন্য, আপনার রাস্পবেরি পাই এর টার্মিনালে নিম্নলিখিত কমান্ডগুলি টাইপ করুন ('$' বাদ দিয়ে) এবং সব ঠিক হয়ে যাবে। অন্যান্য মডিউলগুলি সাধারণভাবে ইনস্টল করা যায়।

$ sudo apt-get update

$ sudo apt-get build-essential অপরিহার্য

$ sudo apt-get libasound-dev বা libasound2-dev ইনস্টল করুন

$ sudo apt-get libjack0 ইনস্টল করুন

$ sudo apt-get libjack-dev ইনস্টল করুন

$ sudo apt-get python-pip ইনস্টল করুন

$ sudo apt-get python-dev ইনস্টল করুন

$ sudo pip install python-rtmidi

$ sudo pip install mido

ধাপ 2: মিডি ইনপুট মান কনফিগার করুন

মিডি ইনপুট মান কনফিগার করুন
মিডি ইনপুট মান কনফিগার করুন

মূল পাইথন স্ক্রিপ্টের ভিতরে নোটলিস্ট নামে একটি অ্যারে বিদ্যমান যা 16 টি পূর্ণসংখ্যা (লাইন 165) নিয়ে গঠিত। প্রতিটি মিডি কন্ট্রোলার যদিও আলাদা, তাই যদি আপনার কাছে আকাই এলপিডি 8 না থাকে তবে আপনার ডিভাইসের সাথে মেলাতে সম্ভবত আপনাকে এই মানগুলি পরিবর্তন করতে হবে।

গিথুব রেপোতে "midihelp.py" নামে আরেকটি স্ক্রিপ্ট অন্তর্ভুক্ত রয়েছে যা বিশেষভাবে এই উদ্দেশ্যে তৈরি করা হয়েছে! কম্পিউটারটি কনসোলে স্বীকৃত প্রথম MIDI নিয়ামক থেকে ইনপুট মানগুলি মুদ্রণ করে। আপনাকে যা করতে হবে তা হল অ্যারেতে এই মানগুলি প্রতিস্থাপন করুন যদি তারা নোটলিস্টে অন্তর্ভুক্ত মানগুলির থেকে আলাদা হয়।

নোটের অর্ডার এছাড়াও প্রতি ফোল্ডারে কোন সাউন্ড ইফেক্ট প্লে হয় তার সাথে সম্পর্কযুক্ত, তাই এটিও মনে রাখবেন।

ধাপ 3: নমুনা সহ অতিরিক্ত ফোল্ডার যুক্ত করুন

স্ক্রিপ্টের মধ্যে নমুনা কিটগুলি একই ডিরেক্টরিতে ফোল্ডারগুলির মাধ্যমে সংরক্ষণ করা হয়, GitHub ফাইলের মধ্যে 808 কিট ঠিক কিভাবে সেট আপ করা হয়। এইভাবে আমি ফোল্ডারগুলির মধ্যে সংরক্ষিত বিভিন্ন নমুনা সেট রাখতে পারি যা সহজেই সংগঠিত এবং প্রতিস্থাপিত হয়।

স্ক্রিপ্টে পরিবর্তন করার একমাত্র জিনিস হল পরিবর্তনশীল foldNum যা কেবল স্ক্রিপ্টকে বলে যে নমুনার কতগুলি ফোল্ডার আছে। বর্তমানে স্ক্রিপ্টে foldNum সেট করা হয়েছে কারণ একই ডিরেক্টরিতে শুধুমাত্র একটি সাবফোল্ডার আছে (808 কিট।) এই মুহূর্তে স্ক্রিপ্টটি সর্বোচ্চ ফোল্ডারগুলি পরিচালনা করতে পারে 18, যা আমি কতগুলি ব্যবহার করছি, তবে এটি মোটামুটি তুচ্ছ এটি পরিবর্তন করুন, আপনার সাহায্যের প্রয়োজন হলে আমাকে জানান।

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

ধাপ 4: নতুন ফোল্ডারের মধ্যে অতিরিক্ত নমুনা যোগ করুন এবং কনফিগার করুন

নতুন ফোল্ডারের মধ্যে অতিরিক্ত নমুনা যোগ করুন এবং কনফিগার করুন
নতুন ফোল্ডারের মধ্যে অতিরিক্ত নমুনা যোগ করুন এবং কনফিগার করুন

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

অ্যারে নোটলিস্টে MIDI ইনপুটগুলির সূচকটি.wav ফাইলের নামের সাথে ঠিক মেলে।

উদাহরণ স্বরূপ:

  • যখন আপনি নোটলিস্ট [0] এ সংরক্ষিত MIDI নোটটি ট্রিগার করেন তখন wav ফাইল 0.wav চলবে।
  • যখন আপনি নোটলিস্ট [8] এ সংরক্ষিত MIDI নোটটি ট্রিগার করবেন তখন wav ফাইল 8.wav চলবে।

আমি এটি আংশিকভাবে করেছি যাতে প্রতিটি একক MIDI নিয়ামক সহজেই স্ক্রিপ্টের সাথে কাজ করার জন্য সেট আপ করা যায়, এবং তাই আমি নমুনা এবং ইনপুট নম্বরটি সহজেই প্রসারিত বা সীমাবদ্ধ করতে পারি, সেইসাথে ফাইল এবং স্ক্রিপ্ট সংগঠিত করতে পারি যাতে কিক ড্রাম শব্দ, উদাহরণস্বরূপ, সর্বদা 0.wav হিসাবে সংরক্ষণ করা হবে এবং প্রথম MIDI নোট দ্বারা ট্রিগার করা হবে।

আমি আমার নিয়ামকের 16 টি ইনপুটের সাথে সামঞ্জস্য করার জন্য কিছুটা নির্বিচারে 16 টি মান বেছে নিয়েছি, তাই যদি আপনি শুধুমাত্র 1 টি নমুনার সাথে একটি সিকোয়েন্সার করতে পছন্দ করেন, অথবা আরও অনেক কিছু দিয়ে, আপনাকে যা করতে হবে তা হল সেই অনুযায়ী অডিও ফাইলগুলি সংখ্যা এবং মিলের জন্য নোটলিস্ট অ্যারের মধ্যে সংরক্ষিত সংখ্যাগুলি বিয়োগ করুন বা যুক্ত করুন।

যদি অন্তর্ভুক্ত 808 কিট সঠিকভাবে কাজ করে কিন্তু আপনার নিজের নমুনার সাথে সমস্যা হয় তবে সমাধানটি সম্ভবত PyGame এর 22, 050khz নমুনার হার এবং 16 এর বিট গভীরতার সাথে ফাইলের নমুনা হার পরিবর্তন করতে পারে। আপনি এটি অডাসিটিতে করতে পারেন অথবা অন্য কোন অডিও এডিটিং সফটওয়্যার। তাদের সেখান থেকে পুরোপুরি কাজ করা উচিত!

ধাপ 5: নম্বর প্যাড রেফারেন্স

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

রেফারেন্স

প্রধান কার্যাবলী

[8] - মেট্রোনোম চালু এবং বন্ধ করুন

[9] - রেকর্ডিং মোড চালু এবং বন্ধ করুন

[প্রবেশ করান] - ক্রম চালান/বিরতি দিন

[0] - ক্রমে বর্তমান নোট মুছে দিন

[সংখ্যা লক এবং *] - বন্ধ করুন

[MIDI নোট এবং।] - জোড় সংখ্যায় পরিমাপ করবেন না

টেম্পো ফাংশন

[+] - কোর্স BPM গতি বাড়ায়

[-] - কোর্স স্লো ডাউন বিপিএম

[+ এবং *] - দ্রুত গতিতে বিপিএম বাড়ান

[- এবং *] - দ্রুত ধীর গতিতে বিপিএম

[+ এবং।] - ফাইন স্পিড আপ বিপিএম

[- এবং।] - ফাইন স্লো ডাউন বিপিএম

সিক্যুয়েন্স ফাংশন

[1-6] অনুক্রম 1-6 মনে করুন

[1-6 এবং।] স্টোর ক্রম 1-6

[0 এবং।] বর্তমান ক্রম পরিষ্কার করুন

নমুনা ফোল্ডার পরিবর্তন

[1-9 এবং *]-1-9 ফোল্ডারে নমুনা প্যাক পরিবর্তন করুন

[1-9 এবং * এবং।]-10-18 ফোল্ডারে নমুনা প্যাক পরিবর্তন করুন

ক্রম টিপস:

-বর্তমান সিকোয়েন্স [0 এবং।] সাফ করুন এবং মেমোরি থেকে মুছে ফেলতে চান এমন কোনো ক্রমে এটি সংরক্ষণ করুন।

একটি ক্রম প্রত্যাহার করুন এবং এটি অনুলিপি করার জন্য এটি একটি ভিন্ন নম্বরে সংরক্ষণ করুন।

প্রস্তাবিত: