2010-02-04 12 views
6

मैं नियमों के एक साधारण सेट के आधार पर यादृच्छिक रूप से संगीत उत्पन्न करने के लिए एक प्रोग्राम लिखने की कोशिश कर रहा हूं। मैं चाहता हूं कि कार्यक्रम प्रत्येक नोट के लिए ऑडियो के साथ फ़ाइल रखने के विरोध में अपनी आवाजें उत्पन्न करने में सक्षम हो। क्या किसी को ऐसा करने का एक आसान तरीका पता है? ध्वनि पॉलीटोनल होने के लिए यह अच्छा होगा (लेकिन आवश्यक नहीं), और मैं सीमैं सी का उपयोग कर लिनक्स में एक स्वर कैसे चला सकता हूं?

+0

आप http://en.wikipedia.org/wiki/SuperCollider – JasonTrue

उत्तर

0

का उपयोग कर लिनक्स के लिए एक समाधान चाहूंगा, आप सी मिडी अनुक्रमक (जैसे MIDI Sequencer) खोजने का प्रयास कर सकते हैं। .au स्वरूपित ऑडियो फ़ाइलों को बनाने में भी देखें (यानी .au शीर्षलेखों और ध्वनि डेटा प्रारूप के लिए चश्मा देखें)। आप .wav प्रारूप का उपयोग करने में सक्षम नहीं होंगे क्योंकि प्लेबैक से पहले हेडर में भरने की आवश्यकता होती है।

5

मेरा सुझाव है कि आप PortAudio लाइब्रेरी आज़माएं। यह एक दुबला क्रॉस-प्लेटफार्म लाइब्रेरी है जो ऑडियो-आउटपुट कार्यक्षमता को सारणीबद्ध करती है।

यह छोटे उदाहरणों के समूह के साथ आता है। उनमें से एक एक साइन-लहर बजाता है, एक ही समय में साइन-तरंगों का एक गुच्छा निभाता है। चूंकि उदाहरण आपको पहले से 9 0% की ज़रूरत है, आपको अपने ऑडियो को आधे घंटे से भी कम समय में चलाना चाहिए।

संकेत: पोर्टऑडियो का सबसे अच्छा प्रलेखन हेडरफ़ाइल में है!

0

Here is an ALSA example जो एक शुद्ध साइन-वेव टोन बजाता है। आकस्मिक रूप से, मुझे लगता है, यह भी दर्शाता है कि आप सीधे एएलएसए लाइब्रेरी के खिलाफ ऐसा क्यों नहीं करना चाहते हैं।

+0

के लिए स्रोत देख सकते हैं इस दृश्य में अल्सा काफी भारी लग रहा है, अजीब बात यह है कि मुझे एक समान चीज़ का ओएसएस संस्करण बहुत अधिक समझ में आता है; यह यहां है "http://manuals.opensound.com/developer/singen.c.html"। यदि एक बात है तो मैंने इससे सीखा है कि यह लिनक्स के लिए ध्वनि के साथ काम करना थोड़ा उलझन में है। –

संबंधित मुद्दे

 संबंधित मुद्दे