जवाबों:
पूरे जवाब के साथ नहीं बल्कि उस मामले पर कुछ विचार।
आइए हार्डवेयर पक्ष पर एक नज़र डालें: योजनाबद्ध दुर्भाग्य से Pi B + के लिए सहायक नहीं है और Pi2 के लिए भी उपलब्ध नहीं है, इसलिए हम अभी के लिए B Rev 2.1 के साथ फंस गए हैं।
हेडफोन जैक का ऑडियो आउटपुट PWM द्वारा उत्पन्न किया गया है। RCM लो-पास फ़िल्टर के माध्यम से BCM2835 के GPIO पिन 40 और 45 के दाईं ओर से। ( योजनाशास्त्र , पेज 2 देखें )
दूसरी ओर एचडीएमआई पर ऑडियो डिजिटल रूप से प्रसारित किया जाता है। विकिपीडिया बताता है: "डिजिटल ऑडियो के लिए, अगर एक एचडीएमआई डिवाइस में ऑडियो है, तो बेसलाइन प्रारूप: स्टीरियो (असम्पीडित) एमएमएम को लागू करना आवश्यक है।" और वास्तव में पहले उल्लेखित PWM- आधारित एनालॉग ऑडियो एचडीएमआई कनेक्टर को फ़ीड नहीं है।
इसलिए अब हमने कुछ पुरानी खबरों को सत्यापित किया है: एनालॉग हेडफोन जैक बनाम डिजिटल एचडीएमआई। मेरे दृष्टिकोण से उन दोनों को अलग-अलग संबोधित किया जाना चाहिए और स्वतंत्र रूप से इस प्रकार भी (अर्ध - एक साथ)। अब PulseAudio
साउंड हार्डवेयर के एक स्रोत से कई टुकड़ों तक स्ट्रीम करने में सक्षम होना चाहिए। मुझे अभी भी आश्चर्य है कि इस बारे में वेब पर कुछ भी क्यों नहीं मिल रहा है।
मैं चाहूंगा कि मैं भी यही काम करूं। कम से कम मैं इस प्रवृत्ति के लिए कुछ विचारों के साथ योगदान करने की कोशिश करता हूं जो अंततः सहकारी विकास में उम्मीद करते हैं।
मेरे दिमाग में जो आता है, वह यह है कि हो सकता है (और) समानांतर में लोड किए गए ड्राइवर मॉड्यूल के दो उदाहरण हों, प्रत्येक एक सिग्नल मार्ग के लिए। हालाँकि इसके लिए नीचे दिए गए आदर्श नमूने में कुछ कर्नेल मॉड्यूल स्तर के मापदंडों की आवश्यकता होती है, प्रत्येक एक ALSA डिवाइस (एचडीएमआई के लिए नंबर 0 और नमूने में इयरफ़ोन के लिए 3)। फिर आप एक और दूसरे को कुछ ध्वनि भेज सकते हैं (या दोनों को कॉपी कर सकते हैं)।
Snd_bcm2835 मॉड्यूल स्रोत कोड होमपेज (साधारण पैच की व्यवहार्यता का मूल्यांकन करने के लिए) के लिए Google की कोशिश की, लेकिन कोई भाग्य (और समय) नहीं है, इसलिए मैंने अभी के लिए छोड़ दिया। यदि कोई स्रोत पाता है और लिंक का योगदान देता है, तो मैं उस पर फिर से गौर करूंगा।
ध्यान दें !!! निम्नलिखित कर्नेल मॉड्यूल लोड कमांड का केवल आदर्श नमूना है। वास्तविक रास्पबेरी पाई सॉफ्टवेयर में ऐसा कोई पैरामीटर (AFAIK) मौजूद नहीं है!
modprobe snd_bcm2835 out=hdmi alsa=0
modprobe snd_bcm2835 out=ear alsa=3