পুলসৌডিওর জন্য ডিফল্ট ALSA ডিভাইস সেট করা হচ্ছে


8

আমি সম্প্রতি একটি বাহ্যিক সাউন্ডকার্ড / ড্যাক (ফাইও ই 17) পেয়েছি এবং বর্তমানে এটি আমার উবুন্টু 12.04 ইনস্টলেশনতে সঠিকভাবে কনফিগার করার চেষ্টা করছি। এটি USB এর মাধ্যমে প্লাগ ইন করার সময়, এটি অবিলম্বে স্বীকৃত এবং অডিও সেটিংসে একটি নতুন ডিভাইস হিসাবে প্রদর্শিত হবে। প্লেব্যাক বেশিরভাগ ক্ষেত্রে সূক্ষ্মভাবে কাজ করে (কিছু ছোট ভলিউম-সম্পর্কিত সমস্যা বাদে, যা এই প্রশ্নের ক্ষেত্রের বাইরে)।

যাইহোক, 24 বিট / 96 কেএইচজেড প্লেব্যাকটি পরীক্ষা করার চেষ্টা করার সাথে এর সাথে অডিও ফাইলটি খেলতে পেরে mplayerআমি একটি ছোট সমস্যার মুখোমুখি হয়েছি:

Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 96000 Hz, 2 ch, s24le, 4608.0 kbit/100.00% (ratio: 576000->576000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [pulse] 96000Hz 2ch s16le (2 bytes per sample)

আউটপুট থেকে দেখা যাবে, প্লে করা ফাইলটিতে 24 বিট / 96 কেএইচজেড অডিও রয়েছে যদিও এটি প্লেব্যাকের আগে 16 বিটে পুনরায় তৈরি করা হয়েছে। একই ফাইলটি প্লে করা aplayকারণটি দেখায়:

Playing WAVE 'sr003-02-2496.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo
aplay: set_params:1081: Sample format non available
Available formats:
- U8
- S16_LE
- S16_BE
- S32_LE
- S32_BE
- FLOAT_LE
- FLOAT_BE
- MU_LAW
- A_LAW

তবে, /proc/asound/card1/stream0হার্ডওয়্যারটি 24 বিট সমর্থন করে তা নিশ্চিত করে:

FiiO FiiO USB DAC-E17 at usb-0000:00:1a.0-1.1, full speed : USB Audio

Playback:
  Status: Running
    Interface = 3
    Altset = 1
    Packet Size = 388
    Momentary freq = 44100 Hz (0x2c.199a)
  Interface 3
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 32000, 44100, 48000, 96000
  Interface 3
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 32000, 44100, 48000, 96000

এই মুহুর্তে আমি লক্ষ্য করেছি যে সাউন্ড সেটিংসের হার্ডওয়্যার ট্যাবে আমি সাউন্ড কার্ডের জন্য দুটি পৃথক প্রোফাইল নির্বাচন করতে পারি: ডিজিটাল স্টেরিও (আইইসি 958) এবং অ্যানালগ স্টেরিও। এই দুটির মধ্যে স্যুইচিংয়ের ফলে কোনও পরিবর্তন ঘটেনি, যতদূর আমি বলতে পারি।

ALSA ডিভাইস উল্লেখ করা সাহায্য করে যদিও (যা aplay -Dhw:1,0 sr003-02-2496.wavঠিক কাজ করে এবং পুনরায় মডেলিং ছাড়াই ফাইলটি চালায়)। তবে যেহেতু পালসিউডিও কেবলমাত্র একটি ফাইও ডিভাইস / শব্দটি সেটিংসে ডুবিয়ে দেখায়, আমি নিশ্চিত না যে আমি কীভাবে পালসৌদিওকে ALSA ডিভাইসটি ব্যবহার করতে বলব hw:1,0। স্টার্টআপের সময় পলসৌদিও বন্ধ load-module module-alsa-source device=hw:1,0রেখে /etc/pulse/default.paফলাফল যুক্ত করা module.c: Failed to load module "module-alsa-source" (argument: "device=hw:1,0"): initialization failed.

সুতরাং, এটিই আমার পরিচিত প্রশ্নগুলি :

  • আমি কীভাবে নির্ধারণ করব যে আমি শব্দ সেটিংসে ফাইও ই 17 নির্বাচন করার সময় কোন ALSA ডিভাইসটি পালসৌদিও ব্যবহার করে?
  • আমার সাউন্ড সেটিংসে ফিজিও ই 17 নির্বাচন করার সময় আমি কীভাবে পুলসৌদিওকে ALSA ডিভাইস hw: 1,0 ব্যবহার করতে বলি?

আরও কিছু (আশাকরি সহায়ক) ডিবাগ তথ্য:


কি কি mplayerএবং aplayকমান্ড লাইন?
সিএল

@CL। আমি চালাচ্ছি mplayer -ao alsa:device=hw=1.0 sr003-02-2496.wavএবং aplay -Dhw:1,0 sr003-02-2496.wavসঠিক ডিভাইসটি ব্যবহার করতে, যদি আপনি এটিই জিজ্ঞাসা করেন তবে।
tmnt

আমি যে কলগুলি কাজ করে নি সেগুলি সম্পর্কে জিজ্ঞাসা করছিলাম। এবং আপনি কি পালস অডিও ব্যবহার করতে চান না?
সিএল

@CL। আহ, দুঃখিত, ঐ কোনো ফ্ল্যাগ ছাড়া শুধু লম্ব কল, যে হয় aplay sr003-02-2496.wavএবং mplayer sr003-02-2496.wav। এবং হ্যাঁ, সম্ভব হলে আমি পালস অডিও ব্যবহার করতে চাই।
tmnt

উত্তর:


8

দুটি প্রশ্নের উত্তর:

আপনি জিনোম ভলিউম নিয়ন্ত্রণ, প্যাভুকন্ট্রোল, বা কমান্ড লাইন ব্যবহার করে GUI এর সাথে পালস অডিওতে ডিফল্ট ডিভাইসটি নির্বাচন করতে পারেন pacmd set-default-sink

ডিফল্টরূপে, পালসআউডিও 44.1 kHz বা 48 kHz এর জন্য ডিভাইস খুলবে, যার যে কোনওটি পুনর্নির্মাণের প্রচেষ্টা কম করে (তাই 96 কেএইচজেড অডিও সাধারণত ডিভাইসটি 48 কিলাহার্টজ খোলার দিকে পরিচালিত করে Also এছাড়াও, আমরা ডিফল্টরূপে এস 16 এলএর জন্য ডিভাইসগুলি খুলি।

এখন, আপনার কাছে দুটি বিকল্প রয়েছে। আপনি যদি কেবল তাদের স্থানীয় ফর্ম্যাটটিতে কয়েকটি ফাইল খেলতে চান তবে paplay --passthrough <file>আপনার পক্ষে কাজটি করা উচিত। আপনি কোন ডিভাইসটি ব্যবহার করবেন তা নির্দিষ্ট করেও দিতে পারেন।

অন্য বিকল্পটি বিশ্বব্যাপী পিএকে 96/24 ব্যবহার করতে হবে। আপনি এটি /etc/pulse/default.conf( alternate-sample-rate = 96000, default-sample-format=s24-32le) এ পরিবর্তন করতে পারেন । এই হবে , যদিও বৃহত্তর CPU ব্যবহার হতে। সমস্ত ডিভাইসগুলির জন্য বিশ্বব্যাপী কনফিগারেশন প্রয়োগ করার পরে এটি কিছুটা নির্বোধ পরিস্থিতি। আমরা এক পর্যায়ে প্রতি-ডিভাইস কনফিগারেশন যুক্ত করার পরিকল্পনা করছি।

দ্রষ্টব্য, এর পরে, আপনার এমপিপ্লেয়ারের ALSA এবং তারপরে ALSA থেকে পালস অডিওতে আলাপ করার পরিবর্তে কেবল প্লেয়ারের পালস অডিও ব্যাকএন্ড ব্যবহার করা উচিত। আপনি mplayer -ao pulse ...এটির সাথে এটি করতে পারেন এবং যদি আপনি এটি স্থায়ীভাবে সেট আপ করতে চান তবে যোগ ao=pulseকরুন ~/.mplayer/config


আপনার সাহায্যের জন্য আপনাকে অনেক ধন্যবাদ! pacmd set-default-sinkকেবল আমাকে তালিকাভুক্ত সিন্কগুলির মধ্যে একটি সেট করতে দেয় pacmd list-sinks, তাই না? যদিও আমি আপনার উত্তরের দ্বিতীয় ভাগটি অনুমান করি যাইহোক যাইহোক প্রশ্নটি উত্সাহিত করে;) সুতরাং যদি আমি আপনাকে সঠিকভাবে বুঝতে পারি তবে পালসৌদিও 24 এবং 16 বিটের মধ্যে গতিশীল পরিবর্তন করতে সমর্থন করে না? আমার পরিবর্তন করার পরে default.conf, এমপ্লেয়ারটি এখনও ডালের হাতে হস্তান্তর করার আগে সবকিছুকে 16 বিটের আকারে পুনরায় নমুনা হিসাবে দেখায় যদিও ( এখানে দেখুন ), সিএল এর কারণেই। তার উত্তরে বর্ণনা আছে?
tmnt

ওহ, এবং paplayআমার অডিও ফাইলগুলি পছন্দ করে না বলে মনে হয় :) 24 বিট ফাইলটি খোলার ফলে সেগফল্ট হয়ে যায়Code should not be reached at pulsecore/sndfile-util.c:391, function pa_sndfile_readf_function(). Aborting. এবং 32 বিট ফাইল খেলেও পালসৌদিও ক্র্যাশ হয়ে যায়
tmnt

4

13.10 আপডেটের পরে পালসৌদিও এইচডিএমআই-এর কাছে ডিফল্ট হয়েছিল, সম্ভবত আমার মিনি-ডিসপ্লে পোর্টের মাধ্যমে আমার ল্যাপটপের (লেনভো টি 430 এস) সাথে আমার অতিরিক্ত মনিটর সংযুক্ত রয়েছে। Archlinux ওয়েবসাইট বা রিসেট করার একটি মিষ্টি ও সংক্ষিপ্ত উত্তর নির্ধারিত ডিফল্ট সেট করুন:

  • লগইন করুন এবং ডিফল্ট আউটপুট অ্যানালগ পরিবর্তন করুন

  • চালান

    $ আপ্লে-এল

এবং সন্ধান করুন যে এনালগটি কার্ড 0 is

  • চালান

    $ প্যাকএমডি তালিকা

এবং লাইনটি সন্ধান করুন:

active profile: <output:analog-stereo+input:analog-stereo>

"আউটপুট: অ্যানালগ-স্টেরিও + ইনপুট: অ্যানালগ-স্টেরিও" আমার প্রোফাইল নাম, তাই যুক্ত করুন

set-card-profile 0 output:analog-stereo+input:analog-stereo

/etc/pulse/default.pa এ এবং সংরক্ষণ করুন

  • পালসওদিও পুনরায় চালু করুন

2

অ্যাপ্লিকেশন এবং পালস অডিওর মধ্যে ইন্টারফেসে ব্যবহৃত নমুনা বিন্যাসটি পলস অডিও হার্ডওয়্যার ডিভাইস অ্যাক্সেস করার জন্য যে নমুনা বিন্যাসটি ব্যবহার করে তা এর সাথে সরাসরি সম্পর্কিত হয় না।

S24_3LEপালস অডিওর সমর্থিত অ্যাপ্লিকেশন ফর্ম্যাটগুলির একটি নয় ( aplayআউটপুটে প্রদর্শিত)। এ জাতীয় অস্বাভাবিক ফর্ম্যাটগুলির সাথে অ্যাপ্লিকেশনগুলিকে পালস অডিও সাথে চলার অনুমতি দেওয়ার জন্য আপনার ডিফল্ট পিসিএম ডিভাইসের প্রয়োজন হলে স্বয়ংক্রিয় ফর্ম্যাট রূপান্তর করে এমন একটি প্লাগইন যুক্ত করুন .asoundrc:

pcm.!default {
    type linear
    slave.pcm pulse
}

আপনার সহায়তার জন্য ধন্যবাদ, তবে আমি ভয় করি যে এটি কোনও পরিবর্তন করেনি। এমনকি আমার এই যোগ করার পরে .asoundrc, mplayerএখনও (অর্থাত আউটপুট এক আমার প্রশ্ন পোস্ট করা হিসাবে একই দেখায়) 16 বিট অডিও downsamples এবং /proc/asound/card1/stream0এখনও দেখায় ভুল altset ব্যবহার করা হচ্ছে। এটি যদি পিএ সমর্থিত ফর্ম্যাটগুলির সাথে আসলেই সমস্যা ছিল, mplayerতবে ALSA ডিভাইসটি নির্দিষ্ট করার পরেও অডিওটিকে ছোট করে দেখা উচিত নয় , যেহেতু এটি এখনও পুলসৌডিও ব্যবহার করে?
tmnt

aplayএখন কি কাজ করে? এটি একটি বাগ হিসাবে উপস্থিত হবে mplayer
সিএল

না, aplayএখনও একই আউটপুট সঙ্গে ব্যর্থ। আমি এখন লক্ষ্য করেছি যে default-sample-format = s24-32leআমার মধ্যে সেট করে .pulse/daemon.confআমি পিএকে সঠিক আউটপুট ডিভাইস ব্যবহার করতে বাধ্য করতে পারি। তবে, 24-বিট অডিও ফাইলটি চালানোর চেষ্টা করার mplayerপরেও অডিওটির পুনঃসংশোধন করে এবং aplayএখনও ব্যর্থ হয়, সুতরাং আমার অনুমান যে এটি কোনও সাহায্য করে না।
tmnt

2

আমি কেবলমাত্র একটি দ্রুত কাজ দেখতে পেলাম ইউএসবি'র মাধ্যমে সংযুক্ত আমার ফাইও ই 17 এর সাথে লুবুন্টু ট্রাস্টি তাহর ব্যবহার করে: আমি বিট্রেট সম্পর্কেও ভাবছিলাম, এই কারণেই আমি এই পোস্টগুলি এখানে পেয়েছি। তবে যেহেতু আমি বরং একটি পুরাতন নেটবুকটিতে সংগীত শুনি, তাই আমি ডিফল্টরূপে এটি 96/24 এ সেট করতে চাইনি (সিপিইউ সবচেয়ে দ্রুত নয়) তবে, আমার জন্য যা কাজ হয়েছিল তা ছিল ভিএলসি ব্যবহার করা এবং বিশেষজ্ঞ অডিও সেটিংসে নির্দিষ্ট করা আউটপুটটির জন্য ALSA মডিউলটি ব্যবহার করতে এবং তারপরে নিম্নলিখিত আউটপুট ডিভাইসটি ব্যবহার করুন: "ফাইও ইউএসবি ড্যাক-ই 17, কোনও রূপান্তর ছাড়াই ইউএসবি অডিও ডাইরেক্ট হার্ডওয়্যার ডিভাইস"

এইভাবে, আমি যখন চাইতাম তখন আমি ফিজিওর ওপরে ইউএসবিতে 96/24 শব্দটি আউটপুট করতে সক্ষম হয়েছি (ফাইওর ছোট পর্দায়ও দেখায়) - এবং আমাকে ওএসে আরও কিছু মৌলিক পরিবর্তন করতে হবে না। শ্রুতিমধুর বা ব্রাউজারগুলির মতো খেলোয়াড়রা এখনও ডিফল্ট পলসৌদিও আউটপুট ব্যবহার করে। কখনও কখনও ভিএলসি বলে যে ডিভাইসটি ইতিমধ্যে ব্যবহার করা হচ্ছে - তবে কেবলমাত্র দুর্বৃত্তের মতো অন্য কোনও সফ্টওয়্যার বন্ধ করুন, এটি যেমন পালসওডিও আউটপুট ব্যবহার করছে এবং এটি কাজ করা উচিত should

শুভেচ্ছা, Andi


আরও দেখুন: Askubuntu.com
প্রশ্নগুলি

1

এই প্রশ্নের সঠিক উত্তর এখানে:

আর্কউইকি থেকে

আপনি যে ALSA hw ডিভাইসটি ব্যবহার করতে চান তা নির্ধারণ করুন। তারপরে এটি আপনার ডিফল্ট.পিএ ফাইলে যুক্ত করুন। (আপনার ডিভাইস অনুসারে 0,0 পরিবর্তন করুন))

load-module module-alsa-sink device=hw:0,0

1

যোগ load-module module-alsa-source device=hw:1,0করা /etc/pulse/default.paসঠিক পদ্ধতির হয়। তবে, ডিভাইসের সংঘাত এড়াতে নিম্নলিখিত মডিউলগুলি লোড করতে হবে ( initialization failedত্রুটিটি আপনি পেয়েছেন):

  • মডিউল-udev দ্বারা সনাক্ত
  • মডিউল সনাক্ত

আপনার একটি যত্ন সহকারে দেখুন /etc/pulse/default.paএবং সরান লাইনগুলিতে সেই মডিউলগুলি রয়েছে। এছাড়াও, এই ক্ষেত্রে ডিভাইসগুলি স্বয়ংক্রিয়ভাবে সনাক্ত করা যায় না, সুতরাং আপনি module-alsa-sinkনিজে একটি সিঙ্ক নির্দিষ্ট করতে লোড করতে চান want


যদি কেবল ক্যাপচার (উত্স) ডিভাইসগুলি ম্যানুয়ালি লোড করা হয় তবে সেখানে কি কোনও দ্বন্দ্ব সনাক্তকারী প্লেব্যাক (সিঙ্ক) পাওয়া যাবে?
লুকাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.