Perintah terminal untuk mengatur volume audio?

96

Saya memiliki kartu suara eksternal yang sebagian besar berfungsi dengan baik, kecuali bahwa ketika pertama kali dipasang, atau ketika saya menghidupkan laptop saya, volumenya diatur ke 100%. Artinya, volume sistem keseluruhan, seperti yang ditunjukkan dalam indikator suara.

Apa yang saya cari adalah perintah terminal yang akan mengatur volume menjadi 50%, sehingga saya dapat menjalankannya saat login dan tidak perlu khawatir bahwa audio pertama yang saya mainkan akan membentak saya jika saya lupa untuk menghidupkan volume turun. Perintah apa yang memungkinkan Anda untuk mengubah volume itu, yaitu yang ada di indikator suara?

Saya telah mencari-cari di gsettings dan dbus, tetapi tidak dapat menemukan apa pun yang akan membiarkan saya mengatur volume sistem seperti itu. Saya tahu tentang alsamixer, tapi itu bukan solusi yang saya cari, karena itu tidak memungkinkan saya untuk mengubah volume menggunakan indikator suara atau tombol multimedia laptop saya.

Marius
sumber
@rajagenupula dia ingin mengurangi volume yang sama dengan GUI. ALSA tidak akan berfungsi dalam kasus ini karena tidak dikontrol oleh ALSA tetapi Pulseaudio. i.stack.imgur.com/9C8Z2.png
Braiam
Lihat juga di sini: askubuntu.com/questions/44680/…
Takkat

Jawaban:

120

Bagian dari jawaban ini berasal dari Mengatur volume input mikrofon menggunakan baris perintah? , ditempatkan di sini untuk kenyamanan Anda.

Tambah volume 5%

amixer -D pulse sset Master 5%+

Kurangi volume sebesar 5%

amixer -D pulse sset Master 5%-

Setel volume menjadi 50%

amixer -D pulse sset Master 50%

Jika Anda menggunakan ALSA, amixer dapat membantu untuk pemrograman skrip Anda.

Ketika menjatuhkan amixer --helpperintah di terminal Anda akan melihat sesuatu seperti ini:

masukkan deskripsi gambar di sini

Tergantung pada kartu suara Anda, level mungkin berbeda dari alsamixerkartu suara saya, tetapi Anda dapat menggunakan di terminal untuk memeriksa level mana dan fitur mana dalam kartu suara Anda, Anda dapat memanggil perintah untuk mengatur volume sesuai keinginan.

masukkan deskripsi gambar di sini

Dalam contoh saya, dengan kartu suara utama saya (saya memiliki 2: kartu audio tertanam dan PCI), levelnya dari 0 hingga 100, dengan cara ini saya dapat mengubah volume input / output yang diinginkan dalam kartu suara saya dengan memasukkan terminal perintah selanjutnya:

amixer -c 0 set Front 50DB 
amixer -c 0 set Front 64DB 

Pada perintah pertama, hasilnya akan mengatur output panel depan ke level 78% dan yang kedua akan mengatur output panel depan ke level 100%.

Untuk mengumpulkan informasi terkait dengan kontrol mixer Anda, lepaskan amixerperintah tanpa parameter dan Anda akan mendapatkan daftar. Atau tunjukkan perangkat audio yang ingin Anda lihat daftar kontrolnya amixer -c X( dengan "X" adalah jumlah perangkat audio Anda).

BTW: Ingat bahwa nilai-nilai DB dihitung secara logaritmik dan tidak linier.

Ingat bahwa perintah ini memungkinkan Anda untuk mengontrol parameter pada perangkat suara apa pun yang sedang Anda gunakan.

Semoga berhasil!

Geppettvs D'Constanzo
sumber
1
Perlu dicatat bahwa jika Anda tidak memiliki controller "Master" atau "Master" tidak dapat mengubah volume output aktual Anda mungkin bekerja dengan kartu suara yang salah. F6aktif alsamixerdan --card nterus amixerganti kartu suara.
Pooyan Khosravi
Itu poin yang bagus! @PooyanKhosravi, bahkan ketika Anda dapat meminta kartu suara yang ingin Anda otomatiskan dari baris perintah dengan menjatuhkan "-c X" (di mana "X" adalah nomor kartu suara Anda), ada baiknya mengetahui informasi yang Anda berikan. Terima kasih banyak!
Geppettvs D'Constanzo
pactl(tidak seperti amixer) memungkinkan untuk meningkatkan volume lebih dari 100% (lihat di pavucontrol) :-)
pevik
80

Anda dapat melakukannya menggunakan PulseAudio sendiri (saya tidak akan merekomendasikan menggunakan ALSA karena Anda tidak dapat menggunakan GUI untuk menaikkan / menurunkan volume).

Menggunakan pactl : Anda dapat mengatur volume untuk perangkat tertentu sebagai berikut:

pactl set-sink-volume 0 +10%

Ini membuat volume 10% naik. Jika Anda menginginkannya 10% turun:

pactl set-sink-volume 0 -10%

Jika Anda membutuhkan volume 50%:

pactl set-sink-volume 0 50%

Jika Anda perlu mengguncang seluruh tempat:

pactl set-sink-volume 0 150%

Anda dapat menggunakan persen atau bilangan bulat, tetapi bilangan bulat itu lambat dan mungkin bukan hal Anda.

pactl/ pacmd(tidak seperti amixer) memungkinkan untuk meningkatkan volume lebih dari 100% :-).

Braiam
sumber
3
Jika Anda menggunakan headphone, coba tingkatkan nol ke satu: pactl set-sink-volume 1 50%
Smile4ever
13
Jika Anda ingin berbagi perintah yang sama pada host yang berbeda dengan sink yang berbeda, Anda dapat menggunakannya @DEFAULT_SINK@sebagai sink sebagai ganti angka 0. Anda mengatur wastafel default Anda dengan pactl set-default-sink my-sink-name(daftar nama dengan pactl list short sinks).
pevik
3
Mendapatkan:, Failed to get sink information: No such entitybagaimana cara mengatasi masalah ini? - Edit, saya perlu menggunakan wastafel di samping 0. Jumlah pertama pactl list short sinksdapat digunakan. Perintah ini berfungsi misalnya:pactl set-sink-volume $(pactl list short sinks | head -n1 | cut -f1) 50%
ideasman42
23

amixer set 'Master' 10%+- untuk meningkatkan suara maks 10%

amixer set 'Master' 10%-- untuk mengurangi suara maks 10%

amixer set 'Master' 10% - untuk mendapatkan 10% dari suara maksimal

amixer set 'Master' 80% - untuk mendapatkan 80% dari suara maks

.. dll.

Jika Anda ingin mengatur volume selain 'Master', periksa daftar dengan:

amixer scontrols


Anda mungkin juga ingin memeriksa alsamixerdanpacmd

np8
sumber
6

Jawaban yang terlambat tetapi bisa bermanfaat bagi seseorang.


Anda dapat mengontrol volume untuk wastafel saat ini menggunakan perintah berikut

  • Naikkan Volume :pactl set-sink-volume @DEFAULT_SINK@ +1000

  • Volume yang lebih rendah :pactl set-sink-volume @DEFAULT_SINK@ -1000

  • Bungkam :pactl set-sink-mute @DEFAULT_SINK@ toggle

Anda dapat menggunakan nilai-nilai berikut untuk mengontrol volume:

Bilangan bulat

  • Nilai spesifik: <number>
  • Meningkatkan: +<number>
  • Mengurangi: -<number>

Contoh:

pactl set-sink-volume @DEFAULT_SINK@ 50000 akan mengatur volume sekitar 76%

Faktor Linier

  • Nilai spesifik: <number>.<number>
  • Meningkatkan: +<number>.<number>
  • Mengurangi: -<number>.<number>

Contoh:

pactl set-sink-volume @DEFAULT_SINK@ 0.44\ akan mengatur volume sekitar 76%

Percentaje

  • Nilai spesifik: <number>%
  • Meningkatkan: +<number>%
  • Mengurangi: -<number>%

Contoh:

pactl set-sink-volume @DEFAULT_SINK@ 76% akan mengatur volume sekitar 76%

Nilai desibel

PERINGATAN: jangan bereksperimen dengan nilai desibel saat menggunakan headphone kecuali jika Anda tahu apa yang Anda lakukan, Anda dapat merusak earing Anda

  • Nilai spesifik: <number>dB
  • Meningkatkan: +<number>dB
  • Mengurangi: -<number>dB

Contoh:

pactl set-sink-volume @DEFAULT_SINK@ 0.0dB akan mengatur volume ke 100%


Sumber Arch Wiki , halaman manual pactl

Cheloide
sumber
+1 !! Satu-satunya solusi yang bekerja untuk saya secara instan.
dboris