Ero sivun ”Oletusäänikortin asettaminen” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Kumottu muokkaus #23439, jonka teki ARTTUSN WIHOWIIMEINEN MARSSI TÄYTIN TOIVEENNE PÄÄSETTE NYT EROON MUSTA!!!!!!!! ([[User talk:ARTTUSN WIH)
 
(7 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Tyypillisessä Linux-järjestelmässä on hyvin vaikeaa valita yksi äänikortti ylitse muiden. Äänijärjestelmiä on useita ja sovellukset eivät toimi yhtenäisesti. Voi myös olla, että äänikorttien järjestys vaihtuu joka käynnistyksen yhteydessä!
Tyypillisessä Linux-järjestelmässä on hyvin vaikeaa valita yksi äänikortti ylitse muiden. Äänijärjestelmiä on useita ja sovellukset eivät toimi yhtenäisesti. Voi myös olla, että äänikorttien järjestys vaihtuu joka käynnistyksen yhteydessä.


== ALSA ==
== ALSA ==
 
[[ALSA]]n toimintaan voi vaikuttaa kahdella keinolla: asettamalla äänikorttien järjestysnumerot tai muokkaamalla [[käyttäjä]]n [[asetustiedosto]]a. Ensimmäisen etu on taattu toimivuus, mutta jälkimmäisen käyttäjä voi vaihtaa melko helposti.
[[ALSA]]n toimintaan voi vaikuttaa kahdella keinolla: asettamalla äänikorttien järjestysnumerot tai muokkaamalla käyttäjän asetustiedostoa. Ensimmäisen etu on taattu toimivuus, mutta jälkimmäisen käyttäjä voi vaihtaa melko helposti.


=== asoundconf ===
=== asoundconf ===
 
ALSAn asetustiedostot ovat hyvin monimutkaisia. Onneksi useissa Linux-[[jakelu]]issa on ohjelma nimeltä [[asoundconf]], joka tekee muutokset käyttäjän puolesta:
ALSAn asetustiedostot ovat hyvin monimutkaisia. Onneksi useissa Linux-jakeluissa on ohjelma asoundconf, joka tekee muutokset käyttäjän puolesta:
  asoundconf set-default-card <äänikortin ALSA-nimi>
  asoundconf <äänikortin ALSA-nimi>
Komennon suorittaminen luo tiedostot ~/.asoundrc (jos sitä ei jo ole) ja ~/.asoundrc.asoundconf.
Komennon suorittaminen luo tiedostot ~/.asoundrc (jos sitä ei jo ole) ja ~/.asoundrc.asoundconf.


ALSAn antamat nimet äänikorteille saa tietoonsa komennolla:
ALSAn antamat nimet äänikorteille saa tietoonsa [[komentorivi|komennolla]]:
  cat /proc/asound/cards
  [[cat]] /proc/asound/cards
Nimi on hakasulkujen sisällä oleva tunnus.
Nimi on hakasulkujen sisällä oleva tunnus.


=== Indeksien asettaminen käsin ===
=== Indeksien asettaminen käsin ===
 
Aina silloin tällöin vastaan tulee sovellus, joka ei noudata ALSAn asetustiedoston oletusäänikorttiasetusta. Tällöin tarvitaan bugiraportin lisäksi järeämpiä keinoja.
Aina silloin tällöin vastaan tulee sovellus, joka ei noudata ALSAn asetustiedoston oletusäänikorttiasetusta. Tällöin bugiraportin lisäksi tarvitaan järeämpiä keinoja.


Asetetaan ALSA-ajurien järjestys käsin. Listan mahdollisista ajureista saa komennolla:
Asetetaan ALSA-ajurien järjestys käsin. Listan mahdollisista ajureista saa komennolla:
  lsmod | grep snd_
  [[lsmod]] | [[grep]] snd_


Ajurit voi pakottaa järjestykseen tiedostossa /etc/modprobe.d/alsa-base, esimerkiksi lisäämällä loppuun seuraavat rivit:
Ajurit voi pakottaa järjestykseen tiedostossa <tt>/etc/[[modprobe]].d/alsa-base</tt>, esimerkiksi lisäämällä loppuun seuraavat rivit:
  options snd_ice1724 index=0
  options snd_ice1724 index=0
  options snd_hda_intel index=1
  options snd_hda_intel index=1
Rivi 28: Rivi 25:
Nyt ICE1724-piiriin pohjautuva äänikortti saa indeksin 0 (oletus) ja emolevylle integroitu Intelin HDA-piiri indeksin 1, kun tietokone käynnistetään.
Nyt ICE1724-piiriin pohjautuva äänikortti saa indeksin 0 (oletus) ja emolevylle integroitu Intelin HDA-piiri indeksin 1, kun tietokone käynnistetään.


=== Testaaminen ===
=== ALSAn testaaminen ===
 
Asetusten toimivuutta voi testata soittamalla äänitiedoston [[aplay]]-ohjelmalla:
Asetusten toimivuutta voi testata soittamalla äänitiedoston aplay-ohjelmalla:
  aplay /usr/share/sounds/login.wav
  aplay /usr/share/sounds/login.wav


Yleensä asoundconf ja aplay ovat paketissa nimeltä alsa-utils. Huomaa kuitenkin, että aplay ei vastaa "huonosti käyttäytyvää ohjelmaa".
Yleensä asoundconf ja aplay ovat paketissa nimeltä <tt>alsa-utils</tt>. Huomaa kuitenkin, että aplay ei vastaa "huonosti käyttäytyvää ohjelmaa".


== PulseAudio ==
== PulseAudio ==
 
ALSAn kaltaisesti [[PulseAudio]] voidaan säätää kahdella tapaa, sillä huonosti ohjelmoidut sovellukset eivät osaa käyttää sen oletusäänikorttiasetusta hyväkseen.
[[PulseAudio]] voidaan säätää kahdella tapaa niin kuin ALSA, sillä huonosti ohjelmoidut sovellukset eivät osaa käyttää sen oletusäänikorttiasetusta hyväkseen.


=== Oletuskohteen asettaminen ===
=== Oletuskohteen asettaminen ===
Käynnistetään PulseAudio komentorivitilaan ja pyydetään sitä listaamaan kaikki äänikohteet (sink):
Käynnistetään PulseAudio komentorivitilaan ja pyydetään sitä listaamaan kaikki äänikohteet (sink):
  $ pulseaudio -C
  $ pulseaudio -C
Rivi 54: Rivi 48:


=== Moduulien lataaminen käsin ===
=== Moduulien lataaminen käsin ===
 
Ylläoleva ei aina auta, sillä jotkut huonosti käyttäytyvät ohjelmat (kirjoitushetkellä muun muassa Adobe [[Flash]] + libflashsupport ja [[Gnome]]n ääniasetukset, gnome-sound-properties) käyttävät kohdetta numero 0 eivätkä oletusta.
Ylläoleva ei aina auta, sillä jotkut huonosti käyttäytyvät ohjelmat (kirjoitushetkellä muun muassa Adobe Flash / libflashsupport ja Gnomen ääniasetukset, gnome-sound-properties) käyttävät kohdetta numero 0 eivätkä oletusta.


Muokataan tiedostoa /etc/pulse/default.pa. Todennäköisesti siellä on rivi, joka etsii äänikortit automaattisesti:
Muokataan tiedostoa /etc/pulse/default.pa. Todennäköisesti siellä on rivi, joka etsii äänikortit automaattisesti:
  load-module module-hal-detect
  load-module module-[[hal]]-detect
Kommentoidaan se pois käytöstä...
Kommentoidaan se pois käytöstä...
  #load-module module-hal-detect
  #load-module module-hal-detect
Rivi 66: Rivi 59:
  load-module module-alsa-source device=hw:Revolution51 source_name=Revolution51_source
  load-module module-alsa-source device=hw:Revolution51 source_name=Revolution51_source


(Revolution51 on äänikorttini ALSA-nimi tiedostosta /proc/asound/cards.) Nimet sink_name ja source_name voi valita itse. Mahdolliset alilaitteet merkitään kuten ALSAssa yleensä:
(<tt>Revolution51</tt> on äänikortin ALSA-nimi tiedostosta /proc/asound/cards.) Nimet <tt>sink_name</tt> ja <tt>source_name</tt> voi valita itse. Mahdolliset alilaitteet merkitään kuten ALSAssa yleensä:
  hw:NVidia,1
  hw:NVidia,1
Sitten vielä asetetaan oletukset sitä asetusta käyttäville sovelluksille:
Sitten vielä asetetaan oletukset sitä asetusta käyttäville sovelluksille:
Rivi 73: Rivi 66:


=== PulseAudion testaaminen ===
=== PulseAudion testaaminen ===
Jos [[GStreamer]] on asennettu, voi PulseAudiota kokeilla komennolla:
gst-launch-0.10 audiotestsrc ! pulsesink


Jos [[GStreamer]] on asennettu, PulseAudiota voi kokeilla komennolla:
[[Luokka:Laitteisto]]
gst-launch-0.10 audiotestsrc ! pulsesink
[[Luokka:Ohjeet]]
[[Luokka:Multimedia]]

Nykyinen versio 26. lokakuuta 2008 kello 11.21

Tyypillisessä Linux-järjestelmässä on hyvin vaikeaa valita yksi äänikortti ylitse muiden. Äänijärjestelmiä on useita ja sovellukset eivät toimi yhtenäisesti. Voi myös olla, että äänikorttien järjestys vaihtuu joka käynnistyksen yhteydessä.

ALSA[muokkaa]

ALSAn toimintaan voi vaikuttaa kahdella keinolla: asettamalla äänikorttien järjestysnumerot tai muokkaamalla käyttäjän asetustiedostoa. Ensimmäisen etu on taattu toimivuus, mutta jälkimmäisen käyttäjä voi vaihtaa melko helposti.

asoundconf[muokkaa]

ALSAn asetustiedostot ovat hyvin monimutkaisia. Onneksi useissa Linux-jakeluissa on ohjelma nimeltä asoundconf, joka tekee muutokset käyttäjän puolesta:

asoundconf set-default-card <äänikortin ALSA-nimi>

Komennon suorittaminen luo tiedostot ~/.asoundrc (jos sitä ei jo ole) ja ~/.asoundrc.asoundconf.

ALSAn antamat nimet äänikorteille saa tietoonsa komennolla:

cat /proc/asound/cards

Nimi on hakasulkujen sisällä oleva tunnus.

Indeksien asettaminen käsin[muokkaa]

Aina silloin tällöin vastaan tulee sovellus, joka ei noudata ALSAn asetustiedoston oletusäänikorttiasetusta. Tällöin tarvitaan bugiraportin lisäksi järeämpiä keinoja.

Asetetaan ALSA-ajurien järjestys käsin. Listan mahdollisista ajureista saa komennolla:

lsmod | grep snd_

Ajurit voi pakottaa järjestykseen tiedostossa /etc/modprobe.d/alsa-base, esimerkiksi lisäämällä loppuun seuraavat rivit:

options snd_ice1724 index=0
options snd_hda_intel index=1

Nyt ICE1724-piiriin pohjautuva äänikortti saa indeksin 0 (oletus) ja emolevylle integroitu Intelin HDA-piiri indeksin 1, kun tietokone käynnistetään.

ALSAn testaaminen[muokkaa]

Asetusten toimivuutta voi testata soittamalla äänitiedoston aplay-ohjelmalla:

aplay /usr/share/sounds/login.wav

Yleensä asoundconf ja aplay ovat paketissa nimeltä alsa-utils. Huomaa kuitenkin, että aplay ei vastaa "huonosti käyttäytyvää ohjelmaa".

PulseAudio[muokkaa]

ALSAn kaltaisesti PulseAudio voidaan säätää kahdella tapaa, sillä huonosti ohjelmoidut sovellukset eivät osaa käyttää sen oletusäänikorttiasetusta hyväkseen.

Oletuskohteen asettaminen[muokkaa]

Käynnistetään PulseAudio komentorivitilaan ja pyydetään sitä listaamaan kaikki äänikohteet (sink):

$ pulseaudio -C
Welcome to PulseAudio! Use "help" for usage information.
>>> list-sinks

Kopioidaan ensisijaisen äänikortin PulseAudio-nimi talteen. Se voi olla esimerkiksi:

alsa_output.pci_1412_1724_sound_card_0_alsa_playback_0

Sitten muokataan tiedostoa /etc/pulse/default.pa ja lisätään seuraavankaltainen rivi loppuun (vaihda toki oman äänikorttisi nimi tilalle):

set-default-sink alsa_output.pci_1412_1724_sound_card_0_alsa_playback_0

PulseAudion uudelleenkäynnistyksen jälkeen äänien pitäisi kuulua oikeasta äänikortista. Mikrofonilähdölle voi tehdä saman tempun.

Moduulien lataaminen käsin[muokkaa]

Ylläoleva ei aina auta, sillä jotkut huonosti käyttäytyvät ohjelmat (kirjoitushetkellä muun muassa Adobe Flash + libflashsupport ja Gnomen ääniasetukset, gnome-sound-properties) käyttävät kohdetta numero 0 eivätkä oletusta.

Muokataan tiedostoa /etc/pulse/default.pa. Todennäköisesti siellä on rivi, joka etsii äänikortit automaattisesti:

load-module module-hal-detect

Kommentoidaan se pois käytöstä...

#load-module module-hal-detect

...ja ladataan äänikohteet ja -lähteet itse oikeassa järjestyksessä, esimerkiksi:

load-module module-alsa-sink device=hw:Revolution51 sink_name=Revolution51_sink
load-module module-alsa-sink device=hw:NVidia sink_name=NVidia_sink
load-module module-alsa-source device=hw:Revolution51 source_name=Revolution51_source

(Revolution51 on äänikortin ALSA-nimi tiedostosta /proc/asound/cards.) Nimet sink_name ja source_name voi valita itse. Mahdolliset alilaitteet merkitään kuten ALSAssa yleensä:

hw:NVidia,1

Sitten vielä asetetaan oletukset sitä asetusta käyttäville sovelluksille:

set-default-sink Revolution51_sink
set-default-source Revolution51_source

PulseAudion testaaminen[muokkaa]

Jos GStreamer on asennettu, voi PulseAudiota kokeilla komennolla:

gst-launch-0.10 audiotestsrc ! pulsesink