আমি প্রস্তাব দিচ্ছি যে আপনি অ্যানালগ ফিল্টারিং পর্যায়ে ব্যবহার করতে চান এমনকি (তারা শব্দকে একটি উষ্ণতা দিতে পারে যা অন্য মাধ্যমে অর্জন করা কঠিন হতে পারে) ডিজিটালভাবে আরম্ভের তরঙ্গগুলি তৈরি করা ভাল ধারণা হতে পারে। ১৯৮০ এর দশকে অনেক উইলিয়ামসের ইলেক্ট্রনিক্স আরকেড মেশিনগুলি এমন একটি বোর্ড ব্যবহার করে শব্দ উত্পন্ন করে যা একটি 6800 মাইক্রোপ্রসেসর, একটি সামান্য পরিমাণের র্যাম এবং রম, এবং একটি ড্যাক সহ সামান্য কিছুটা I / O ধারণ করে। সমস্ত সাউন্ড এফেক্টগুলি টাইট প্রোগ্রাম লুপগুলি ব্যবহার করে তৈরি করা হয়েছিল যা নমুনা তৈরি করে এবং ড্যাককে দিয়েছিল। যেহেতু প্রসেসর শব্দ উত্পাদনের ব্যতীত অন্য কিছুতে ব্যবহৃত হয়েছিল, তাই লুপ প্রয়োগের গতি সময়সীমার জন্য ব্যবহার করা যেতে পারে।
অনুশীলনে, এমনকি সাধারণ মাইক্রোকন্ট্রোলারদের কিছু ধরণের টাইমার সংস্থান রয়েছে, যা আপনি শব্দ বাজানোর সময় অডিও প্যারামিটারগুলি পরিবর্তন করতে সক্ষম হতে চাইলে সহায়ক হতে পারে। 6805 কোড জাতীয় কিছু ব্যবহার করে, প্রতিটি ভয়েসের জন্য একটি পোল রুটিন লিখে একটি শুরু করা হবে; গতির জন্য এই রুটিনগুলি র্যামে থাকত - এরকম কিছু:
poll1:
brclr TMR_CONTROL, TMR_READY, পোল; পরবর্তী 'টিক' শুরু করার জন্য অপেক্ষা করুন
বিসিএলআর টিএমআর_সিএনটিআরএল, টিএমআর_আরএডিএডি
FRQ1L: lda #PATCH
PH1L: #PATCH যুক্ত করুন
স্টা পিএইচ 1 এল + 1; পর্বের এলএসবি এর জন্য প্যাচ মান
FRQ1M: lda #PATCH
PH1M: #PATCH যুক্ত করুন add
স্টা পিএইচ 1 এম + 1; প্যাচ কোড
এফআরকিউ 1 এইচ: এলডিএ # প্যাচ
PH1H: #PATCH যুক্ত করুন
স্টা পিএইচ 1 এইচ + 1; প্যাচ কোড
স্টা FETCH + 2; লক্ষ্যের প্যাচ এলএসবি
FETCH: lda TABLE_BASE; 16-বিট ঠিকানা
clr DAC_ENABLES
স্টা DAC_OUTPUT
lda # সক্ষম করুন
স্টা DAC_ENABLES
RTS
এর পরে, একটিতে একটি প্রধান লুপ থাকবে যা বার বার ক্রমানুসারে প্রতিটি ভয়েসের জন্য পোল রুটিনকে কল করবে এবং কলগুলির মধ্যে, অন্যান্য যুক্তিগুলি করার জন্য যা প্রয়োজন তা সম্পাদন করবে (যেমন কোনও ভয়েস প্যারামিটারগুলি আপডেট করার দরকার আছে কিনা তা দেখে)। এই পদ্ধতির ব্যবহার করে, উচ্চ নমুনা হারের সাথে ন্যায্য সংখ্যক ভয়েস আপডেট করা সম্ভব।
প্রাথমিকভাবে তরঙ্গ প্রজন্ম সম্পূর্ণভাবে অ্যানালগ সার্কিটরি ব্যবহার করা সম্ভব হলেও একাধিক স্বতন্ত্র এনালগ জেনারেটর পাওয়া মুশকিল, যার ফ্রিকোয়েন্সি বৈশিষ্ট্যগুলি এক শতাংশের একাংশের মধ্যে একেবারে অভিন্ন। মানব কান পিচের বিভিন্ন প্রকারের প্রতি খুব সংবেদনশীল - প্রশস্ততার পরিবর্তনের চেয়ে অনেক বেশি - তাই সংকেত উত্পাদনের জন্য যা কিছু ব্যবহৃত হয় তা অবশ্যই খুব সামঞ্জস্যপূর্ণ হতে হবে। একটি সাধারণ মাইক্রোকন্ট্রোলারকে একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করা এই ধরণের ধারাবাহিকতা পাওয়ার জন্য ভাল উপায়, এমনকি যদি কোনও পরে এনালগ শেপিং সার্কিটরির মাধ্যমে উত্পন্ন সংকেতকে ফিড করে।