ระดับเสียงต่ำบนแล็ปท็อป Lenovo ภายใต้ Fedora


11

ฉันมีปัญหาในการได้ยินอะไรก็ตามภายใต้ Fedora 16 ใน Lenovo T520 นี้ ทุกอย่างใน alsamixer อยู่ที่ 100% (ทั้ง pulseaudio และการ์ด) ฉันติดตั้ง Windows 7 บนแล็ปท็อปเพื่อตรวจสอบว่าปัญหาเดียวกันนี้ปรากฏบน windows ใช่หรือไม่

ไม่มีใครรู้วิธีจัดการกับเรื่องนี้? ฉันรำคาญกับปัญหานี้มาเกือบปีแล้ว แต่ตอนนี้มีคลื่นความร้อนบนชายฝั่งตะวันออกฉันต้องทำงาน AC ของฉันอย่างเต็มที่และฉันไม่สามารถได้ยินเสียงอะไรเลยเมื่อเปิดเครื่อง

ภายใต้ความกล้าหาญฉันสามารถรับเสียงที่ดังจากลำโพงของฉันได้อย่างแน่นอนโดยการมิกซ์เสียง มีวิธีเรียกใช้ซอฟต์แวร์แอมพลิฟายเออร์ระหว่าง PulseAudio และ alsa เพื่อเพิ่มระดับเสียงหรือมีบางอย่างที่สามารถทำได้ใน alsactl.conf เพื่อให้การ์ดปรับระดับเสียงให้เป็นปกติที่จุดต่ำกว่า? เนื่องจากแล็ปท็อปนี้ค่อนข้างพบได้ทั่วไปในผู้ใช้ Linux ฉันหวังว่าจะมีบางคนแก้ปัญหา


หรือลองใช้เคอร์เนลเวอร์ชันอื่น? - bugzilla.altlinux.org/show_bug.cgi?id=23705
imz - Ivan Zakharyaschev

คุณเคยลองใช้ alsamixer ผ่าน command line หรือไม่? บางครั้ง GUIs ทำงานไม่ถูกต้อง! ฉันมีปัญหาเดียวกันบนแล็ปท็อป dell ซึ่งแก้ไขได้โดยปรับคอลัมน์ PCM เป็น 100%
hassan_noori

ปริมาณอาจลดลงด้วยล้อทางกายภาพบางสิ่งบางอย่าง? เกิดขึ้นกับฉัน
สัก

คุณใช้ค่าเริ่มต้นของ fedora 16 (gnome) หรือไม่ คุณลองgnome-control-center soundและเพิ่มระดับเสียงที่ด้านล่าง?
xx4h

ตลกฉันมีการตั้งค่าที่เหมือนกัน (520 / F16) โดยไม่มีปัญหาด้านเสียง
สัตว์ครึ่งบกครึ่งน้ำมีนา

คำตอบ:


6

ฉันเคยทำสิ่งนี้มาแล้วและประสบความสำเร็จค่อนข้างดีด้วยการเพิ่มระดับเสียง ปัญหาเดียวของมันคือถ้าคุณปิดเครื่องคุณจะต้องกลับเข้าสู่การตั้งค่าระบบภายใต้ไอคอนลำโพงเพื่อเปิดใช้งานได้ถึง 150%

อย่างไรก็ตามด้วยขั้นตอนด้านล่างควรยังคง "เหนียว" ตั้งแต่รีบูตไปจนถึงรีบูต

                                     เอสเอส # 1

เพิ่มระดับเสียง

หากคุณคลิกขวาที่แอปเพล็ตลำโพงแล้วเลือกการตั้งค่าเสียงคุณจะเปิดกล่องโต้ตอบนี้ขึ้นมา

          เอสเอส # 2

ยืนยันและบันทึกการเปลี่ยนแปลง

ปรับระดับเสียงจนถึงระดับสูงสุด 150% เมื่อเปิดใช้งานแล้วคุณสามารถปิดกล่องโต้ตอบนี้ หากคุณไปที่เชลล์และพิมพ์คำสั่งamixerคุณสามารถยืนยันสิ่งนี้:

$ amixer 
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 98304 [150%] [on]
  Front Right: Playback 98304 [150%] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch cswitch-joined penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 65536
  Front Left: Capture 65536 [100%] [off]
  Front Right: Capture 65536 [100%] [off]

หากคุณรันคำสั่งนี้คุณสามารถบันทึกสถานะนี้เพื่อให้ครั้งต่อไปที่คุณรีสตาร์ทระบบมันจะเป็นค่าเริ่มต้น

# saves settings
$ sudo alsactl store

# confirm file's created
$ ls -l /etc/asound.state 
-rw-r--r-- 1 root root 4761 Oct  5 16:54 /etc/asound.state

สิ่งอื่น ๆ ด้วย amixer

คุณสามารถใช้คำสั่งamixerเพื่อเปลี่ยนระดับเสียงได้เช่นกัน

100%

$ amixer sset Master 100% | grep Front
  Playback channels: Front Left - Front Right
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]

150%

$ amixer sset Master 150% | grep Front
  Playback channels: Front Left - Front Right
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]

หมายเหตุ:วิธีนี้ไม่อนุญาตให้คุณสูงกว่า 100% อย่างไรก็ตาม

ใบ้

$ amixer sset Master muted | grep Front
  Playback channels: Front Left - Front Right
  Front Left: Playback 65536 [100%] [off]
  Front Right: Playback 65536 [100%] [off]

เปิดเสียง

$ amixer sset Master unmuted | grep Front
  Playback channels: Front Left - Front Right
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]

"ปัญหาเดียวของปัญหาคือถ้าคุณปิดเครื่องคุณจะต้องกลับเข้าสู่การตั้งค่าระบบภายใต้ไอคอนลำโพงเพื่อเปิดใช้งานได้ถึง 150%" นี่คือสิ่งที่ฉันต้องการหลีกเลี่ยง สิ่งที่ฉันต้องการสำหรับแถบเลื่อนระดับเสียงของไอคอนลำโพงจะมีการเปลี่ยนแปลงไม่ว่าจะเป็นระดับสูงสุดที่สูงขึ้นหรือเพิ่มขึ้นอย่างถาวร
mattdm

@mattdm - ฉันคิดว่านั่นคือสิ่งที่คุณเป็นหลังจากนั้น แต่ฉันคิดว่าฉันจะยิงและให้วิธีการที่ฉันใช้ ฉันจะขุดต่อไปดูว่าฉันจะทำให้อย่างอื่นดีขึ้นได้ไหม
slm

@mattdm - สิ่งนี้ทำให้ฉันผิดหวังเช่นกัน ดูเหมือนว่าน่าจะมีสิ่งที่ดีกว่านี้ถ้าคุณค้นพบสิ่งใดแม้จะมีเส้นทางปลั๊กอินโปรดแชร์กลับที่นี่ ฉันอยากรู้อยากเห็นรู้ด้วยเช่นกัน!
slm

มีคนอธิบายว่าทำไมมันเกิดขึ้นตั้งแต่แรกและทำไมเราไม่สามารถแก้ไขปัญหาแทนที่จะแก้ไขได้
Pavel Šimerda

@ PavelŠimerda - คุณสามารถเห็นสิ่งที่ถูกพูดถึงเกี่ยวกับเรื่องนี้ตลอด Q / A นี้ ไม่มีใครพูดถึงมันและฉันก็ยังคงใช้วิธีแก้ปัญหานี้กับ Fedora 19 บนฮาร์ดแวร์เดียวกัน ฉันควรจะพูดถึงว่าฉันใช้วิธีแก้ปัญหานี้อาจจะ 2+ ครั้งตั้งแต่ย้ายไป F19 Dec / 2014 ดังนั้นมันไม่เหมือนที่มันฆ่าฉัน แค่ $ 0.02 ของฉัน
slm

3

จากสิ่งที่ฉันรู้ว่าคุณสามารถใช้ปลั๊กอินsoftvolสำหรับ ALSA และตั้งmax_dBค่า บางสิ่งในทิศทางของ:

pcm.!default {
    type        plug
    slave.pcm   "softvol"
}

pcm.softvol {
    type    softvol
    slave {
        pcm "hw:0,0"
        # pcm   "dmix" or this or the like.
    }
    control {
        name    "PreAmp"
        card    0
    }
    min_dB  -5.0
    max_dB  30.0  # 50.0 is max
    resolution 16
}

บางทีบางคำแนะนำที่นี่เช่นกัน จากนั้นโหลดอัลซาเล่นอีกครั้งspeaker-test -c2 -twavเพื่อโหลดและปรับแอมป์ใน alsamixer

หากหนึ่งต้องการที่จะปิดตัวลง PulseAudio autospawnอย่าลืมที่จะยกเลิกการใช้งาน

echo autospawn=no >> ~/.pulse/client.conf

หรือไม่ใส่เครื่องหมายข้อคิดเห็นในระดับโลกclient.conf(ใน/etc/pulse/หรือคล้ายกัน) (เคยเห็นบางแทนที่daemon-binaryด้วย/bin/true.)


อย่างไรก็ตามการใช้ pactl ฯลฯ อาจจะเป็นที่นิยมมากกว่า

จาก commandline พูดว่า:

pactl set-sink-volume 0 65536   # 100%
pactl set-sink-volume 0 98304   # 150%
pactl set-sink-volume 0 131072  # 200%
                      | |
                      | +----- Based on volume steps
                      +------- Sink number

ในรายการและระบุ sinks พูดว่า:

pactl list sinks
pacmd list-sinks # a bit more verbose, and list "volume steps"

เช่นเคยmanและpacmd -h, pactl -h.


หากต้องการตั้งค่าระดับเสียงเริ่มต้นเป็นเช่น 150% แก้ไข./pulse/default.paและเพิ่มบรรทัด:

set-sink-volume 0 98304
                |
                +-- (Use full name if one e.g. have multiple USB-soundcards.)

เพื่อความสะดวกเพิ่มนามแฝงหรือสคริปต์สั้น ๆ เพื่อตั้งค่านี้เมื่อคุณต้องการ

เมื่อต้องการเริ่มต้น PA พูดและpulseaudio -kpulseaudio --start


อีกตัวเลือกหนึ่งที่จะมองเข้าไปในปลั๊กอินเช่น LADSPA และSHWในALSAหรือPulseAudio


แก้ไข:

ตกลง. มาคิดเกี่ยวกับมัน สิ่งนี้อาจเหมาะสม (ไม่รู้ว่ามันจะช่วยฉันได้อย่างไรในครั้งแรก)

  1. ในการdefault.paเพิ่มโมดูล Pulse Audioจาก Device Drivers
  2. รีสตาร์ท Pulse Audio
  3. เปิดการตั้งค่าเสียงและตั้งค่าระดับเสียงสำหรับsink ต้นฉบับเช่น 150% (หรือทำสิ่งนี้โดย commandline หรือกำหนดไว้ล่วงหน้าdefault.paตามที่อธิบายไว้ข้างต้น)
  4. เลือกโมดูล / ซิงค์ใหม่เป็นอุปกรณ์สำหรับเอาต์พุตเสียง

สิ่งนี้จะให้คุณ 150% เป็น 100% เมื่อใช้เครื่องวัดระดับเสียงปกติ

ตัวอย่าง - การใช้module-remap-sink:

ทำไม่ได้ uncomment เป็น doc พูด

ในdefault.pa:

.ifexists module-remap-sink.so
# Using remap-sink as dummy, not doing any re-mapping.
load-module module-remap-sink sink_name=VolDummy master=0 sink_properties=device.description=CrankThaVolume
.fail
.endif

# Set it as default:
set-default-sink VolDummy

จากนั้นรีสตาร์ท Pulse Audio เพื่อลงทะเบียนโมดูลใหม่

ออก:

$ pactl list modules # Should show "Usage counter: 1" for the module in question.
$ pactl list sinks

ควรแสดงอ่างใหม่ คุณยังสามารถเหวี่ยงปริมาณสำหรับต้นแบบโดยใช้บรรทัดคำสั่งและ / default.paหรือการเพิ่มสายที่จะ


ใช่ดูเหมือนว่าset-sink-volumeวิธีการที่ดีที่สุดที่สามารถทำได้อย่างสมเหตุสมผลและไม่ได้ตอบสนองความต้องการที่แท้จริง โอ้ดี ฉันจะดูปลั๊กอินและดูว่าพวกเขาจะทำอะไรให้ฉันได้บ้าง
mattdm

@mattdm: ใช่ เพิ่มโซลูชันใหม่ที่เหมาะสมกับความต้องการของคุณมากขึ้น
Runium

1

เมื่อเรียกใช้ alsamixer จากบรรทัดคำสั่งตรวจสอบให้แน่ใจว่าได้รันด้วย--view allสวิตช์เพื่อให้แน่ใจว่าคุณกำลังดูตัวควบคุมตัวปรับแต่งเสียงที่มีอยู่ทั้งหมด

alsamixer -V all

นอกจากนี้กด F6 ใน alsamixer และตรวจสอบการตั้งค่าสำหรับอุปกรณ์แต่ละรายการ


0

ฉันมีปัญหาที่คล้ายคลึงกันใน Fedora 18 ครั้งหนึ่งเปิด API "pepperbox" ของ Google สำหรับ Flash มีปัญหาร้ายแรงเกี่ยวกับเสียงและฉันแก้ไขได้โดยไปที่ /home//.config/google-chrome และฆ่า PepperFlash จากนั้นติดตั้งใหม่ ปลั๊กอินแฟลชจาก Adobe

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.