সুচিপত্র:

নাচ গ্লাভস: 9 ধাপ
নাচ গ্লাভস: 9 ধাপ

ভিডিও: নাচ গ্লাভস: 9 ধাপ

ভিডিও: নাচ গ্লাভস: 9 ধাপ
ভিডিও: নাচের মুদ্রা শেখা || Dance Tutorial || Part-9 || সাধারণ নৃত্য || 2024, জুলাই
Anonim
নাচ গ্লাভস
নাচ গ্লাভস

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

সরবরাহ

  • Ableton (বা বিনামূল্যে ট্রায়াল)
  • একটি আরডুইনো
  • জাম্পারের তার
  • তাতাল
  • কার্ডবোর্ড
  • গরম আঠা বন্দুক
  • প্রচুর কল্পনা

ধাপ 1: ধারণা

এই প্রকল্পটি মজা করার জন্য ডিজাইন করা হয়েছে। এই টিউটোরিয়ালের উদাহরণ প্রকল্পটি যেভাবে কাজ করে তা যদি আপনার জন্য মজাদার না হয় তবে এটিকে আবার ডিজাইন করুন!

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

আমি যে গতিগুলি ব্যবহার করেছি তা এখানে:

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

এইগুলি ব্যবহার করুন বা আপনার নিজের তৈরি করুন!

(অনুগ্রহ করে মনে রাখবেন: এই টিউটোরিয়াল Ableton- এ কীভাবে সঙ্গীত বা সুর তৈরি করতে পারে তা কভার করে না! আপনি যদি এই নির্দেশাবলী মেনে চলেন, তাহলে আপনি কেবল ট্র্যাকের ভলিউম বা হ্রাস বা অডিও ইফেক্ট প্রয়োগ করতে সক্ষম হবেন।)

ধাপ 2: অ্যাকসিলরোমিটার প্রস্তুত করুন

অ্যাকসিলরোমিটার প্রস্তুত করুন
অ্যাকসিলরোমিটার প্রস্তুত করুন

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

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

ধাপ 3: দস্তানা তৈরি করুন

দস্তানা তৈরি করুন
দস্তানা তৈরি করুন

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

ধাপ 4: Ableton রচনা করুন

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

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

এখানে আমার Arduino- সামঞ্জস্যপূর্ণ রচনার একটি লিঙ্ক, যদি আপনি নিজের একটি লিখতে না চান:

(দুর্ভাগ্যবশত, আপনাকে Ableton শেখানো টিউটোরিয়ালের আওতাভুক্ত নয়। যাইহোক, সেখানে অনেক ভাল ভালো ভিডিও আছে, এবং Ableton এর 90 দিনের ফ্রি ট্রায়াল আছে! আমি এই ভিডিওটি সুপারিশ করছি।)

ধাপ 5: ফার্মটা ব্যবহার শুরু করুন

ফার্মটা ব্যবহার শুরু করুন
ফার্মটা ব্যবহার শুরু করুন

আপনার Arduino কে Ableton এর সাথে যোগাযোগ করতে সক্ষম করার জন্য, আপনাকে ফিরমাতা নামে একটি লাইব্রেরি ব্যবহার করতে হবে। আপনাকে Ableton এর জন্য সংযোগ কিট ডাউনলোড করতে হবে।

অ্যাবলেটনে, উপরের বাম দিকের মেনুতে প্যাক> সংযোগ কিট> ডিভাইসগুলিতে ক্লিক করুন এবং তারপরে এটি যুক্ত করার জন্য প্রথম ডিভাইস (আরডুইনো) এ ডাবল ক্লিক করুন। নিশ্চিত করুন যে আপনি কোন Ableton ট্র্যাকটিতে ডিভাইসটি যুক্ত করেছেন তা মনে রাখবেন!

ধাপ 6: ফার্মাটা পরীক্ষা করুন

ফার্মাটা পরীক্ষা করুন
ফার্মাটা পরীক্ষা করুন

প্রথমে, আমরা পরীক্ষা করব এবং নিশ্চিত করব যে আপনার Arduino Ableton এর সাথে যোগাযোগ করছে। আপনার Arduino এ এই কোড স্নিপেট আপলোড করুন এবং এটি চালান:

#অন্তর্ভুক্ত অকার্যকর analogWriteCallback (বাইট পিন, int মান) {যদি (IS_PIN_PWM (পিন)) {pinMode (PIN_TO_DIGITAL (পিন), আউটপুট); analogWrite (PIN_TO_PWM (পিন), মান); }} অকার্যকর সেটআপ () {Firmata.setFirmwareVersion (FIRMATA_FIRMWARE_MAJOR_VERSION, FIRMATA_FIRMWARE_MINOR_VERSION); Firmata.attach (ANALOG_MESSAGE, analogWriteCallback); Firmata.begin (57600);} void loop () {Firmata.sendAnalog (0, 800);}

ফিরমাতার সাথে যোগাযোগের জন্য এটি ন্যূনতম প্রয়োজন। এটি অবিচ্ছিন্নভাবে ta০০ (1024 এর মধ্যে) একটি আউটপুট পাঠায় যা Ableton- এ ফিরমাতা ডিভাইসের 0 পোর্টে পাঠায়। যদি আপনি এই কোডটি আপনার Arduino এ আপলোড করেন যখন আপনার Ableton এ একটি Firmata ডিভাইস খোলা থাকে, এটি উপরের চিত্রের মত হওয়া উচিত। (মানগুলি দেখতে সক্ষম হতে Ableton- এর যেকোনো কিছুতে মানচিত্র পোর্ট করুন।)

আপনি ম্যাপ বাটনে ক্লিক করতে পারেন এবং তারপরে Ableton- এ যে কোনও ফার্মাটা-সামঞ্জস্যপূর্ণ ডিভাইস সেই পোর্টে প্রাপ্ত ইনপুট এবং সেই Ableton ডিভাইসের মূল্যের মধ্যে একটি ম্যাপিং যোগ করতে পারেন। সহজ উদাহরণগুলির মধ্যে কোনও ট্র্যাকের ভলিউম বা অডিও প্রভাবের মধ্যে কোনও ডায়াল অন্তর্ভুক্ত রয়েছে। অন্বেষণ করুন এবং দেখুন আপনি কি মানচিত্র খুঁজে পেতে পারেন!

ধাপ 7: আপনার হাতের নড়াচড়ায় সঙ্গীতকে প্রভাবিত করুন

আপনার হাতের নড়াচড়ার মাধ্যমে সঙ্গীতকে প্রভাবিত করুন!
আপনার হাতের নড়াচড়ার মাধ্যমে সঙ্গীতকে প্রভাবিত করুন!

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

Ableton এ Arduino ডিভাইসের ম্যাপ পোর্টগুলি বিভিন্ন জিনিসে (আমি ট্র্যাক ভলিউমের পরামর্শ দিই), এবং তারপর Arduino থেকে প্রতিটি বন্দরে ডেটা পাঠানোর জন্য কোডের লাইন যোগ করুন।

Firmata.sendAnalog (পোর্ট, ভলিউম লেভেল);

প্রতিটি ফার্মাটা বন্দরের জন্য এইরকম কোড ব্যবহার করুন।

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

তারপর আপনার সব Ableton loops খেলুন, আপনার Arduino কোড চালান, এবং দূরে নাচ!

(অস্বীকৃতি: যদি আপনি আপনার গানের জন্য কোন জটিল অ্যালগরিদম তৈরি করার পরিকল্পনা করছেন, তাহলে ফাইন-টিউনে অনেক সময় লাগতে পারে। "নাচ দূরে" প্রত্যাশার চেয়ে কম সঠিক হতে পারে।)

ধাপ 8: ট্র্যাক ক্লাস (বোনাস!)

যদি আপনি ভলিউম পপিং মনে না করেন বা এটি হ্রাস করার অন্য উপায় থাকে তবে এই পদক্ষেপটি এড়িয়ে যান। অন্যথায়, পড়ুন!

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

ক্লাস ট্র্যাক {public: int volume; int volumeGoal; int updateSpeed; ট্র্যাক () {ভলিউম = 0; volumeGoal = 0; updateSpeed = 0; } void setVolumeGoal (int goal) {volumeGoal = goal; } int getVolumeGoal () {return volumeGoal; } অকার্যকর setUpdateSpeed (int fastness) {updateSpeed = fastness; } int getVolume () {রিটার্ন ভলিউম; } void updateVolume () {if ((volume> volumeGoal) && ((volume - volumeGoal)> = updateSpeed)) {volume - = updateSpeed; } অন্যথায় যদি ((volume = updateSpeed)) {volume += updateSpeed; }} অকার্যকর নিuteশব্দ (int fastness) {volumeGoal = 50; updateSpeed = দ্রুততা; } অকার্যকর পূর্ণ (int fastness) {volumeGoal = 950; updateSpeed = দ্রুততা; }};

প্রতিটি ট্র্যাকের একটি বর্তমান ভলিউম, একটি গোল ভলিউম এবং একটি গতি যেখানে এটি সেই লক্ষ্য ভলিউমের দিকে এগিয়ে যাচ্ছে। যখন আপনি একটি ট্র্যাকের ভলিউম পরিবর্তন করতে চান, setVolumeGoal () এ কল করুন। প্রতিবার যখন আপনি আপনার Arduino এ loop () ফাংশনটি চালান, প্রতিটি ট্র্যাকে updateVolume () এ কল করুন, এবং তারপর getVolume () দিয়ে সেই তথ্য ফিরমাতাকে পাঠান। দ্রুত বা আরও ধীরে ধীরে ফেইডআউটের জন্য আপডেটের গতি পরিবর্তন করুন! এছাড়াও, যদি আপনি পারেন তবে ভলিউম 0 এ সেট করা এড়িয়ে চলুন; পরিবর্তে, এটি একটি খুব কম মান সেট করুন (নিuteশব্দে ডিফল্ট () 100)।

ধাপ 9: ট্র্যাক দৈর্ঘ্য, বিট, এবং আরো (বোনাস!)

আপনার প্রজেক্টের ফলে শব্দ শোনার জন্য আরও সহজ করার জন্য আপনি অনেক কিছু করতে পারেন। এখানে কয়েকটি বিকল্প রয়েছে:

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

যদি আপনি জানেন যে আপনার লুপগুলি মিলিসেকেন্ডে কতক্ষণ থাকে, আপনি গানের কাঠামোর আরও সূক্ষ্ম বোঝার জন্য কতগুলি লুপের মধ্য দিয়ে গেছেন তাও ট্র্যাক করতে পারেন!

আরেকটি সম্ভাব্য সমস্যা যা আপনি সম্মুখীন হতে পারেন তা হল কখন ট্র্যাক বাজানো থেকে শুরু করা এবং থামানো। গানটি বর্তমানে কোন পরিমাপে আছে তার হিসাব রেখে আমি এটি সমাধান করেছি। তারপর আমি ইশারার পরে তাৎক্ষণিকভাবে কেটে ফেলার পরিবর্তে যে কোনও সংখ্যক বিটের জন্য ট্র্যাক বাজাতে পারতাম। এটি জিনিসগুলিকে অনেক বেশি মসৃণভাবে প্রবাহিত করে। এখানে একটি উদাহরণ:

if (millis () - lastLoop> = 4000) {loops += 1; lastLoop = মিলিস (); জন্য (int j = 0; j <8; j ++) {beatNow [j] = false; }} বীট = (মিলিস () - লাস্টলুপ) / 250; যদি (বীট! = lastBeat) {lastBeat = বীট; beatsLeft -= 1; }

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

প্রস্তাবিত: