3 डी साउंड इंजन [बंद]


11

मैं गेम प्रोग्रामिंग में नया हूं, हालांकि मुझे कंसोल / वेब डेवलपमेंट में कुछ वर्षों का अनुभव है। मेरी समस्या इतनी नहीं है कि मुझे वह नहीं मिल रहा है जिसकी मुझे तलाश है, यह सिर्फ इतना है कि मेरे पास वास्तव में एक सफल खोज करने के लिए शब्दावली नहीं है।

मैं एक फिजिक्स इंजन की तलाश में हूं, जिसमें ध्वनियों पर बहुत ध्यान दिया जाए। वास्तव में, मुझे किसी और चीज की बिल्कुल भी परवाह नहीं है। एक उदाहरण द्वारा मुझे बेहतर बताया गया है:

मान लीजिए कि 1 व्यक्ति प्रकार का खेल है। आप उत्तर का सामना कर रहे हैं, और आपके आस-पास कोई व्यक्ति आपके ऊपर एक बांसुरी फेंकता है (स्थिति की बेरुखी को कम नहीं करता)। बांसुरी बजाती है जब वह अपने रास्ते पर होती है, जिससे उसके छेद से आवाज आती है। कहते हैं, 5 समुद्री मील दक्षिण की हवा है।

मुझे लगता है कि एक भौतिकी इंजन बांसुरी के प्रक्षेपवक्र की गणना करने में सक्षम होगा, साथ ही हिट होने के बाद यह दिशा लेता है। किसी भी श्रोता के दृष्टिकोण से, सटीक ध्वनियों की गणना करने के लिए मैं भौतिकी इंजन के लिए क्या चाहता हूं।

क्या ऐसा कोई इंजन मौजूद है? यदि कई हैं, तो उपरोक्त उदाहरण के लिए कौन सा सबसे अच्छा होगा?

जवाबों:


10

आप गलत सवाल पूछ रहे हैं। आप गलती कर रहे हैं कई नए गेम प्रोग्रामर बनाते हैं। खेल सही सिमुलेशन नहीं हैं , वे करीब भी नहीं हैं। गेम्स केवल मज़ेदार / दिलचस्प होने के लिए पर्याप्त अनुकरण करते हैं। बाकी सब फेक है।

इसका स्पष्ट उदाहरण:
गू की दुनिया: बड़े पैमाने पर, तन्य शक्ति और लोच का अनुकरण करता है। बाकी सब फेक है क्योंकि इसमें गेम का अहसास नहीं है। उदाहरण के लिए, यह गुरुत्वाकर्षण का अनुकरण नहीं करता है। निरंतर बल से सभी वस्तुएं तेज हो जाती हैं। लड़कपन फेक है। बैलून पानी के नीचे एक निरंतर बल और गू बॉल्स के साथ-साथ एक निरंतर ऊपर की ओर बल का अनुभव करता है। यह सब खेल के लिए बहुत अच्छा काम करता है। हालांकि यह टूट जाएगा यदि आपने वर्ल्ड ऑफ गू के भौतिकी इंजन का उपयोग करके एक अंतरिक्ष लिफ्ट बनाने की कोशिश की।

चलो एक सही भौतिकी आधारित ध्वनि इंजन की कल्पना करते हैं। पर्यावरणीय प्रभावों के बारे में क्या? एक गुफ़ा में या एक खेत में बाँसुरी है। क्या इंजन वातावरण का पूर्वनिर्धारित सेट प्रदान करता है (कितने?) या क्या यह वास्तविक भौतिक स्थलाकृति (हाँ ठीक है) की गणना करके इसका पता लगाता है? क्या खिलाड़ी के पास दिशात्मक कान (अला मानव) या सिर्फ कान के छेद (अला डॉल्फिन या एलियन) या एक जानवर की तरह बहुआयामी है? क्या हवा गर्म है? कितना नम है। यह सूची शीघ्रता से नियंत्रण से बाहर हो सकती है।

अब एक पल के लिए मान लें कि इस तरह के सच्चे भौतिकी ध्वनि इंजन मौजूद थे। क्या आप वास्तव में एक खेल बनाने के लिए इसका इस्तेमाल करना चाहेंगे? हवा से उड़ने वाली बांसुरी की आवाज को परिभाषित करने में आपको कितना समय लगेगा। आपको सही (100's?) प्राप्त करने के लिए कितने पैरामीटर हैं?

आपको जो पूछना चाहिए था, वह यह है:
जब मैं खिलाड़ी को उड़ाता हूं तो मैं ध्वनि को एक बांसुरी कैसे अनुकरण कर सकता हूं?

ओपनल आप जो चाहें कर सकते हैं।

  • निर्देशक श्रोता
  • दिशात्मक ध्वनि स्रोत
  • स्रोत वेग और डॉपलर प्रभाव।

मेरा सुझाव है कि एक कताई बांसुरी का दोहराव ध्वनि प्रभाव हो। खिलाड़ी की स्थिति और बांसुरी की स्थिति / वेग को इनपुट करें। अब के लिए दिशात्मक सामान छोड़ें।
आप उस ध्वनि को रिकॉर्ड कर सकते हैं जो बांसुरी के प्रत्येक सिरे से आती है क्योंकि हवा बहती है और बांसुरी दो ध्वनि स्रोतों का उपयोग करती है। लेकिन मुझे संदेह है कि यह प्रयास के लायक होगा जब तक कि पूरे खेल मैकेनिक को फेंका और कताई बांसुरी के चारों ओर घूमता नहीं है।


खैर, पूरा खेल विचार ध्वनि बनाने वाली चलती वस्तुओं के इर्द-गिर्द घूमता है। दिए गए उदाहरण उद्देश्य पर अति-जटिल हैं, हालांकि खेल विचार में आंदोलन में वास्तविक रूप से दिखने वाली वस्तुओं को शामिल किया गया है।
फेलिक्स सपरेली

अधिकांश मापदंडों को वास्तव में नियंत्रित किया जाएगा: एक बंद (सील), एक विशेष सामग्री की दीवारों के साथ घन कक्ष (जिनमें से गुण मैं परिभाषित करता हूं), वायु अस्थायी, दबाव, आर्द्रता, आदि सभी नियंत्रित होते हैं। कान इंसान हैं। मुझे शरीर के बाकी हिस्सों पर विचार करने की भी आवश्यकता नहीं है। वास्तव में, ब्लैक-लिस्टिंग के बजाय, मैं वास्तव में निर्दिष्ट कर सकता हूं कि मैं कौन-से परमर्स का उपयोग करता हूं, और बाकी सभी को परिभाषित करता हूं। यह मेरी (आभासी) दुनिया है: मैं इसे परिभाषित करता हूं क्योंकि मैं चाहता हूं कि यह हो।
फेलेक्स सपरेली

मेरा कहना यह था कि इस तरह के ऑडियो इंजन को सामान्य मामले में जितना प्रयास करने की आवश्यकता है, वह इसके लायक नहीं है। खासकर जब प्रतिभाशाली साउंड इंजीनियर आपको किसी भी प्रभाव की आवश्यकता के बारे में आश्वस्त कर सकते हैं। डॉपलर में बनाया गया है। गूंज, भिगोना, आदि सभी फ़िल्टरिंग के साथ किया जा सकता है।
deft_code

8

आप भौतिक मॉडलिंग चाहते हैं? संश्लेषण टूलकिट आज़माएं:

https://ccrma.stanford.edu/software/stk/classstk_1_1Flute.html

आपको गोंद कोड लिखना होगा जो हवा की गति / आयाम को स्वयं निर्धारित करता है।

जो आप पूछ रहे हैं वह वास्तव में अभी तक आविष्कार नहीं हुआ है। हालांकि हम करीब पहुंच रहे हैं- इसे देखें, मैंने इसे दूसरे दिन देखा:

http://www.physorg.com/news198351307.html


दिलचस्प सामान। यह मेरा मतलब है, और यह अभी तक नहीं किया जा रहा है मुझे बाधा नहीं है। मैं 1-2 साल से पहले वास्तविक (गैर-वैचारिक) काम शुरू करने की योजना नहीं बना रहा हूं।
फेलिक्स सपरेली

4

मुझे संदेह है कि आपको एक भौतिकी-ऑडियो इंजन मिलेगा। अधिक संभावना यह है कि आप किसी भी भौतिकी इंजन का उपयोग करें (जैसे बुलेट ) और ध्वनि के लिए ओपन का उपयोग करें । बांसुरी की स्थिति की गणना, और स्रोत की स्थिति के रूप में उपयोग करें।


मैं हालांकि उससे थोड़ा अधिक चाहता हूं।
फेलिक्स सपरेली

1
आपको और क्या चाहिए? मेरे सुझाव से, आप ध्वनि की स्थिति हर फ्रेम में बदल सकते हैं। मुझे लगता है कि मुझे कुछ याद आ रहा है।
कम्युनिस्ट डक

6
मुझे लगता है कि वह ध्वनियों को उत्पन्न करने के लिए वायु तरंगों और अन्य स्पंदनों का अनुकरण कर रहा है। और सुनिश्चित करें कि यह संभव है, लेकिन कोई कंप्यूटर (शायद कुछ सुपर कंप्यूटर क्लस्टर को छोड़कर) वास्तविक समय में किसी भी उपयोगी आकार के स्थान के लिए गणना कर सकता है, इसलिए नहीं, यदि आपका मतलब है कि ऐसी कोई चीज नहीं है (और न ही कोई वास्तविक आवश्यकता है, उपयोग करें) भौतिकी इंजन और टकराव डेटा पढ़ने के लिए एक उपयुक्त नमूना "करीब पर्याप्त" है)।
एलवा

3
यदि आप उस उन्नत को प्राप्त करना चाहते हैं, तो न केवल वहाँ है) जैसा कि Yourdoom ने कहा, कोई तरीका नहीं जो एक सामान्य कंप्यूटर कर सकता था, और b) कोई भी अंतर बताने में सक्षम नहीं होगा।
कम्युनिस्ट डक

3
अभी भी बहुत कुछ ऐसा है जो आधुनिक गेम करते हैं (और उच्च-स्तरीय एपीआई जैसे एफएमओडी प्रदान करते हैं) जो ओपनल नहीं कर सकता है, या कम से कम बॉक्स से बाहर नहीं करता है - जैसे (ज्यामितीय) वॉल्यूम-आधारित प्रभावकार, जो अतिरिक्त रूप से आदी हो सकते हैं कई कमरों से गुजरने वाले ऑडियो का अनुकरण करने के लिए पोर्टल के लिए। यह आम नहीं है, लेकिन यह किया जाता है, और आप अंतर बता सकते हैं।

4

फिया एक "भौतिक नमूनाकरण" आधारित टकराव ऑडियो सिंथेसिस लाइब्रेरी है जिसे गेम भौतिकी इंजन द्वारा संचालित किया जा सकता है। (उदाहरण में बुलेट का उपयोग किया गया था)

http://www.zenprobe.com/phya/

निश्चित नहीं है कि नवीनतम क्या है, अंतिम साइट अपडेट अब साल भर पहले हो गया है।

यह एक वॉल्यूम में हवा के प्रतिध्वनि के मॉडलिंग प्रतिध्वनि के लिए बहुत अधिक तैयार नहीं है, लेकिन शायद भौतिक विज्ञान से वास्तविक समय के ऑडियो संश्लेषण को कैसे चलाया जाए, इसका एक अच्छा उदाहरण हो सकता है।

मुझे लगता है कि यह एक असंभव सीपीयू-महंगा उपक्रम होने की आवश्यकता नहीं है, कहा गया समस्या पूरी तरह से नियतात्मक है और आधुनिक हार्डवेयर पर प्राप्त होना चाहिए। (कम से कम एक मनोरंजन / सीखने के उत्पाद के लिए उपयुक्त स्तर पर।)

जवाब देने के लिए सवाल यह है कि आपको पूरी तरह से अनुकरण करने की आवश्यकता है, और आप कितना नकली हो सकते हैं? ऑडियो के लिए बस किसी प्रकार की ध्वनि के वास्तविक समय में ध्वनि का उचित तरीके से उपयोग करने से आपको अणु के नीचे ध्वनिक स्पंदनों के बिना बहुत कुछ मिलता है।

शायद यह मदद करता है। अच्छा सवाल है, बी.टी.वी.

-जे


मैं बहुत कुछ नकली कर सकता हूं। बस ... समकालीन वीडियो गेम से बहुत कम। कौन सा बिंदु है: मैं एक वीडियो गेम नहीं बना रहा हूं, लेकिन एक ऑडियो गेम। किंडा।
फेलिक्स सपरेली

3

वास्तव में यहाँ शामिल भौतिकी का एक सटीक अनुकरण हॉक या बुलेट जैसी रन-ऑफ-द-मिल भौतिकी प्रणाली की तुलना में काफी अधिक जटिल (और कम्प्यूटेशनल रूप से महंगा) होगा। एक पारंपरिक भौतिकी प्रणाली को कठोर निकायों और नरम निकायों के लिए अनुकूलित किया जाता है, दोनों गति के कारणों के लिए अपने जाल जटिलता में सीमित हैं।

दूसरी ओर ध्वनि, हवा के माध्यम से तरंगों का एक प्रसार है, और आपके उदाहरण की तरह कुछ द्वारा उत्पन्न आवृत्तियों टन और गुणों के टन पर निर्भर हैं। यह किस सामग्री से बना है? उस सामग्री के साथ बातचीत करने वाले वायु कणों के लिए हमें किस गणितीय मॉडल का उपयोग करना चाहिए? यदि यह एक ट्यूब आकार है, तो ट्यूब के आयाम क्या हैं? (यह प्रतिध्वनि आवृत्ति निर्धारित करता है।) आदि, आदि।

इस सब के शीर्ष पर, आपको हवा को मॉडल करने के लिए एक बहुत ही परिष्कृत कण सिमुलेशन चलाने के लिए मिला है, साथ ही साथ कण गतियों की तरंगों को निकालना है जो अनिवार्य रूप से ध्वनि तरंगें हैं जो आपके झुंड को मारती हैं। और आइए हम ईयरड्रम्स का भी उल्लेख नहीं करते हैं, क्योंकि आपके कान नहर में तरंगों की प्रतिध्वनि, जो आप सुनते हैं, को भी प्रभावित करती है।

सभी के सभी, यह वर्तमान खेल के प्रदर्शन के लिए बहुत अधिक अनुकरण है, खासकर यदि आपके पास एक इंटरैक्टिव फ्रेम दर की कोई उम्मीद है। जैसा कि deft_code ने कहा, खेल शायद ही कभी सही सिमुलेशन होते हैं, बल्कि शानदार ढंग से नकली होते हैं। यह दृष्टिकोण करने का सबसे अच्छा तरीका शायद एक बड़े ध्वनि नमूना सेट के साथ शुरू करना और एक डीएसपी के माध्यम से चीजों को चलाना शुरू करना है जब तक आपको समझ नहीं आता कि आप उन ध्वनियों के प्रभाव को कैसे प्रभावित कर सकते हैं। डीएसपी निश्चित रूप से वास्तविक समय के खेल के लिए पर्याप्त तेज़ हैं, और यदि ध्वनि एक बड़ा घटक होगा तो यह आपके फ्रेम समय के एक अच्छे हिस्से को ध्वनि प्रसंस्करण के लिए समर्पित करने के लिए समझ में आता है।

tl; dr: सटीक सिमुलेशन आने वाले कई वर्षों के लिए सवाल है। महान खेल इसे नकली। एक बड़े पर्याप्त नमूना सेट और पर्याप्त डीएसपी के साथ आप शायद इसे भी नकली बना सकते हैं।


2

हमारे दृष्टिकोण की जाँच करें।

http://dsp.agh.edu.pl/en:research:rayav

विकसित पुस्तकालय यथार्थवादी ऑडियो कर्षण के साथ उपयोगकर्ता प्रदान करने के लिए बीमरिंग का उपयोग करता है। सभी ऑडियो प्रभाव एक दिए गए खेल स्तर के वास्तविक ज्यामिति के साथ-साथ इसके ध्वनिक गुणों (ध्वनिक सामग्री, वायु क्षीणन) पर आधारित हैं। खेल के चरित्र और ध्वनि स्रोतों की गति के साथ-साथ ध्वनि में परिवर्तन होता है। साउंड पाथ क्रिएशन एल्गोरिथम स्पेक्युलर रिफ्लेक्शन, डिफ्यूज़ रिफ्लेक्शन और एज डिफ्रेक्शन जैसी घटनाओं को सपोर्ट करता है, जबकि ऑडियो प्रोसेसिंग सिग्नल फिल्टरिंग (मॉडलिंग एयर डंपिंग, रिफ्लेक्शन / डिफ्रेक्शन इफ़ेक्ट वगैरह) को सपोर्ट करता है, डॉपलर इफ़ेक्ट मॉडलिंग और स्पैटियल इफेक्ट्स। अंत में प्रत्येक साउंडपथ प्रति HRTF का उपयोग करके दिशात्मक ध्वनि को लागू किया जाता है।


0

मुझे एहसास है कि यह एक पुराना सवाल है, लेकिन पिछले कुछ वर्षों में चीजें आगे बढ़ रही हैं, और आप जो भी वर्णन कर रहे हैं वह अधिक से अधिक व्यवहार्य, कम्प्यूटेशनल हो रहा है।

सिंथेसिस टूलकिट जैसे उपकरण निम्नलिखित प्रकार के प्रश्न का उत्तर देने के लिए उपयोग किए जाते हैं: "मेरे भौतिकी इंजन ने मुझे बताया कि बांसुरी इस तरह से और इस तरह से कंपन कर रही है। वह क्या नोट पैदा करता है?"

एक और बड़ा सवाल है, जिसका उत्तर दिया जाना चाहिए, हालांकि: "यह नोट श्रोता की स्थिति से कैसा लगता है?"

यह एक आम गलत धारणा है कि OpenAL जैसे ऑडियो API इसका ध्यान रखते हैं। वास्तव में, वे सब करते हैं जिसे स्थितीय ऑडियो कहा जाता है । वे ध्वनि प्रसार को मॉडल नहीं करते हैं : ध्वनि तरंगों और पर्यावरण के बीच बातचीत। ध्वनि प्रसार में प्रश्नों का उत्तर देना शामिल है:

  • क्या यह कमरा वहाँ के लिए पर्याप्त है जो ध्यान देने योग्य reverb हो?
  • या क्या कमरे में फर्नीचर ध्वनि को सबसे अधिक अवशोषित करता है?
  • जब मैं बाहर खड़ा होता हूं, तो क्या मुझे दूर की पहाड़ी से गूँज सुनाई देती है? पास की इमारत?
  • क्या ध्वनि लंबी दूरी पर फैलती है?
  • क्या श्रोता से ध्वनि स्रोत को छिपा (छिपा) लिया गया है?
  • यदि हां, तो क्या वैकल्पिक मार्ग हैं जो श्रोता तक पहुंचने के लिए ध्वनि तरंगों का उपयोग कर सकते हैं? शायद एक बंद दरवाजे के नीचे से, एक दालान के कोने के आसपास, या एक वेंट के माध्यम से?

फोनन एक ऑडियो-भौतिकी इंजन है जो इन सवालों का जवाब देता है। (पूर्ण प्रकटीकरण: मैं फोनन को विकसित करने में शामिल हूं।) फोनन के साथ, उपयोगकर्ता को मापदंडों (अवशोषण और बिखराव गुणांक) के एक बहुत छोटे सेट को निर्दिष्ट करने की आवश्यकता है । फोनन तब श्रोता के लिए ध्वनि प्रसार प्रभाव को आश्वस्त करने में सक्षम होने के लिए बस पर्याप्त गणना करता है।

फ़ोनॉन वर्तमान में एकता के लिए एक प्लगइन के रूप में उपलब्ध है। पीसी और मोबाइल के अलावा, फ़ोनॉन वीआर प्लेटफॉर्म जैसे ओकुलस रिफ्ट पर भी चल सकता है, और यह वहां भी ध्यान देने योग्य है।

उम्मीद है की यह मदद करेगा!


0

आपके प्रश्न को पढ़ते समय, मैं इसे दो तरीकों से अनुवादित कर सकता हूं।

  1. क्या कोई इंजन है जो भौतिक सिमुलेशन के आधार पर ध्वनियां बना सकता है? जैसे ईख में हवा बहती है, या हथौड़े से कोई प्रहार होता है?

गेमिंग में? ऐसा नहीं है कि मैंने सुना है।

  1. क्या कोई ऐसा इंजन है जो पहले से मौजूद ध्वनियों को बजाता है लेकिन उन्हें भौतिक जानकारी जैसे माइक्रोफोन से दूरी के आधार पर संशोधित करता है ताकि "सराउंड साउंड अनुभव" का अनुकरण किया जा सके?

हाँ! उन्हें "3 डी साउंड इंजन" कहा जाता है, जो एक प्रसिद्ध है, ओपन है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.