এইচডিএমআই-এর 7.1 সারাউন্ড সাউন্ডের জন্য আমি পালস অডিওকে কীভাবে কনফিগার করব?


10

আমি আমার মেশিনটি একটি প্রাপকের সাথে এইচডিএমআই এর সাথে সংযুক্ত করেছি। কিন্তু যখন আমি পালস অডিও সাথে দুটিরও বেশি চ্যানেল ব্যবহার করার চেষ্টা করি তখন আমি কেবল দুটি পাই। pacmd list cardsকার্ড দেখায় তবে দুটিরও বেশি চ্যানেল সহ একটি এইচডিএমআই প্রোফাইল প্রদর্শন করে না।

আমি নিশ্চিত করেছি যে 7.1 শব্দ ALSA এর মাধ্যমে কাজ করে:

pasuspender -- speaker-test -D hdmi -c 8 -m FL,FC,FR,RR,RRC,RLC,RL,LFE

স্ট্যাটিক উত্পাদন করে যা ঘরের চারপাশে যায়।

উত্তর:


20

পালস অডিওতে, প্রতিটি সাউন্ড কার্ডের সাথে একটি প্রোফাইল সেট যুক্ত থাকে। কোনও প্রোফাইল সেটে একাধিক প্রোফাইল থাকে এবং সেগুলি হ'ল প্রোফাইলগুলি যা আপনি কার্ডগুলি তালিকাভুক্ত করার সময় (বা বিভিন্ন পালস অডিও জিওআইগুলিতে সন্ধান করার সময়) দেখেন।

একটি defaultপ্রোফাইল আছে, যা প্রাথমিকভাবে এনালগ শব্দ আউটপুট জন্য দরকারী জিনিস থাকে। এছাড়াও এমন একটি extra-hdmiপ্রোফাইল রয়েছে যা কিছু স্বয়ংক্রিয়ভাবে কিছু এইচডিএমআই আউটপুটগুলিতে প্রয়োগ করা হয় এবং 5.1 পর্যন্ত বিকল্প দেয়। দু'টি প্রোফাইলই দুর্ভাগ্যক্রমে /usr/share/pulseaudio/alsa-mixer/profile-sets, এবং সুতরাং আপনি এগুলি সত্যিই সম্পাদনা করতে পারবেন না ( এটি সম্পর্কে আমি ডিবাগ বাগ 736708 দায়ের করেছি )) ডকুমেন্টেশন অনুসারে আপনি ইউদেব-ভিত্তিক অটোডিস্কোভারি অক্ষম করতে পারবেন, এবং ম্যানুয়ালি সবকিছু কনফিগার করতে পারেন - যা আপনাকে নির্দিষ্ট করে দেয় একটি প্রোফাইল পুরো পথ। তবে দেখা যাচ্ছে যে এটি নথিভুক্ত না হওয়ার পরেও ইউদেবও একটি পুরো পথ নির্দিষ্ট করতে পারে।

একটি প্রোফাইল সেট বরাদ্দ করতে একটি udev নিয়ম সেট আপ করুন

আপনি PULSE_PROFILE_SETউদেব পরিবেশে পরিবর্তনশীল সেট করে একটি ওদেব নিয়মে একটি প্রোফাইল সেট বরাদ্দ করেন । এটি পূর্বোক্ত /usrউপ-ডিরেক্টরিতে কেবল একটি ফাইল নেওয়ার জন্য ডকুমেন্টেড , তবে একটি পুরো পথও কাজ করে। আমার ক্ষেত্রে, আমি এই নিয়ম তৈরি করেছি:

# cat /etc/udev/rules.d/95-local-pulseaudio.rules 
ATTRS{vendor}=="0x8086", ATTRS{device}=="0x1c20", ENV{PULSE_PROFILE_SET}="/etc/pulse/my-hdmi.conf"

আপনার উপযুক্ত পিসিআই বিক্রেতা এবং ডিভাইস নম্বরগুলি ব্যবহার করতে হবে, যা আপনি সহজেই এগুলি থেকে পেতে পারেন lspci -nn

উদেব নিয়ম তৈরির পরে, আপনি এটির সাথে সাথে এটি প্রয়োগ করতে পারেন udevadm trigger -ssound। আপনি সম্ভবত নিজের ইন্সট্রামগুলিও পুনর্নির্মাণ করতে চাইবেন ( update-initramfs -u)

নিশ্চিত করুন যে উদেব বিধি কার্যকর হয়েছে udevadm info --query=all --path /sys/class/sound/card0(অবশ্যই যথাযথ কার্ড নম্বর ব্যবহার করুন)। আপনি E: PULSE_PROFILE_SET=/etc/pulse/my-hdmi.confআউটপুট দেখতে হবে । যদি না হয় তবে চালিয়ে যান না। এটি কাজ করবে না। আপনার উদেব বিধিগুলির সাথে কিছু ভুল (বা সম্ভবত আপনি তাদের ট্রিগার করেননি — আপনি সর্বদা পুনরায় চালু করার চেষ্টা করতে পারেন)।

/Etc/pulse/my-hdmi.conf ফাইলটি তৈরি করুন

দ্রষ্টব্য: চ্যানেল মানচিত্রটি দৃশ্যত সিস্টেম-নির্দিষ্ট। আপনার সিস্টেমে এটি সঠিক করার জন্য আপনাকে পরীক্ষা করতে হবে। আমি ভাগ্যবান ছিলাম, আমার 7.1 লেআউটটিতে কেবল 5.1, 4.0 ইত্যাদি তৈরির জন্য চূড়ান্ত আইটেমগুলি বাদ দেওয়া অন্তর্ভুক্ত রয়েছে Inst নির্দেশাবলী নীচে রয়েছে।

এটি বেশিরভাগ অনুলিপি এবং পেস্ট। প্রতিটি বিভাগ (ক) নাম, (খ) বিবরণ, (গ) চ্যানেল মানচিত্র, (d) [alচ্ছিক] অগ্রাধিকারে পৃথক।

[General]
auto-profiles = yes

[Mapping hdmi-stereo]
device-strings = hdmi:%f
channel-map = front-left,front-right
description = Digital Stereo (HDMI)
priority = 4
direction = output
paths-output = hdmi-output-0

[Mapping hdmi-surround-40]
device-strings = hdmi:%f
channel-map = front-left,front-right,rear-left,rear-right
description = Digital Quadrophonic (HDMI)
priority = 1
direction = output
paths-output = hdmi-output-0

[Mapping hdmi-surround-51]
device-strings = hdmi:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
description = Digital Surround 5.1 (HDMI)
priority = 2
direction = output
paths-output = hdmi-output-0

[Mapping hdmi-surround-71]
description = Digital Surround 7.1 (HDMI)
device-strings = hdmi:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
priority = 3
direction = output
paths-output = hdmi-output-0

এখন, এটি পরীক্ষা করতে:

  1. পালস অডিওকে পুনঃসূচনা করুন: pulseaudio -kআপনার সাধারণ ব্যবহারকারী হিসাবে ধরে নেওয়া হচ্ছে আপনি প্রতি ব্যবহারকারী ডেমোন ব্যবহার করছেন (ডিফল্ট)। এটি আবার শুরু করুন, এমনকি একটি সাধারণ aplay -lকাজ করবে।
  2. 7.1 প্রোফাইলে স্যুইচ করুন। ব্যক্তিগতভাবে, আমি এটি করতাম pactl set-card-profile 0 "output:hdmi-surround-71", তবে একটি জিইউআইও পুরোপুরি ভালভাবে কাজ করবে।
  3. চালান speaker-test -c 8 -t w। এটি স্পিকারের নামগুলি ঘোষণা করা উচিত, আশা করি প্রতিটি স্পিকারের সঠিক নাম। যদি এটির নামটি সঠিক স্পিকার থেকে না আসে তবে আপনাকে সঠিক করতে চ্যানেল-মানচিত্রটি পরিবর্তন করতে হবে। প্রতিটি চ্যানেলের মানচিত্র পরিবর্তনের পরে আপনাকে অবশ্যই পালস অডিওকে পুনরায় চালু করতে হবে।

বোনাস! আরও দরকারী সেটিংস

ইন /etc/pulse/daemon.conf, এখানে কয়েকটি সেটিংস রয়েছে যা আপনি পরিবর্তন করতে চাইতে পারেন:

enable-remixing- যদি এটি চালু থাকে তবে একটি স্টেরিও সিগন্যালে তার বাম চ্যানেলটি আপনার তিনটি বাম স্পিকারের বাইরে চলে যাবে এবং ডান চ্যানেলটি আপনার ডান স্পিকারের বাইরে থাকবে। যদি বন্ধ থাকে তবে তা সামনের দুটি সামনেই আসবে। নোট করুন যে আপনি প্রোফাইলটিকে স্টেরিওতেও পরিবর্তন করতে পারবেন (কেবলমাত্র এইচডিএমআই পোর্টের স্টেরিও সাউন্ড প্রেরণ করতে এবং আপনার রিসিভারকে কীভাবে এটি স্পিকারে মানচিত্র করা যায় তা সিদ্ধান্ত নিতে দিন)।

enable-lfe-remixing - অনুরূপ, তবে এলএফই (সাবওয়ুফার) চ্যানেলে রিমিক্স করার জন্য।

default-sample-format- যদি আপনার এইচডিএমআই সেটআপ 16-বিট অডিওর চেয়ে বেশি সমর্থন করে তবে আপনি এটি s32le(ডিফল্ট থেকে s16le) বাড়িয়ে দিতে চাইতে পারেন ।

default-sample-rate, alternate-sample-rate- আপনি বেশিরভাগ ডিভিডি-উত্স উপাদানটি ব্যবহার করেন যা সাধারণত 48KHz হয় these অথবা, যদি আপনার এইচডিএমআই রিসিভার সমর্থন করে তবে আপনি 192KHz পর্যন্ত যেতে পারবেন। মনে রাখবেন যে 176KHz এর 44.1 এবং 48KHz উভয়ের একাধিক হওয়ার এক দুর্দান্ত সম্পত্তি রয়েছে। আপনার রিসিভার কী সমর্থন করে তা নির্ধারণের জন্য নীচে দেখুন

default-sample-channels- আসলে মনে হয় না। প্রোফাইল সম্ভবত এটিকে ওভাররাইড করে ...

স্বাভাবিকভাবেই, এই ফাইলটি পরিবর্তন করার পরে আপনাকে পালস অডিও পুনরায় চালু করতে হবে।

আবার বোনাস! আপনার রিসিভার কী সমর্থন করে তা দেখে

এমন একটি eld.*ফাইল রয়েছে /proc/asoundযা আপনাকে জানায় যে এইচডিএমআই লিঙ্কের অন্য প্রান্তটি কী সমর্থন করে বলে দাবি করে। উদাহরণ স্বরূপ:

# cat /proc/asound/card0/eld#3.0 
monitor_present         1
eld_valid               1
monitor_name            TX-SR606
connection_type         HDMI
eld_version             [0x2] CEA-861D or below
edid_version            [0x3] CEA-861-B, C or D
manufacture_id          0xcb3d
product_id              0x863
port_id                 0x0
support_hdcp            0
support_ai              1
audio_sync_delay        0
speakers                [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count               8
sad0_coding_type        [0x1] LPCM
sad0_channels           2
sad0_rates              [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad0_bits               [0xe0000] 16 20 24
sad1_coding_type        [0x1] LPCM
sad1_channels           8
sad1_rates              [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad1_bits               [0xe0000] 16 20 24
sad2_coding_type        [0x2] AC-3
sad2_channels           8
sad2_rates              [0xe0] 32000 44100 48000
sad2_max_bitrate        640000
sad3_coding_type        [0x7] DTS
sad3_channels           8
sad3_rates              [0xc0] 44100 48000
sad3_max_bitrate        1536000
sad4_coding_type        [0x9] DSD (One Bit Audio)
sad4_channels           6
sad4_rates              [0x40] 44100
sad5_coding_type        [0xa] E-AC-3/DD+ (Dolby Digital Plus)
sad5_channels           8
sad5_rates              [0xc0] 44100 48000
sad6_coding_type        [0xb] DTS-HD
sad6_channels           8
sad6_rates              [0x1ec0] 44100 48000 88200 96000 176400 192000
sad7_coding_type        [0xc] MLP (Dolby TrueHD)
sad7_channels           8
sad7_rates              [0x1480] 48000 96000 192000

সুতরাং আপনি দেখতে পাচ্ছেন যে আমার রিসিভারটি 8 টি চ্যানেল, 192 কেএইচজেড, 24-বিট সাউন্ডে এলপিসিএম (লিনিয়ার পিসিএম, অর্থাৎ সঙ্কুচিত অডিও) সমর্থন করে। এটি এসি 3, ডিটিএস, ডিএসডি, ডিডি +, ডিটিএস-এইচডি এবং ডলবি ট্রুএইচডি সমর্থন করে। সুতরাং যদি আমার কাছে ফাইলগুলি এনকোড করা থাকে তবে আমি সেই ফর্ম্যাটগুলি দিয়ে যেতে পারি (যদি আমার মিডিয়া প্লেয়ার এটি সমর্থন করে তবে অবশ্যই এটি করবে mpv)।


এর জন্য এক মিলিয়ন ধন্যবাদ, সেটআপটি নিয়ে কিছুক্ষণ লড়াই করে যাচ্ছেন। আমার জন্য উদেব বিধিগুলি প্রথমে প্রয়োগ হয় নি, তার জন্য আমাকে পিসি পুনরায় চালু করতে হবে। যদিও একটি সমস্যা .. @ডারবার্ট দেখে মনে হচ্ছে আমি এক্স 265, 7.1 অডিও স্ট্রিমটি পাসস্ট্রো করতে পারি না। আমাকে কেবল এটি পিসি ব্যবহার করে ডিকোড করতে হবে এবং অডিও স্ট্রিম স্থানান্তর করতে হবে। (আমার রিসিভার যদিও 5.1 হয়) আপনার কি কোনও পরামর্শ আছে? ধন্যবাদ!
ডিমুথু

@ ডিমুথু এইচ .265 (x265) একটি ভিডিও কোডেক, অডিও কোডেক নয়। নোট করুন যে পালস অডিওকে কেবল পাস করার জন্য সীমিত সমর্থন রয়েছে, এটি সক্ষম করা দরকার (জিইউআইয়ের সাথে সহজতম) এবং এটি স্টেরিওতে সেট করার প্রয়োজন হতে পারে (চ্যানেল গণনাতে কোনও বাস্তব সীমা নয়, কীভাবে কাজ করে যায় তার একটি বাস্তবায়ন বিশদ) )। আমি বিশদ সহ কোডি উইকির একটি পৃষ্ঠা মনে করি।
ডারোবার্ট

1
@ ডিমুথু (দ্বিতীয় মন্তব্যের জন্য দুঃখিত, এসই অ্যাপ্লিকেশনটি সম্পাদনার চেষ্টা করছে ...) আমি অনুমান করি যে 5.1 রিসিভার কেবলমাত্র এসি 3 এবং ডিটিএস সমর্থন করে। উদাহরণস্বরূপ, এএসি নয়। যদি না এটি আপনাকে রিসিভারটিতে কিছু বৈশিষ্ট্য ব্যবহার করতে দেয় তবে আপনি মাল্টিচেনাল পিসিএম দিয়ে ব্যবহার করতে পারবেন না, এটি পাস করার মতো খুব বেশি পয়েন্ট নয়। কমপক্ষে HDMI এর চেয়ে বেশি নয়।
derobert

হ্যাঁ আপনি ঠিক বলেছেন, আমি পালস অডিওকে স্টেরিও এইচডিএমআই সেট করে অডিও পেরিয়ে যাচ্ছি। এই একমাত্র উপায় আমি প্রাপকের কাছে বিটস্ট্রিম অডিও পেতে পারি। এছাড়াও এএসি সম্পর্কে একটি খনন করেছিলেন এবং যদিও ইয়াহামা তাদের চশমা সম্পর্কে কোনও উল্লেখ করেননি, আমি অনলাইনে কিছু প্রমাণ পেয়েছি যা এটি কেবল উচ্চতর শেষের মডেলগুলিতেই উপলব্ধ figure আমি কি এইচটিপিসি ব্যবহার করে ডিকোড করে এতগুলি বিবরণ হারিয়ে ফেলছি? আমি এটি 7.1Ch / 192KHz, 24-বিট সেট আপ করেছি। ধন্যবাদ!
dimuthu

@ ডিমুথু আপনার পিসিতে ডিকোডিং করে যতক্ষণ না পলস অডিওতে যুক্তিসঙ্গত মানের হারের রূপান্তরকারী সেট থাকে আপনি কিছু হারাবেন না। ঠিক আছে, কিছু সিপিইউ সময় ব্যতীত কিছুই নয় (বিশেষত সেই নমুনা হারে, যা সন্দেহাতীত উত্সের উপাদানকে ছাড়িয়ে যায়)
ডেরোবার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.