উচ্চ মানের রিভারব আলগোরিদিম


11

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

আমার লক্ষ্যটি বেশ সহজ: আমি সি ++ তে একটি অ্যালগরিদমিক রিভারব প্রোগ্রাম করতে চাই যা সত্যিই ভাল লাগে। বা আরও সঠিকভাবে, সর্বোত্তম বিকল্পটি হ'ল শেষ ব্যবহারকারীটিকে মান এবং সিপিইউ-ব্যবহারের মধ্যে ট্রেড-অফ চয়ন করতে দেওয়া।

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

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

তবে প্রথম দিকের প্রতিচ্ছবিগুলি কীভাবে প্রোগ্রাম করবেন তা সম্পর্কে আমার কোনও ধারণা নেই (মনে আছে? আমি ডিএসপি ডোমেইনে সত্যই অজ্ঞ) nt

একধরণের বহু বিলম্ব ব্যবহার করা আমার পক্ষে যৌক্তিক মনে হবে, যার প্রোগ্রামটি সহজ এবং গণনামূলকভাবে কম ব্যয়বহুল হওয়ার সুবিধা রয়েছে। তবে এটি সত্য বলে মনে হচ্ছে খুব সহজ।

তদুপরি, আমার প্রবৃত্তি আমাকে বলে যে একটি বা একাধিক ফিল্টার অবশ্যই সংকেত পথে কোথাও অন্তর্ভুক্ত করা উচিত।

কেউ দয়া করে আমার জন্য এই বিষয়টিকে কিছুটা স্পষ্ট করে বলতে পারেন?

দুটি নোট:

  • আমি মোটেও কনভলভ রিভার্ভের পরে নেই। আমি সত্যিই রিভারবটির বাস্তবতা সম্পর্কে চিন্তা করি না, তবে পরিবর্তে আমি একটি ভাল সাউন্ডিং, টুইটযোগ্য, সিপিইউ-ক্ষুধার্ত রিভারবকে না চাই।
  • এছাড়াও কোডিং অংশটি আমাকে চিন্তিত করে না, আমি অন্যথায় স্ট্যাকওভারফ্লোতে জিজ্ঞাসা করব। এটি সত্যিই ডিএসপি অংশ, এবং ঠিক সেই অংশটি, যা আমি পরে করছি :)

উত্তর:


10

আপনাকে কয়েক মুহুর্তের বিলম্বের সাথে প্রথম প্রতিচ্ছবি উত্পন্ন করতে হবে (= কয়েক মুঠো ডায়রাকের যোগফলের সাথে সমঝোতা); এবং অল-পাস (এপি) এবং চিরুনি ফিল্টারগুলির একটি নেটওয়ার্কের সাথে সাধারণত যা প্রয়োগ করা হয় তার সাথে "লেজ"।

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

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

ভালহালা ঘরটি আমার প্রিয় সফ্টওয়্যার অ্যালগরিদমিক রিভারব - এটির বিকাশকারীর ব্লগটি পড়তে কিছুটা সময় নিন যা সঠিকভাবে তৈরি করতে সহায়তা করে সেগুলির বিষয়ে অনুপ্রেরণা খুঁজে পেতে।


2
ফ্রয়েভার্বকে আরও আধুনিক রূপ হিসাবে উল্লেখ করতে ভুলে গেছেন (কোড সহ উপলব্ধ কোড পাওয়া যায় যেমন শ্রোয়েডারের অ্যালগরিদম এর সাসাউন্ড বা লাডস্পা কোডবেসে পাওয়া যায়)।
পিকনেটস

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

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

8

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

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


আপনার পোস্ট থেকে এটি সহজ শোনাচ্ছে! অন্তত পারস্পরিক সম্পর্ক সম্পর্কিত অংশ বাদে আমি অন্তত এটি বুঝতে পারি। আপনি এর অর্থ কি? এছাড়াও ফ্রিকোয়েন্সি নির্ভর মনোযোগ সম্পর্কে, আমি অনুমান করি আপনি বোঝাতে চাইছেন যে প্রতিটি লাইনের ফ্রিকোয়েন্সি কানে কিছু ফিল্টার এবং সূক্ষ্ম সুরকরণ throw তবে আমরা কোন ধরণের ফিল্টারের কথা বলছি? এইচপি? এলপি? বিপি? ধন্যবাদ!
দিনাইজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.