সুচিপত্র:

Synthfonio - প্রত্যেকের জন্য একটি বাদ্যযন্ত্র: 12 টি ধাপ (ছবি সহ)
Synthfonio - প্রত্যেকের জন্য একটি বাদ্যযন্ত্র: 12 টি ধাপ (ছবি সহ)

ভিডিও: Synthfonio - প্রত্যেকের জন্য একটি বাদ্যযন্ত্র: 12 টি ধাপ (ছবি সহ)

ভিডিও: Synthfonio - প্রত্যেকের জন্য একটি বাদ্যযন্ত্র: 12 টি ধাপ (ছবি সহ)
ভিডিও: The Synthfonio - A MIDI instrument by Franco Molina 2024, জুলাই
Anonim
Image
Image
তারের ডায়াগ্রাম
তারের ডায়াগ্রাম

আমি সিনথেসাইজার এবং MIDI কন্ট্রোলার পছন্দ করি, কিন্তু আমি কীবোর্ড খেলতে ভয়ঙ্কর। আমি সঙ্গীত লিখতে পছন্দ করি, কিন্তু প্রকৃতপক্ষে সংগীত বাজানোর জন্য আপনাকে একটি যন্ত্র বাজাতে শিখতে হবে। এতে সময় লাগে। এমন সময় যা অনেকের কাছে নেই, এবং এটি সাধারণত তাদের অনুশীলন করা থেকে নিরুৎসাহিত করে। আমি এটি পরিবর্তন করার চেষ্টা করছি। এই প্রকল্পটি "আমি X খেলতে শিখতে চাই" মুহুর্ত এবং "আমি X বাজানো উপভোগ করি" এর মধ্যে ব্যবধান কমানোর একটি প্রচেষ্টা। আমি জানি আমাদের মধ্যে অধিকাংশই ছিল, অথবা এখনও পরবর্তী স্বপ্ন দেখছি কিন্তু আগেরটিতে আটকে গেছে, এবং আমি সেই মুহূর্তটিও জানি যখন আমি গিটারে আমার প্রথম মৌলিক চারটি কর্ড গানগুলি উপভোগ করতে এবং উপভোগ করতে সক্ষম হয়েছিলাম, সেই মুহূর্তটি আমি সত্যিই ছিলাম যন্ত্রটি শিখতে শুরু করেছিলাম এবং এর পর থেকে আমি কখনই হাল ছাড়িনি

এটা কি

এটি একটি সহজ শিখার যন্ত্র, কাজ করা সহজ, উন্নতিমুখী এবং শব্দের অন্তহীন সম্ভাবনা (একটি MIDI নিয়ামক হিসাবে)। এটিতে 2 সেট কী রয়েছে, একটি chords এবং কী স্বাক্ষর সংজ্ঞায়িত করার জন্য, এবং অন্যটি আসলে নোটগুলি চালানোর জন্য। যন্ত্রের ঘাড়ের চাবিগুলোতে যেটুকু জোড় চাপানো হবে তা গিটার, বেহালা এবং অন্যান্য স্ট্রিং যন্ত্রের মতো যন্ত্রের হ্যান্ডেলের কীগুলির পিচ নির্ধারণ করবে; যোগ করা অগ্রিম সঙ্গে যে এটি একটি একটি স্মার্ট ডিভাইস যা একটি একক নোট বা নোটের জোড়া থেকে বাজানো স্কেল ব্যাখ্যা করতে পারে।

কিভাবে এটা কাজ করে

সরল। আপনি একটি ই কর্ড বাজাতে চান? আপনি শুধু ঘাড়ে E কী টিপুন (ধাপ 11 এ ডায়াগ্রাম দেখুন) এবং আপনি হ্যান্ডেল কীগুলিতে যা চান তা সরিয়ে ফেলুন। চিন্তা করবেন না, এটি সুর হবে। ঘাড়ের প্রতিবেদক কী টিপে আপনি যে কোনও টোনালিটিতে chords, সুর, এবং arpeggios বাজানোর জন্য হ্যান্ডেল কীগুলি ব্যবহার করতে পারেন। একইভাবে, সি কী (A এর ক্ষুদ্র তৃতীয়াংশ) এর সাথে ঘাড়ে A কী টিপলে হ্যান্ডেল কীগুলির জন্য একটি ছোটখাটো টানালিটি সক্রিয় হবে।

এটি যে কোন প্লেয়ারকে 4-কর্ড মেলোডি (সবচেয়ে জনপ্রিয় মিউজিক হল 4-chords), সঙ্গী বা এমনকি ইমপ্রুভাইজেশন চালানোর অনুমতি দিতে পারে; অবস্থানে কয়েক আঙ্গুলের বেশি নয়।

এই যন্ত্রটি MIDI নিয়ামক হিসাবে কাজ করতে পারে এবং আমি বাহ্যিক সরঞ্জাম ছাড়া খেলার জন্য একটি সহজ অন্তর্নির্মিত সিনথেসাইজার অন্তর্ভুক্ত করেছি। আপনার ব্যবহার করা arduino বোর্ডের উপর নির্ভর করে, এই প্রকল্পটি একটি USB MIDI নিয়ামক বা BLE নিয়ামকের উপর MIDI হিসাবেও কাজ করতে পারে।

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

_

সরবরাহ

-একটি Arduino: কোন arduino কাজ করা উচিত। আমি USB ক্ষমতা সহ একটি বোর্ডের সুপারিশ করি, যেমন ATmega32U4 ভিত্তিক বোর্ড (লিওনার্দো, মাইক্রো, ইত্যাদি), যাতে আপনি এই প্রকল্পটি একটি USB MIDI নিয়ামক হিসাবে ব্যবহার করতে পারেন। আমি একটি MKR1010 ব্যবহার করেছি, কারণ এতে ব্লুটুথ ক্ষমতা এবং একটি সেকেন্ডারি হার্ডওয়্যার সিরিয়াল পোর্টও রয়েছে।

-ATmega328 ব্রেডবোর্ডে (alচ্ছিক): এটি সমন্বিত সিন্থের জন্য। আপনি একটি সঠিক ইউএনও বোর্ড ব্যবহার করতে পারেন, কিন্তু আমি একটি সহজ সিস্টেমের জন্য গিয়েছিলাম।

-মাল্টিপ্লেক্সার মডিউল: তাদের মধ্যে 2 টি, একটি হ্যান্ডেল কীগুলির জন্য এবং অন্যটি গলার চাবির জন্য।

-ব্যাটারি চার্জার মডিউল: আমি লিঙ্কের মত কিছু সুপারিশ করি, কারণ এতে অতিরিক্ত চার্জ/স্রাব সুরক্ষা রয়েছে।

-18650 ব্যাটারি

-ভোল্টেজ স্টেপ-আপ লিফট মডিউল: এই সঙ্গে সাবধান! নিশ্চিত করুন যে আপনি যে মডিউলটি চয়ন করেছেন তা 5v এর চেয়ে কম ইনপুট ভোল্টেজ নিতে সক্ষম। ব্যাটারি চার্জার মডিউলগুলি সাধারণত 4v এর আশেপাশে আউটপুট করে, এবং যদি আপনি সেই ভোল্টেজটিকে একটি স্টেপআপ মডিউলে ভরে দেন যা সেই ভোল্টেজের জন্য রেটযুক্ত নয় তাহলে আপনার সমস্যা হতে পারে। আমি একটি মডিউল ব্যবহার করেছি যার জন্য কমপক্ষে একটি 5v ইনপুট ভোল্টেজ প্রয়োজন, এবং আমি আমার আরডুইনো ভাজি। (একটি ভাজা বোর্ড পুনরায় ব্যবহার, পুনরায় সাইকেল চালানোর জন্য কোন প্রকল্প? দয়া করে একটি মন্তব্য করুন)

-1/4 মহিলা অডিও জ্যাক

-10k স্টিরিও পটেনশিয়োমিটার

-10 কে পোটেন্টিওমিটার (x2)

-x2 সুইচ: আমি এইগুলিকে সুপারিশ করি, কিন্তু যে কোনও সুইচ যা তার অবস্থান ধরে রাখে তা করবে।

-x14 কৌশল সুইচ: ঘাড়ের চাবির জন্য।

-x9 সীমা সুইচ: হ্যান্ডেল কী (7) এবং ট্রান্সপোজিং সুইচ (2)

-1k ওহম প্রতিরোধক

-x2 220 ohm প্রতিরোধক (যদি আপনি 5v MIDI আউটপুট তৈরি করছেন)

-33 ওহম এবং 10 ওম প্রতিরোধক (যদি আপনি 3.3v MIDI আউটপুট তৈরি করেন)

-ছোট ব্রেডবোর্ড: আপনি যতটা চান! আমি 170 পয়েন্ট ব্রেডবোর্ডে সবকিছু তৈরি করি।

-জাম্পার তারগুলি: আপনার যথেষ্ট নেই

কেন দুটি পৃথক arduinos ?: হ্যাঁ, একই বোর্ডে USB MIDI, MIDI ও BLE ও নিয়মিত MIDI ফাংশন সহ একটি ডিজিটাল সিন্থ চালানো একক স্কেচ লেখা সম্ভব। এটা উচিত, হয়তো এটা, কিন্তু আমি পারিনি। ব্যাপারটা হলো; বেশিরভাগ সিন্থ লাইব্রেরিগুলি ATmega328 এর জন্য তৈরি করা হয়েছে, যার USB ক্ষমতা নেই। অন্যদিকে, কয়েকটি ATmega32U4 ভিত্তিক বোর্ড (ইউএসবি ক্যাপাবলস) যা সিন্থ লাইব্রেরি চালায়, সমস্যাগুলির সাথে তা করে। BLE এর উপর MIDI সম্পর্কে ভুলে যান, এর জন্য আপনার MKR1010 এর মত কিছু দরকার (যতদূর আমি পড়েছি, একটি hm-10 মডিউল MIDI করবে না), কিন্তু MKR পরিবার একটি ভিন্ন স্থাপত্য ব্যবহার করে, এবং এমনকি আমি অনলাইনে যে কোন সিন্থ লাইব্রেরির সাথে স্কেচ কম্পাইল করি তাই এটি আমার জন্য দুটি পৃথক মাইক্রো কন্ট্রোলার। মূল বোর্ড সমস্ত সেন্সিং, ইন্টারপ্রিটেশন এবং মিডি স্টাফ করছে; এবং সমন্বিত সিন্থের জন্য দ্বিতীয়টি, যা শুধুমাত্র প্রধান থেকে মিডি ডেটা পড়ে, এবং শব্দ উৎপন্ন করে। শুধুমাত্র একটি একক বোর্ড। উদাহরণস্বরূপ, কমপক্ষে বাগি সিন্থ লাইব্রেরির সাথে একটি USB MIDI কন্ট্রোলার হিসাবে একটি একক ATmega32U4 আপনি এটি চালাতে পারেন (যদিও MIDI BLE নেই), অথবা একটি ATMEGA328 আপনার পছন্দসই সিন্থ লাইব্রেরি চালাচ্ছে (যদিও কোন USB MIDI নেই)।

ধাপ 1: তারের ডায়াগ্রাম

এখানে প্রকল্পের সম্পূর্ণ চিত্র। মনে রাখবেন, আপনাকে একটি এমকেআর বোর্ড ব্যবহার করতে হবে না, বেশিরভাগ বোর্ডই কাজ করবে, আপনাকে কেবল প্রতিটি বোর্ডের সম্ভাবনার বিষয়ে সচেতন থাকতে হবে (ইউএসবি সক্ষম, বিএলই সক্ষম, ইত্যাদি), এবং ভিন ভোল্টকে ভিন পিনে সামঞ্জস্য করুন। এখন আরো বিস্তারিতভাবে প্রতিটি বিভাগ দেখুন:

ধাপ 2: ওয়্যারিং ডায়াগ্রাম: MIDI কন্ট্রোলার এবং মাল্টিপ্লেক্সার

ওয়্যারিং ডায়াগ্রাম: MIDI কন্ট্রোলার এবং মাল্টিপ্লেক্সার
ওয়্যারিং ডায়াগ্রাম: MIDI কন্ট্রোলার এবং মাল্টিপ্লেক্সার
ওয়্যারিং ডায়াগ্রাম: MIDI কন্ট্রোলার এবং মাল্টিপ্লেক্সার
ওয়্যারিং ডায়াগ্রাম: MIDI কন্ট্রোলার এবং মাল্টিপ্লেক্সার

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

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

-ভলিউম নিয়ন্ত্রণের জন্য আমি একটি স্টিরিও পোটেন্টিওমিটার ব্যবহার করেছি, কারণ আমাদের দুই ধরনের ভলিউম নিয়ন্ত্রণ করতে হবে: এনালগ (সমন্বিত সিন্থ) এবং MIDI।

-MIDI আউটপুট সার্কিট আমার MKR বোর্ড থেকে 3.3v আউটপুট জন্য রেট প্রতিরোধক আছে। আপনি যদি একটি 5v বোর্ড ব্যবহার করেন, তাহলে আপনাকে দ্বিতীয় ছবিতে MIDI ডায়াগ্রাম অনুযায়ী আপনার প্রতিরোধক পরিবর্তন করতে হবে।

ধাপ 3: ওয়্যারিং ডায়াগ্রাম: সিনথেসাইজার

ওয়্যারিং ডায়াগ্রাম: সিনথেসাইজার
ওয়্যারিং ডায়াগ্রাম: সিনথেসাইজার

-ATmega328 এ OSC2 এর সাথে সংযোগটি (ক্যাপাসিটরের মাধ্যমে) ডিজিটাল পিন 5 এ স্থল হয়ে যায়। আমি এটি কেবল সুবিধার জন্য করেছি, তাই সবকিছু রুটিবোর্ডে সুন্দর এবং বন্ধ থাকে। আপনি যদি একই কাজ করার কথা ভাবছেন, তবে নিশ্চিত করুন যে আপনি সর্বদা পিন 5 কে একটি ইনপুট হিসাবে ঘোষণা করেন এবং কখনই আউটপুট হিসাবে নয়।

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

-আমি প্রধান বোর্ড থেকে সরবরাহিত 5v এ একটি সুইচ যোগ করেছি, তাই আমি MIDI নিয়ামক হিসাবে যন্ত্রটি ব্যবহার করার সময় ATmega বন্ধ করতে এবং ব্যাটারির শক্তি সঞ্চয় করতে সক্ষম হতে পারি।

ধাপ 4: ওয়্যারিং ডায়াগ্রাম: পাওয়ার সোর্স

তারের চিত্র: শক্তির উৎস
তারের চিত্র: শক্তির উৎস

-আমি জানি, সকল MKR বোর্ডের একটি সমন্বিত Li-Po চার্জিং সার্কিট আছে। বিষয় হল, আমি যে দেশে থাকি (চিলি, দক্ষিণ আমেরিকা) কোথাও প্রয়োজনীয় চশমা সহ কোন (সাশ্রয়ী মূল্যের) লিপো ব্যাটারী খুঁজে পাইনি এবং এছাড়াও, আমার কাছে ইতিমধ্যে চার্জিং মডিউল এবং 18650 টি জুড়ে রয়েছে, তাই আমি তাদের বাছাই। এর উপরে, আমি মনে করি বেশিরভাগ মানুষ এই প্রকল্পটি আরও বাণিজ্যিকভাবে উপলব্ধ বোর্ড ব্যবহার করে চেষ্টা করবে, যার সাধারণত চার্জিং সার্কিট থাকে না।

-আবার, ব্যাটারির ভোল্টেজ বাড়ানোর জন্য আপনি যে মডিউলটি বেছে নিয়েছেন তা নিশ্চিত করুন, 5v এর চেয়ে কম ইনপুট ভোল্টেজ নিতে সক্ষম। ব্যাটারি চার্জার মডিউলগুলি সাধারণত 4v এর কাছাকাছি আউটপুট করে, এবং যদি আপনি সেই ভোল্টেজটিকে একটি স্টেপ-আপ মডিউলে ভরে দেন যা সেই ভোল্টেজের জন্য রেটযুক্ত নয় আপনি আপনার বোর্ড ভাজতে পারেন। আমি করেছিলাম. দুবার, আমি এই সম্পর্কে জানার আগে।):

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

ধাপ 5: কোড আইডিয়া

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

সিন্থ কোডের জন্য, আমি যেমন করেছি, তেমনি করুন এবং নি unশব্দে সিন্থ লাইব্রেরির "মিডি ইন" উদাহরণ স্কেচটি অনুলিপি করুন এবং পেস্ট করুন যা আপনার প্রয়োজন অনুসারে সবচেয়ে উপযুক্ত। এখানে কিছু সুপারিশ দেওয়া হল: -The_synth-Mozzi-poly-synth-Noodle-Synth

ওহ, যদি আপনি একই বোর্ডে MIDI এবং synth কার্যকারিতাগুলিকে একীভূত করতে চান, আমি এই লিঙ্কে বর্ণিত স্কেচটি সুপারিশ করব।

ধাপ 6: কোড

প্রথমত, আপনার নিম্নলিখিত লাইব্রেরিগুলির প্রয়োজন হবে: MIDI লাইব্রেরি:

এছাড়াও, যদি আপনি একটি USB সক্ষম বোর্ড, বা MKR 1010 ব্যবহার করতে যাচ্ছেন, তাহলে আপনি এই লাইব্রেরিগুলির সাথেও পরীক্ষা করতে পারেন: MIDI USB:

#অন্তর্ভুক্ত

MIDI_CREATE_DEFAULT_INSTANCE (); #অন্তর্ভুক্ত CD74HC4067 my_mux (4, 3, 2, 1); // একটি নতুন CD74HC4067 অবজেক্ট তৈরি করুন যার চারটি কন্ট্রোল পিন #define mux_handle_pin 5 // হ্যান্ডেল মাল্টিপ্লেক্সার থেকে চ্যানেলের সাথে শেয়ার করার জন্য একটি পিন সংজ্ঞায়িত করুন ট্রান্সপোজিং সুইচ সংজ্ঞায়িত করুন বাইট আঙ্গুল পরিমাণ = 0; বাইট নেককিহোল্ড = {0, 0, 0}; বাইট রুট = 48; বাইট গৌণ তৃতীয়; বাইট হ্যান্ডেল কী নোট = {0, 48, 50, 52, 53, 55, 57, 59}; বাইট হ্যান্ডেল কী নোটসেন্ট = {0, 0, 0, 0, 0, 0, 0, 0, 0}; int octave = 0; অকার্যকর সেটআপ () {পিনমোড (LED_BUILTIN, আউটপুট); MIDI. শুরু (1); // MIDI চালু করুন এবং চ্যানেল 1 pinMode শুনুন (mux_handle_pin, INPUT_PULLUP); pinMode (mux_neck_pin, INPUT_PULLUP); pinMode (transposeUp, INPUT_PULLUP); pinMode (transposeDown, INPUT_PULLUP); } অকার্যকর লুপ () {// হ্যান্ডেলের প্রতিটি কী (1-7) চেক করার জন্য লুপ। জন্য (বাইট i = 1; i <8; i ++) {my_mux.channel (i); // মাল্টিপ্লেক্সারের মাধ্যমে প্রতিটি কী চেক করা // যদি একটি সুইচ (কী) চাপানো হয় এবং যদি চাবির অবস্থা "না চাপা থাকে" যদি ((digitalRead (mux_handle_pin) == LOW) && (handleKeyNoteSent == 0)) {বিলম্ব মাইক্রোসেকেন্ড (2400); // NECK এ 12 টি কী (0-11) চেক করার জন্য লুপ। জন্য (বাইট k = 0; k 0)) {MIDI.sendNoteOff (handleKeyNoteSent , 0, 1); // নোট হ্যান্ডেল বন্ধ করুন KeyNoteSent = 0; // এটি "পাঠানো হয়নি" বিলম্ব হিসাবে সংজ্ঞায়িত করুন (18); }}} // এই ফাংশনটি নেক-কী সনাক্ত করে এবং তার উপর ভিত্তি করে // রুট নোটের সংখ্যা সেট করে (MIDI তে), // amd নোটের সংখ্যাও সেট করে যা তার ক্ষুদ্র তৃতীয় অকার্যকর রুটসেট করা হবে () {সুইচ (neckKeyHolded [0]) {case 12: root = 47; ছোট তৃতীয় = 3; বিরতি; কেস 1: রুট = 48; ছোট তৃতীয় = 4; বিরতি; কেস 2: রুট = 49; ছোট তৃতীয় = 5; বিরতি; কেস 3: রুট = 50; ছোট তৃতীয় = 6; বিরতি; কেস 4: রুট = 51; ছোট তৃতীয় = 7; বিরতি; কেস 5: রুট = 52; ছোট তৃতীয় = 8; বিরতি; কেস 6: রুট = 53; ছোট তৃতীয় = 9; বিরতি; কেস 7: রুট = 54; ছোট তৃতীয় = 10; বিরতি; কেস 8: রুট = 55; ছোট তৃতীয় = 11; বিরতি; কেস 9: রুট = 56; ছোট তৃতীয় = 12; বিরতি; কেস 10: রুট = 57; ছোট তৃতীয় = 1; বিরতি; কেস 11: রুট = 58; ছোট তৃতীয় = 2; বিরতি; ডিফল্ট: রুট = 48; ছোট তৃতীয় = 4; বিরতি; }} // এই ফাংশনটি প্রকৃত নোট সেট করে যে হ্যান্ডি-কীটি চলবে। // এটি প্রথমে চেক করে যে ট্রান্সপোজিং সুইচ আছে কি না, এবং যদি প্রয়োজন হয় তাহলে একটি অষ্টভকে উপরে বা নিচে স্থানান্তর করুন, // তারপর এটি পরীক্ষা করে যে অবস্থানে আঙ্গুলের পরিমাণ একটি বড় বা ছোটখাট (1 বা 2 আঙ্গুলের) সাথে সংশ্লিষ্ট কিনা। // অবশেষে, যদি 2 টি আঙ্গুল অবস্থানে সনাক্ত করা হয়, তবে এটি পরীক্ষা করে যে দ্বিতীয় আঙ্গুলগুলি // সংশ্লিষ্ট ছোটখাট তৃতীয় নোটটিতে অবস্থিত কিনা। যদি তা না হয়, ২ য় আঙুলটি উপেক্ষা করা হবে এবং কর্ডটি // একটি প্রধান জ্যা হিসাবে ব্যাখ্যা করা হবে। যদি দ্বিতীয় আঙুলটি প্রকৃতপক্ষে একটি ছোট তৃতীয় বাজায়, ফাংশন সংজ্ঞায়িত করবে // নোটগুলি হ্যান্ডেল-কীগুলি কার্যকর করবে। void keyConstructor () {if (digitalRead (transposeUp) == LOW) {octave = 12; } অন্যথায় যদি (digitalRead (transposeDown) == LOW) {octave = -12; } অন্য {অষ্টভ = 0; } // প্রধান স্কেল যদি (neckKeyHolded [1] == 0) {handleKeyNote [1] = root + octave; handleKeyNote [2] = root + octave + 2; handleKeyNote [3] = root + octave + 4; handleKeyNote [4] = root + octave + 5; handleKeyNote [5] = root + octave + 7; handleKeyNote [6] = root + octave + 9; handleKeyNote [7] = root + octave + 11; } // ছোট স্কেল যদি (neckKeyHolded [1] == minorThird) {handleKeyNote [1] = root + octave; handleKeyNote [2] = root + octave + 2; handleKeyNote [3] = root + octave + 3; handleKeyNote [4] = root + octave + 5; handleKeyNote [5] = root + octave + 7; handleKeyNote [6] = root + octave + 8; handleKeyNote [7] = root + octave + 11; }}

ধাপ 7: যন্ত্র (ঘের)

যন্ত্র (ঘের)
যন্ত্র (ঘের)
যন্ত্র (ঘের)
যন্ত্র (ঘের)

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

এটি বলেছিল, এই উপলক্ষে, আমার পূর্ববর্তী প্রকল্পগুলির তুলনায় নকশা প্রক্রিয়া সম্পর্কে অনেক বেশি সামগ্রী এবং তথ্য রয়েছে, কারণ আমি অনেকগুলি অংশ তৈরি করতে 3 ডি প্রিন্টিং এবং লেজার কাটিং পরিষেবা ব্যবহার করেছি। আমি কেবল আমার শেষ মেশিনে যে সমস্ত MDF পরিমাপ এবং কাটিয়াছিলাম তা করতে যাচ্ছিলাম না। আমি লেজারের বেশিরভাগ অংশ কাটার জন্য ডিজাইন করা ফাইল এবং যন্ত্রের 3 ডি মডেল সংযুক্ত করেছি। দয়া করে, সচেতন থাকুন যে এই সমস্ত ফাইলগুলি বেশিরভাগই আমার নির্মিত প্রকৃত জিনিসের অনুরূপ, কিন্তু অসঙ্গতি রয়েছে, কারণ আমি মূল লেজার কাটিং এবং 3 ডি মডেলিংয়ের পরে অনেক পরিবর্তন করেছি। এই ফাইলগুলিকে আপনার প্রকল্পের প্রারম্ভিক বিন্দু হিসাবে ব্যবহার করুন, নির্দিষ্ট টেমপ্লেট হিসাবে নয়।

অনুগ্রহ করে, আমি নিম্নলিখিত ধাপে ছবিতে যেসব টীকা লিখেছি তাতেও মনোযোগ দিন।

ধাপ 8: যন্ত্র: ঘাড়

Image
Image
যন্ত্র: ঘাড়
যন্ত্র: ঘাড়
যন্ত্র: ঘাড়
যন্ত্র: ঘাড়
যন্ত্র: ঘাড়
যন্ত্র: ঘাড়

এটি মূলত লম্বা লেজার কাট MDF টুকরোগুলি একে অপরের উপরে স্তুপীকৃত, যাতে মোটা পর্যাপ্ত ঘাড় তৈরি হয়, যাতে ট্যাক্ট সুইচ (গলার চাবি) এবং মাল্টিপ্লেক্সার মডিউলের জন্য যথেষ্ট জায়গা থাকে। এবং এছাড়াও, 14 টুকরা লেজার কাটা MDF বোর্ড পিয়ানো কী আকারে সুইচ আবরণ। সুইচগুলি পারফোর্ডে মাউন্ট করা হয় এবং মাল্টিপ্লেক্সারে তারযুক্ত হয়।

ধাপ 9: যন্ত্র: হ্যান্ডেল

Image
Image
যন্ত্র: হ্যান্ডেল
যন্ত্র: হ্যান্ডেল
যন্ত্র: হ্যান্ডেল
যন্ত্র: হ্যান্ডেল

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

ধাপ 10: যন্ত্র: শরীর

Image
Image
যন্ত্র: শরীর
যন্ত্র: শরীর
যন্ত্র: শরীর
যন্ত্র: শরীর

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

ধাপ 11: এটি কিভাবে খেলতে হয়

এটা কিভাবে খেলতে হয়
এটা কিভাবে খেলতে হয়
এটা কিভাবে খেলতে হয়
এটা কিভাবে খেলতে হয়

Chords বাজানো

চলুন শুরু করা যাক "কিভাবে এটি কাজ করে" বিভাগে শুরুতে ব্যাখ্যা করা হয়েছে এমন কিছু সাধারণ নাবালক এবং মেয়রের শব্দ বাজানোর চেষ্টা করুন। মূলত, আপনি গলায় যে কোন কী টিপবেন, আপনাকে হ্যান্ডেলের চাবিতে সেই নোটের প্রধান স্কেল দেবে। এছাড়াও যদি আপনি ke টি চাবি গুনেন (হ্যান্ডেলের দিকে এগিয়ে যান) এবং সেই কী টিপুন, মূলটি চেপে রাখার সময়, হ্যান্ডেল কীগুলিতে আপনার এখনও সেই মূল নোটের একটি স্কেল থাকবে, কিন্তু এবার এটি একটি ছোট স্কেল হবে। মিউজিক্যালি প্রশিক্ষিত পাঠকরা বুঝতে পারবেন (আসলে আমার চেয়ে অনেক ভালো) যে কোন নোট থেকে সঠিক তৃতীয় কী টিপলে তার ছোট তৃতীয়টি বাজানোর মতোই।

এছাড়াও, যদি আপনি মনে করেন যে 7 টি নোট আপনার জন্য যথেষ্ট নয়, আপনি কেবল মূল হ্যান্ডেলের স্লাইড হোল দিয়ে পুরো হ্যান্ডেলটি উপরে বা নিচে স্লাইড করতে পারেন এবং আপনার একই 7 টি নোট থাকবে একটি অষ্টভ বা উপরে।

Chords বাজানো (নতুনদের ব্যাখ্যা)

Chords হল দুই বা ততোধিক নোট একসাথে বাজানো।একজন পিয়ানোবাদক বা গিটারিস্টের কথা চিন্তা করুন একবার একই সময়ে একগুচ্ছ নোট (পিয়ানো কী বা গিটারের স্ট্রিং) বাজিয়ে এবং তাদের শব্দ করতে দিতে, তারা এটির উপর একটি ছোট বাক্য গায় এবং তারপরে তারা নোটগুলির অন্য একটি সেটকে আঘাত করে এবং অন্য বাক্যাংশটি গায়। তারা chords বাজানো এবং একটি সুর গাইছে। এই যে কোন মৌলিক গানের সারাংশ তাই সুতরাং, কিভাবে আমরা Synthfonio এ এটি করবেন? সহজ আপনি একটি ই কর্ড বাজাতে চান? আপনি শুধু ঘাড়ের উপর E কী টিপুন এবং আপনি হ্যান্ডেল কীগুলিতে যা চান তা সরিয়ে দিন। চিন্তা করবেন না, এটি সুর হবে। (chords যার নাম "m" অক্ষরে শেষ হয় যেমন Am, Em, G#m, C#m, ইত্যাদি আমরা A কীটি চাপি (সংযুক্ত ডায়াগ্রামটি দেখুন) কিন্তু আমরা তিনটি কী উপরে (হ্যান্ডেলের দিকে এগিয়ে যাওয়া) গণনা করি এবং আমরা সেই কীটিও চাপি (এই ক্ষেত্রে একটি C)। এটি কার্যকরভাবে A জ্যাকে একটি Am chord (A নাবালক) এ পরিণত করে।

একটি গান বাজানো

এখন, যেমন কেউ কেউ ইতিমধ্যেই জানতে পারে, এখানে 4 টি গানের লোড এবং লোড রয়েছে, যা সাধারণত সাধারণ প্রধান এবং ছোটোখাটো গানের উপর নির্মিত হয়। নিখুঁত। আমরা গুগল "গান-শিরোনাম chords", আমরা যা চাই তা খুঁজে বের করুন (এখানে কয়েকটি সহজ এবং সহজ উদাহরণ)। যদি একটি কর্ড একটি প্রধান হয় তবে আমরা সিন্থফোনিওর ঘাড়ে সেই একক কী টিপুন এবং আপনি যা অনুভব করেন তা খেলুন হাতলটি. যদি গানে একটি ছোটখাট শব্দ উপস্থিত হয়, আমরা কেবল সংবাদদাতা কী এবং তৃতীয় কীটি টিপুন এবং আমরা প্রস্তুত। এটাই. আপনি chords বাজানোর জন্য হ্যান্ডেল কী ব্যবহার করতে পারেন এবং তাদের উপর গান গাইতে পারেন, বা সুর, arpeggios, ইত্যাদি বাজানোর জন্য

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

এটি একটি প্রগতিশীল প্রকল্প। ইতিমধ্যে, শুধু খেলতে থাকুন, পরীক্ষা করুন এবং মজা করুন। আমি প্রস্তাব গ্রহণ করি (:

বিভিন্ন স্কেল

বর্তমানে হ্যান্ডেল কীগুলি ঘোষিত স্কেলের ১ ম থেকে 7th তম নোট তৈরি করে। আমি এই নির্দেশনাতে এই কনফিগারেশনটি ব্যবহার করেছি যাতে এটি সহজে বোঝা যায়। কিন্তু keyConstructor () ফাংশন পরিবর্তন করে এটি সহজেই বিভিন্ন স্কেল তৈরি করতে পারে। আমি আসলে হ্যান্ডেলের জন্য একটি পেন্টাটোনিক কনফিগারেশন ব্যবহার করছি, কারণ আমাকে রুট নোটটি একই হ্যান্ডেল স্লাইড পজিশনে একটি অষ্টভের উপরে রাখতে দেয়। বর্তমান কনফিগারেশনে, অন্য অষ্টভে কোন নোট পেতে আপনাকে হ্যান্ডেলটি উপরে বা নিচে স্লাইড করতে হবে।

ধাপ 12: সম্ভাব্য পরিবর্তন

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

-BLE- এর উপর মিডি: যদি আপনার MKR WIFI 1010 বোর্ড থাকে, তাহলে এটি অন্তর্ভুক্ত করা মোটামুটি সহজ। এই লাইব্রেরির একটি খুব সোজা ফরওয়ার্ড মিডি উদাহরণ রয়েছে। আপনি সেই লাইব্রেরি থেকে মিডি কমান্ডগুলিকে নিয়মিত MIDI কমান্ডগুলিতে যুক্ত করতে পারেন যাকে সিন্থফোনিওর স্কেচ বলা হয়। অথবা, ব্যাটারি বাঁচানোর জন্য, শুধুমাত্র প্রয়োজনের সময় ব্লুটুথ কার্যকারিতা সক্রিয় করার জন্য একটি সুইচ যোগ করুন (arduinos এর বাধা এবং এই ধরনের একটি স্বয়ংক্রিয় রিসেট সিস্টেম ব্যবহার করে একটি চমৎকার ধারণা হবে)।

-পিচবেন্ড: যদিও সিন্থ লাইব্রেরির কেউ MIDI পিচ বেন্ড কমান্ড পরিচালনা করতে পারে না, MIDI লাইব্রেরি আপনাকে সেগুলি পাঠাতে দেয়। বিষয় হল কিভাবে এটি নিয়ন্ত্রণ করা যায় তা নির্ধারণ করা। যে কোনও পটেনশিয়োমিটার ঠিক কাজ করা উচিত, কিন্তু আমি সেন্সরের মতো আরও আকর্ষণীয় বিকল্প সম্পর্কে চিন্তা করছি! নৈকট্য, আলো, ইত্যাদি

যন্ত্র প্রতিযোগিতা
যন্ত্র প্রতিযোগিতা
যন্ত্র প্রতিযোগিতা
যন্ত্র প্রতিযোগিতা

যন্ত্র প্রতিযোগিতায় দ্বিতীয় পুরস্কার

প্রস্তাবিত: