मैं मज़े के लिए एक मूल संगीत रचना प्रणाली बनाने के साथ चारों ओर घूम रहा हूं। मैं स्मृति में संगीत का प्रतिनिधित्व कर सकता हूं, लेकिन मैं (स्पष्ट रूप से) वास्तविक ध्वनि को आउटपुट करने में सक्षम होना चाहता हूं! मुझे वास्तव में परवाह नहीं है कि प्रारूप क्या है (MIDI, mp3, ogg, जो भी हो)। मैं सिर्फ प्रोग्राम में नमूने लोड करने और उन्हें सबसे आसान तरीके से खेलने में सक्षम होना चाहता हूं। मैंने समाधान के लिए चारों ओर खोज की है लेकिन जो भी मैं देख रहा हूं वह या तो है) मेरी जरूरतों के लिए बहुत जटिल (ओवरहेड-वार), बी) सक्रिय रूप से समर्थित नहीं है, या सी) अच्छी तरह से प्रलेखित नहीं है। मुझे ध्वनि आउटपुट का एक उदाहरण देखना चाहिए या अन्यथा, ऐसा करने के सबसे सरल तरीके पर कुछ दिशा।हास्केल में ध्वनि नमूना चलाने का सबसे आसान तरीका क्या है?
उत्तर
मै मैक ओएसएक्स पर एमआईडीआई का उपयोग करके और सिंपलसिंथ को ईवेंट भेजना समाप्त कर दिया। यह hmidi पैकेज और the bindings to OSX's CoreMIDI by bkomuves का उपयोग करके हासिल किया गया था। मुझे नवीनतम जीएचसी के साथ काम करने के लिए here से एचएमआईडीआई पैकेज का कांटा स्थापित करना पड़ा। मैंने फिर SimpleSynth स्थापित किया और ओएसएक्स पर Audio MIDI Setup उपयोगिता का उपयोग करके एक आईएसी चालक को सक्षम किया। मैं फिर स्थापित आईएसी चालक से सुनने के लिए SimpleSynth सेट करता हूं और enumerateDestinations
फ़ंक्शन को bkomuvres 'बाइंडिंग से CoreMIDI तक पहले उपलब्ध Destination
पर पकड़ने और send
का उपयोग करके पर भेजने में सक्षम था। यह एक सम्मोहन की तरह काम करता है!
हास्केल के साथ, आप अपने कोड से अन्य पुस्तकालयों/अनुप्रयोगों का उपयोग करके पूरी तरह से भाषा पर एक संभाल लेना चाहते हैं, हालांकि निम्न लिंक संगीत और ध्वनि के लिए पुस्तकालयों का एक लिंक है।
http://www.haskell.org/haskellwiki/Applications_and_libraries/Music_and_sound
एक और विचार C/C++ के साथ OpenAL के साथ परिचित पाने के लिए और फिर वहाँ से आप HOpenAL की संरचना (हास्केल OpenAL के बंधन जो वास्तव में OpenAL DLL/एसओ कॉल) से कुछ परिचित हैं जाएगा।
ओपनएएल पहले के लिए सीधा ट्यूटोरियल के साथ लिंक! http://enigma-dev.org/forums/index.php?topic=730.0;wap2
मुझे आशा है कि इस मदद करता है ...
आप Euterpea, जो Hackage पर नहीं है पसंद है, लेकिन स्थापित करने के लिए सुखद एहसास था और काफी वर्बोज़ प्रलेखन (यह एक परिचयात्मक हास्केल का प्रमुख हिस्सा है लगता है हो सकता है येल में पाठ्यक्रम)। अधिक लिंक/निर्देश खोजने के लिए शीर्ष पर मेनू में "Euterpea" शब्द पर होवर करें।
यह समाधान नहीं था जिसका उपयोग मैंने समाप्त किया, लेकिन इससे मुझे इसका नेतृत्व हुआ, इसलिए धन्यवाद! –
@ बेंजामिनकोवाच क्या आपको संभवतः याद है कि आपका समाधान क्या था? मैंने दस्तावेज़ों के माध्यम से एक नज़र डाली थी लेकिन वास्तव में ऑडियो चलाने के लिए कोई रास्ता नहीं दिख रहा था, केवल WAV फ़ाइल में प्रस्तुत करने की क्षमता। –
@ क्रिस अपने उत्तर में लिखे गए उत्तर पर एक नज़र डालें! –
- 1. आईओएस गेम्स में ध्वनि चलाने का सबसे सुविधाजनक तरीका?
- 2. बटन क्लिक होने पर ध्वनि चलाने का सबसे प्रभावी तरीका
- 3. सर्वर पक्ष पर जावास्क्रिप्ट चलाने का सबसे आसान तरीका
- 4. जावा में 'है' करने का सबसे आसान तरीका क्या है?
- 5. सबसे आसान तरीका?
- 6. ट्रिगर्स में निषेध करने का सबसे आसान तरीका क्या है?
- 7. WPF में एमपी 3 चलाने का सबसे आसान तरीका क्या है?
- 8. क्लाउड सर्वर में पायथन स्क्रिप्ट चलाने का सबसे आसान तरीका क्या है?
- 9. रूबी कार्यक्रम से 'बीप' ध्वनि बनाने का सबसे आसान तरीका क्या है?
- 10. हास्केल में वेब ऐप्स लिखने का सबसे आसान तरीका क्या है?
- 11. सबसे आसान तरीका RavenDB
- 12. structs की सरणी बनाने का सबसे आसान तरीका क्या है?
- 13. पीडीएफ से डेटा निकालने का सबसे आसान तरीका क्या है?
- 14. सी #: समय घटाने का सबसे आसान तरीका क्या है?
- 15. नियुक्ति बुकिंग वेबसाइट बनाने का सबसे आसान तरीका क्या है?
- 16. सबसे आसान तरीका
- 17. जावा: डेटाबेस में एक्सएमएल, सबसे आसान तरीका क्या है?
- 18. पायथन में कंप्यूटर माइक्रोफ़ोन तक पहुंचने का सबसे आसान तरीका क्या है?
- 19. स्थान प्रदर्शित करने का सबसे आसान तरीका?
- 20. फ़ाइल डाउनलोड करने का सबसे आसान तरीका?
- 21. फॉर्म रीसेट करने का सबसे आसान तरीका
- 22. ध्वनि नमूना पहचान पुस्तकालय/कोड
- 23. एक छवि खींचने का सबसे आसान तरीका?
- 24. रूटडेटा तक पहुंचने का सबसे आसान तरीका।
- 25. हास्केल में कुंजीपटलों का इंतजार करने के लिए इंतजार करने का एक आसान तरीका क्या है?
- 26. साइकिट में SelectKBest चलाने के बाद फीचर नाम प्राप्त करने का सबसे आसान तरीका
- 27. डेल्फी का उपयोग करके एचटीपी पोस्ट यूआरएल को कॉल करने का सबसे आसान तरीका क्या है?
- 28. एक पूर्णस्क्रीन बनावट का नमूना देने का सबसे अच्छा तरीका
- 29. यह पता लगाने का सबसे आसान तरीका है कि जावास्क्रिप्ट
- 30. बहुभाषी django साइट रखने का सबसे आसान तरीका है?
MIDI एक ऑडियो प्रारूप नहीं है। – leftaroundabout
@ बाएंअराउंडबाउट वास्तव में एक सहायक टिप्पणी नहीं है, अगर मैं MIDI डेटा में पढ़ सकता हूं और इसे वापस चला सकता हूं, तो यह मेरे साथ ठीक होगा। –
यदि आप लिनक्स या ओएसएक्स पर हैं, तो सबसे आसान तरीका स्मृति में ध्वनिफाइल लोड करना है (शायद 'libsndfile' का उपयोग करके) और इसे '/ dev/audio' पर लिखें। या 'sox' या इसी तरह के खोलें और क्या वह ऑडियो फ़ाइल चलाएं। –