2011-03-02 9 views
16

मैं RTAudio + RTMidi और PortAudio + PortMidi पर एक नई परियोजना के लिए विचार कर रहा हूं जिसके लिए रीयलटाइम ऑडियो और मिडी प्रोसेसिंग की आवश्यकता है। क्या पुस्तकालयों का उपयोग करने वाले अनुभव वाले किसी को भी एक दूसरे की सिफारिश कर सकते हैं? क्यूं कर? मैं एक सी एपीआई पर एक सी ++ एपीआई पसंद करता हूं लेकिन यह निर्णय लेने के लिए मेरे लिए पर्याप्त नहीं है।आरटीऑडियो या पोर्टऑडियो, किस का उपयोग करना है?

+2

क्या आपको अंततः एक अच्छी लाइब्रेरी मिली? मेरे पास बिल्कुल वही समस्या है ... मैंने पोर्टऑडियो के साथ अभी कुछ प्रयोग किए हैं और यह काफी जटिल (बहुत कम स्तर) लगता है, इसमें एक आधिकारिक मंच (मुझे मेल सूची से नफरत है) की कमी है। RTAudio दस्तावेज की कमी है। [एसटीके] (https://ccrma.stanford.edu/software/stk/) परेशान _ # include_ नीति है। [जूस] (http://www.rawmaterialsoftware.com/juce.php) बहुत चीजें करता है, और यह वास्तव में रीयलटाइम ऑडियो/मिडी पर केंद्रित नहीं है। मैं एक बड़े समुदाय/दस्तावेज़ीकरण द्वारा समर्थित एक बनाए रखा क्रॉस-प्लेटफार्म लाइब्रेरी पर भरोसा करना चाहता हूं। –

+3

मैं आरटीयूडियो का उपयोग कर रहा हूं और यह ठीक काम कर रहा है लेकिन मैं अभी भी एक स्पिन के लिए पोर्टऑडियो लेना चाहता हूं। आरटीयूडियो का चयन करने का मुख्य कारण यह था कि इसमें सी के बजाय सी ++ एपीआई है और इसका उपयोग खुले ढांचे द्वारा किया जाता है, जिसे कभी-कभी मैं उपयोग करता हूं। –

उत्तर

12

मैं लंबे समय तक उस ज़रूरत के साथ एकदम सही मैच के लिए देख रहा हूं। अब मैं पसंद के लिए

  • बंदरगाह ऑडियो:

    • (+) भी wasapi के साथ काम कर (आर टी ऑडियो नहीं है!)
    • (+) बहुत सक्रिय परियोजना है, और कुछ अच्छा गुरु इसे विकसित कर रहे हैं)।
    • (+) कई बहुत सफल ऐप्स द्वारा उपयोग किया जाता है + सी ++ मूल नहीं है लेकिन एक बाध्यकारी है जो मुख्य शाखा में एकीकृत है (पिछले साल से मुझे लगता है)
    • (+) यह libsdnfile (जो) के साथ वास्तव में विश्वसनीय है है महान)
    • (-) यह देशी C++ नहीं है
    • (-) परियोजनाओं, कॉन्फ़िगर, एकीकरण बहुत कष्टप्रद है
    • (-) multiplateforme (Debian, OSX, सात के लिए अच्छी तरह से काम कर रहे: मेरे अपने अनुभव)
  • आरटी ऑडियो

    • (+) देशी C++,
    • (+) वास्तव में यह
    • प्राप्त करना आसान (-) कोई wasapi
    • (-) इतना सक्रिय नहीं

अन्य समाधान:

  • क्यूटी:

    • (-) भारी, नहीं वास्तव में क्या मैं के लिए देख रहा हूँ
    • (-) वास्तविक समय ऑडियो समर्थन हाल ही में और स्थिर नहीं
    • (+) यदि आप का उपयोग का उपयोग करने के लिए आसान QtCreator है (और कम दृश्य, और xcode के साथ कम से QtAddon का उपयोग कर यदि)
    • (+) मिडी एकीकृत
  • Juce:

    • जावा डिजाइन की तरह
    • भारी, मैं के लिए
    • सरल वास्तव में क्या देख रहा हूँ, और बहुत अच्छी तरह से काम नहीं कर रहा (प्रयुक्त पेशेवर ऑडियो)
    • मिडी एकीकृत, AIFF और लहर की फ़ाइल पढ़ने, और FLAC

अपडेट (10-04-2014): RtAudio v4.1.0 अब wasapi का समर्थन करता है।

+0

उत्तर के लिए धन्यवाद! थोड़ा ओओटी: आप इस तरह के काम के लिए किस आईडीई का उपयोग करते हैं? मैंने एक्सकोड, वीम, टेक्स्टमैट और/या मेकफ़ाइल का उपयोग किया है, लेकिन मेरे पास उन सभी के बारे में मिश्रित राय है। –

+2

वैसे भी यह एक पुराना धागा है: मैं खिड़कियों पर दृश्य का उपयोग करता हूं, या qt के लिए qtcreator। मैक पर मैं एक्सकोड का उपयोग करें। हालांकि बंदरगाह ऑडियो के लिए मैंने लिनक्स पर मेकफ़ाइल और जीएडिट का इस्तेमाल किया था। मैं कहूंगा: xcode और visual, great लेकिन आपके पास 2 प्रोजेक्ट फ़ाइलें हैं। यदि आप लिनक्स पर काम करते हैं तो आप मेकफ़ाइल (या स्कैन, या सेमेक जैसे टूल का उपयोग कर सकते हैं) वैसे भी यदि आप लिनक्स पर काम करते हैं, तो बस मैक और विंडोज़ (मिंगव के साथ) पर पोर्टेबल टूल ढूंढने का प्रयास करें और सब कुछ सही होना चाहिए । केमेक कठिन है लेकिन यदि आप इसे मास्टर करते हैं तो आप राजा हैं क्योंकि 1 प्रोजेक्ट, पूरी तरह से पोर्टेबल – dzada

2

यहां एक प्रासंगिक धागा है जो लिनक्स ऑडियो डेवेल सूची पर आया था। मेरे नए ऐप के लिए जो दृष्टिकोण मैं लेता हूं वह जैक के लिए कोड करना है और लिनक्स + जैक में मेरी सभी डिबगिंग करना है और फिर बंदरगाहों के लिए आरटीयूडियो का उपयोग करना जारी है।

सलाद!

Getting jack sample rate and buffersize with portaudio

+1

लिंक मर चुका है। क्या आपको एक नया संदर्भ मिल सकता है? मैं इसे पढ़ना चाहता हूं। क्षमा करें, इसे मिला: http://lists.linuxaudio.org/pipermail/linux-audio-dev/2012- मार्च/031944.html –

+0

लिंक अपडेट किया गया। उम्मीद है कि यह सही है। –

2

PortAudio जावा बाइंडिंग oversimplified हैं। उदाहरण के लिए, आप डिवाइस एक्सेस के लिए अनन्य मोड या साझा मोड सेट नहीं कर सकते हैं, जो शर्म की बात है क्योंकि यह प्रभावी रूप से आपके द्वारा 7 एमएमएस कम विलंबता को चुरा लेता है - खासकर अगर आप विंडोज 10 के तहत माइक्रोफोन इनपुट (जहां आम तौर पर कोई साझा एक्सेस आवश्यक नहीं है) को कैप्चर करते हैं। यदि आप आउटपुट में गिनते हैं, तो आप अपने माइक/सामान की निगरानी के लिए 14 एमएस आरटीटी पर हार जाते हैं।

आरटीऑडियो में अब WASAPI समर्थन है, लेकिन मुझे यकीन नहीं है कि यह पोर्टऑडियो के मुकाबले बेहतर है या नहीं। लेकिन क्या जावा बाइंडिंग हैं? सवाल में नहीं पूछा गया था, लेकिन मुझे अभी भी ... :)

एक और, बल्कि नई परियोजना XtAudio है। यह उपकरणों के लिए अलग-अलग सेट के रूप में उपकरणों के लिए विशेष और साझा पहुंच का खुलासा करता है और सामान्य रूप से एक बेहतर एपीआई समर्थन लगता है। ऐसा नहीं लगता कि यह MIDI को समर्थन देता है।

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