সুচিপত্র:

Arduino MIDI চিপটুন সিনথেসাইজার: 7 টি ধাপ (ছবি সহ)
Arduino MIDI চিপটুন সিনথেসাইজার: 7 টি ধাপ (ছবি সহ)

ভিডিও: Arduino MIDI চিপটুন সিনথেসাইজার: 7 টি ধাপ (ছবি সহ)

ভিডিও: Arduino MIDI চিপটুন সিনথেসাইজার: 7 টি ধাপ (ছবি সহ)
ভিডিও: Arduino Synthesizer Project (Instructions Included) 2024, জুলাই
Anonim
Arduino MIDI চিপটুন সিনথেসাইজার
Arduino MIDI চিপটুন সিনথেসাইজার

একটি প্রামাণিক 8-বিট চিপটিউন সিনথেসাইজার দিয়ে প্রাথমিক কম্পিউটার গেম মিউজিকের মজা পান, যা আপনি যেকোন আধুনিক DAW সফটওয়্যারের আরাম থেকে MIDI- এর উপর নিয়ন্ত্রণ করতে পারেন।

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

ধাপ 1: আপনার প্রয়োজনীয় জিনিসগুলি

জিনিসগুলি আপনার প্রয়োজন হবে
জিনিসগুলি আপনার প্রয়োজন হবে
জিনিসগুলি আপনার প্রয়োজন হবে
জিনিসগুলি আপনার প্রয়োজন হবে
জিনিসগুলি আপনার প্রয়োজন হবে
জিনিসগুলি আপনার প্রয়োজন হবে

এই জন্য সম্পূর্ণ অংশ তালিকা, আপনি ছবিতে দেখতে হিসাবে, নিম্নরূপ:

  • স্পার্কফুন প্রো মাইক্রো ক্লোন (5V, 16MHz বিকল্প)। আমি এটি আমাজনে ব্যবহার করেছি।
  • ইয়ামাহা YM2149F PSG চিপ। আমি ইবে থেকে আমার পেয়েছি।
  • 2 x 100nF সিরামিক ক্যাপাসিটার
  • 75R, 1K এবং 100K প্রতিরোধকগুলির প্রতিটি (1/4 ওয়াট রেটিং ঠিক আছে)।
  • 4.7nF সিরামিক ডিস্ক ক্যাপাসিটর
  • 1uF ইলেক্ট্রোলাইটিক ক্যাপাসিটর (ভোল্টেজ রেটিং> 5V)।
  • 40 পিন 0.6 "ডিআইপি আইসি সকেট
  • 2 x 12 ওয়ে 0.1 "হেডার (এটি সিপিসি থেকে)
  • প্রোটোটাইপিং বোর্ড, 3 "বাই 2" আনুমানিক। আমি এইগুলির একটি বাল্ক প্যাক কিনেছি, আবার অ্যামাজনে।
  • পিসিবি মাউন্ট ফোনো সকেট
  • মিনিয়েচার সলিড-কোর তার (এইরকম)।

আপনার একটি সোল্ডারিং আয়রন, সোল্ডার, ওয়্যার কাটার, প্লায়ার এবং ওয়্যার স্ট্রিপারও লাগবে।

ধাপ 2: বিকল্প অংশ

বিকল্প অংশ
বিকল্প অংশ
বিকল্প অংশ
বিকল্প অংশ
বিকল্প অংশ
বিকল্প অংশ

বিকল্প প্রোগ্রামযোগ্য সাউন্ড জেনারেটর চিপস

আমি যে YM2149 ব্যবহার করেছি তা হল সাধারণ সাধারণ যন্ত্র AY-3-8910 IC এর একটি ক্লোন। (প্রথম প্রোটোটাইপটি আমি ই-বে থেকে কেনা একটি AY-3-8910 ব্যবহার করেছি, কিন্তু দেখা গেল যে সাদা গোলমাল জেনারেটর কাজ করছে না। দু Sadখজনক মুখ)। আপনি কোন পরিবর্তন ছাড়াই এই প্রকল্পের জন্য ব্যবহার করতে পারেন।

জেনারেল ইন্সট্রুমেন্টগুলি AY-3-8912 এবং AY-3-8913 ভেরিয়েন্ট তৈরি করেছে, যা কিছু ছোট I/O পিন ছাড়া ছোট প্যাকেজের ভিতরে একই সিলিকন ছিল। এই পিনের কোন অডিও উদ্দেশ্যে প্রয়োজন হয় না, এবং এই প্রকল্পটি তাদের ব্যবহার করে না। আপনি একটি AY-3-8912 বা -8913 ব্যবহার করতে পারেন, শুধু উপরে দেখানো পিনআউটগুলি অনুসরণ করুন।

বিকল্প Arduinos

আমার ব্যবহৃত "প্রো মাইক্রো" স্পার্কফুনের প্রো মাইক্রো বোর্ডের একটি অনুলিপি। আপনি যদি Arduino কোড নিয়ে আত্মবিশ্বাসী না হন তবে এটির সাথে থাকা ভাল; আপনি যদি নকশা মানিয়ে নিতে খুশি হন, তাহলে আপনার নিম্নলিখিত স্পেসিফিকেশন প্রয়োজন হবে

  • ATmega 16u4 বা 32u4 ডিভাইস (USB MIDI ডিভাইস হিসেবে কাজ করার প্রয়োজন; ATmega 168 বা 328 এটি করতে পারে না)।
  • 5V অপারেশন (AY-3-8910 5V এ চলে), এবং 16MHz ঘড়ির গতি।
  • কমপক্ষে 13 ডিজিটাল I/O লাইন।

    পোর্ট পিন PB5 অবশ্যই সংযুক্ত থাকতে হবে (এটি 1MHz ঘড়ি সংকেত উৎপন্ন করতে ব্যবহৃত হয়)। প্রো মাইক্রোতে এটি D9 I/O পিন হিসাবে ব্যবহৃত হয়।

আরডুইনো লিওনার্দো এবং মাইক্রো বোর্ড উভয়ই বিলের সাথে মানানসই, যদিও আমি সেগুলি চেষ্টা করিনি।

অন্যান্য উপাদান

এখানে ব্যবহৃত প্রতিরোধক এবং ক্যাপাসিটারগুলি বিশেষভাবে বিশেষ নয়। সঠিক মানের (আনুমানিক) যে কোনো অংশ কাজ করা উচিত।

ধাপ 3: সার্কিট বোর্ড স্থাপন

সার্কিট বোর্ড স্থাপন
সার্কিট বোর্ড স্থাপন

সার্কিট তৈরির জন্য, সকেটগুলি স্থাপন করে শুরু করা ভাল, তারপরে প্রতিরোধক এবং ক্যাপাসিটার যুক্ত করুন। আমরা পরবর্তী ধাপে এইগুলিকে একত্রিত করব।

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

দুটি 12-পিন সকেটের অবস্থান করুন, তারপর তাদের মধ্যে Arduino সন্নিবেশ করান যাতে সেগুলি সোল্ডারিংয়ের সময় উল্লম্ব এবং স্থির থাকে। আবার, প্রতিটি প্রান্তে প্রথমে দুটি পিন সোল্ডারিং চূড়ান্ত সোল্ডারিংয়ের আগে একটি চেকের অনুমতি দেবে।

অডিও আউটপুট সকেটের জন্য, আমি পিসিবি গর্ত বড় করার জন্য একটি ছোট ড্রিল ব্যবহার করেছি, কারণ মাউন্ট করা ট্যাগগুলি বড়।

ধাপ 4: ওয়্যারিং আপ

ওয়্যারিং আপ
ওয়্যারিং আপ
ওয়্যারিং আপ
ওয়্যারিং আপ

একবার প্রধান উপাদানগুলি স্থাপন করা হলে, তারা উপরের সার্কিট অনুসরণ করে বোর্ডের পিছনে তারযুক্ত হতে পারে।

অডিও আউটপুট উপাদান (R2, R3, C2, C3) এবং decoupling ক্যাপাসিটর (C1, C4) কঠিন কোর তারের (অথবা কম্পোনেন্ট লিডের অফ-কাট) সঙ্গে সংযুক্ত করা যেতে পারে। আরডুইনো থেকে পিএসজি চিপের স্থল এবং বিদ্যুৎ সংযোগগুলি (ছবিতে লাল এবং কালো তারগুলি) তৈরি করা যেতে পারে।

প্রো মাইক্রোর বিভিন্ন আউটপুট নিম্নরূপ AY-3-8910 পর্যন্ত ওয়্যার্ড করা হয়েছে (পিন অ্যাসাইনমেন্টের জন্য হুকআপ গাইড দেখুন):

সিগন্যাল Arduino AY-3-8910 পিন

DA0 D2 37 DA1 D3 36 DA2 D4 35 DA3 D5 34 DA4 D6 33 DA5 D7 32 DA6 D8 31 DA7 A0/D18 30 BC1 D10 29 BC2 MOSI/D16 28 BDIR MISO/D14 27 RESET# SCLK/D15 23 CLOCK D9 22 (মাধ্যমে R1, 75 ওহম)

ধাপ 5: Arduino IDE ব্যবহার করে প্রোগ্রামিং

Arduino IDE ব্যবহার করে প্রোগ্রামিং
Arduino IDE ব্যবহার করে প্রোগ্রামিং

আপনি যদি Arduino এ নতুন হন, আমি দৃ strongly়ভাবে মৌলিক বিষয়গুলির অনেক টিউটোরিয়ালের একটি চেষ্টা করার সুপারিশ করব। স্পার্কফুনের হুকআপ গাইড সম্পূর্ণ বিবরণ দেয়। আপনি "Blinkies" টিউটোরিয়াল অনুসরণ করে পরীক্ষা করতে পারেন যে মৌলিক প্রোগ্রামিং কাজ করছে। Arduinos 'বুটলোডার' মোডে (যেখানে আপনি নতুন স্কেচ লোড করতে পারেন) প্ররোচিত করার জন্য একটু কঠিন হতে পারে, তাই একটি সহজ উদাহরণ সহ কিছুটা অনুশীলন দরকারী।

একবার আপনি খুশি হলে, এই পৃষ্ঠায় সংযুক্ত chiptunes.ino ফাইলটি ডাউনলোড করুন এবং এটি তৈরি করুন এবং আপলোড করুন। (আমি দেখেছি যে "Arduino/Genuino Micro" বোর্ড টাইপ ব্যবহার করে এই স্কেচের জন্য ঠিক আছে, যদি আপনি স্পার্কফুন বোর্ড সাপোর্ট ইনস্টল করতে বাদ দিতে চান)।

এছাড়াও, মনে রাখবেন যে আপনি যদি ম্যাকের উপর থাকেন তবে প্রথমবার স্কেচ লোড করার পরে "পোর্ট" সেটিং পরিবর্তন করতে হবে। একটি 'ফাঁকা' Arduino (বা Blinky স্কেচ ব্যবহার করে) এটি /dev/cu.usbmodemXXXX এর মতো কিছু হিসাবে প্রদর্শিত হবে, যেমন উপরের ছবিতে দেখানো হয়েছে। যখন USB MIDI ডিভাইস সক্রিয় থাকে (chiptunes.ino স্কেচ দ্বারা ব্যবহৃত হয়) তখন এটি /dev/cu.usbmodemMID1 হবে।

ধাপ 6: Synth পরীক্ষা করা এবং ব্যবহার করা

Synth পরীক্ষা এবং ব্যবহার
Synth পরীক্ষা এবং ব্যবহার
Synth পরীক্ষা এবং ব্যবহার
Synth পরীক্ষা এবং ব্যবহার
Synth পরীক্ষা এবং ব্যবহার
Synth পরীক্ষা এবং ব্যবহার

একবার Arduino প্রোগ্রাম করা হলে, আপনার ওয়ার্কস্টেশনটি স্বয়ংক্রিয়ভাবে এটি একটি USB MIDI ডিভাইস হিসাবে স্বীকৃত হওয়া উচিত। এটি 'আরডুইনো মাইক্রো' নামের সাথে উপস্থিত হবে - আপনার এটি উইন্ডোজের ডিভাইস ম্যানেজারে, অথবা ম্যাক ওএসে "সিস্টেম ইনফরমেশন" অ্যাপে দেখতে সক্ষম হওয়া উচিত।

একটি ম্যাক এ, আপনি একটি মৌলিক পরীক্ষা চালানোর জন্য অডিও MIDI সেটআপ অ্যাপ ব্যবহার করতে পারেন। অ্যাপটি শুরু করুন, তারপর উইন্ডো -> MIDI স্টুডিও দেখান নির্বাচন করুন। এটি MIDI স্টুডিও উইন্ডো নিয়ে আসবে - আপনার সমস্ত MIDI ইন্টারফেসগুলি একটি সামান্য এলোমেলো বিন্যাসে উপস্থিত হবে - যা আশা করি 'Arduino Micro' ডিভাইসটি অন্তর্ভুক্ত করবে। আপনি যদি টুলবারে 'টেস্ট সেটআপ' আইকনে ক্লিক করেন, এবং তারপর Arduino মাইক্রো ডিভাইসে নিচে তীর (ছবি দেখুন) ক্লিক করুন, অ্যাপটি সিন্থে MIDI নোট পাঠাবে। (এগুলি বিশেষভাবে সুরেলা নয়!) সিন্থের এই সময়ে কিছু এলোমেলো শব্দ করা উচিত।

তারপরে আপনি আপনার ডিজিটাল অডিও ওয়ার্কস্টেশনের MIDI সেটআপে আউটপুট ডিভাইস হিসেবে 'Arduino Micro' যোগ করতে পারেন এবং খেলতে শুরু করতে পারেন!

  • সিন্থ MIDI চ্যানেলগুলিতে 1 থেকে 4 পর্যন্ত সাড়া দেয়।
  • 24 এবং 96 (C1-C7) এর মধ্যে MIDI নোট গ্রহণ করা হয়; এই সীমার বাইরে নোট উপেক্ষা করা হয়।
  • MIDI চ্যানেল 10 ড্রাম শব্দ বাজায়। 35 এবং 50 এর মধ্যে নোট সংখ্যা দেখুন (দেখুন

    www.midi.org/specifications-old/item/gm-level-1-sound-set) গ্রহণ করা হয়।

  • AY-3-8910 এ তিনটি ভয়েস চ্যানেল রয়েছে। সিন্থ ফার্মওয়্যার সর্বশেষ প্রেরিত নোটটি চালানোর চেষ্টা করে, যখন সর্বোচ্চ-সর্বনিম্ন-অনুরোধ করা নোটগুলি এখনও চলছে। প্রয়োজনে অন্যান্য নোট (সাধারণত মাঝের নোট) কেটে ফেলা হয়।

এবং যে এটা সম্পর্কে। আনন্দ কর!

ধাপ 7: পাদটীকা

ডেমো টিউন সম্পর্কে

ডেমো টিউন - মোজার্টের বিখ্যাত রানী দ্য নাইট আরিয়া - ইন্টারনেটে পাওয়া একটি MIDI ফাইল থেকে যুক্তিসঙ্গতভাবে দ্রুত তৈরি করা হয়েছিল (https://www.midiworld.com/mozart.htm)। অন্য কেউ সব কঠোর পরিশ্রম করেছে!

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

ক্লিপে আপনি যে অডিওটি শুনছেন তা সরাসরি সিন্থ থেকে, EQ এবং স্যাচুরেশনের একটি স্পর্শ দিয়ে এটি একটি 'আর্কেড মেশিন' লো-ফাই অনুভূতি দিতে।

প্রস্তাবিত: