Kirjoittaja Aihe: Linuxin äänijärjestelmä  (Luettu 6139 kertaa)

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Linuxin äänijärjestelmä
« : 16.04.13 - klo:10.56 »
Lainaus
Olen kyllä ennenkin huomannut että linuxin ääni systeemi on minulle
täysin käsittämätön.

Tämä ei ole dokumentti eikä täydellinen totuus asiasta mutta itse näen asian näin jos ajatellaan asiaa kakkuna johon ladotaan kerroksia päällekkäin:

Kakun alimmainen taso/kerros on ALSA tai FireWire.  Nämä elävät sulassa sovussa rinnakkain samalla alimmalla tasolla käskyttämällä suoraan varsinaista "äänirautaa".   ALSA: lla äänirauta on tyypillisesti niitä äänikortteja mitä koneesta löytyy sisältä tai USB: iin liitettynä, FireWire: llä taasen ulkoisia äänimoduleita (ammattikäyttö, studiot).

Tuota tasoa voi käyttää suoraankin useilla käyttäjän ohjelmilla mutta alimmalle tasolle lienee aika tyypillistä että se on vain yhden ohjelman ja käyttäjän käytettävissä kullakin hetkellä jonka takia on käytännöllistä lisätä tuohon päälle vielä jokin lisätaso joka huolehtii monen ohjelman/käyttäjän samanaikaisesta käytöstä.  Ellei tätä tehdä käy niin että ensimmäinen ohjelma joka käynnistetään varaa itselleen ALSA: n ja seuraavalle ohjelmalle/käyttäjälle ehdotetaan "odota kunnes äänilaite on vapaa" koska muu ei ole mahdollista.

Tästä eteenpäin asia jakautuu tällä hetkellä oikeastaan kahtia:  Joka miehen ääni ja ammattiääni.

Joka miehen ääni on tällä hetkellä toteutettu aika yksinkertaisesti:  Lisätään PulseAudio ("PA") tuohon kakkuun ALSA: n päälle ja ohjataan kaikki ohjelmat käyttämään ääntä sen läpi.  Tuo PA lisää monen ohjelma/käyttäjän kerroksen jolloin äänijärjestelmä ei ole enää lukittu/varattu vain yhdelle käyttäjän ohjelmalle kerrallaan.  PA on rajoittunut mutta riittävä (?) useimmille tavallisille käyttäjille.

Ammattiääni lisää kakkuun puolestaan alimman kerroksen päälle Jack-kerroksen ja mikäli käynnissä on    
sille ristiriitainen samaa tehtävää hoitava kerros (PulseAudio) niin se sulkee sen siksi aikaa kun Jack on käynnissä. Jack on hyvin monipuolinen, sisältää asiat joita ammattiäänen puolella tarvitaan ja tekee työnsä ammattikäytössä kuten halutaan mutta tavalliselle käyttäjälle hieman monimutkainen ymmärtää ja hallita.  

Itse pidän Jack: stä sen "kaikki mahdollisuudet tässä ja nyt" rakenteensa takia.  Jos ajatellaan sen käyttöä ainoana kakkoskerroksena tässä kakussa niin loppukäyttäjille sen monimutkaisuus pitäisi saada piiloon jollain perusasetuksilla ja vastaavasti kaikkien ohjelmien pitäisi osata tavalla tai toisella toistaa äänensä Jack: in kautta.  Tuota varten on jossain määrin olemassa erilaisia sovituksia, esimerkiksi VLC osaa käyttää Jack: iä suoraan kun sopiva lisäpalikka on asennettu jolloin Jack näkyy VLC: n äänivalinnoissa suoraan.  

Samoin PulseAudio voi toimia Jack: in läpi:

http://docs.fedoraproject.org/en-US/Fedora/14/html/Musicians_Guide/sect-Musicians_Guide-Integrating_PulseAudio_with_JACK.html

Tuon pitäisi mahdollistaa PulseAudion saumattoman käytön samaan aikaan kun Jack on käytössä, en ole kokeillut.

Oman lisävivahteensa ja ongelmakenttänsä tuohon tuo kun lähdetään jäljittelemään Windows: in äänijärjestelmää tuon Linux: in oman järjestelmän laajennuksena.  En ole syventynyt tuohon alueeseen. Lisäksi on olemassa joukko äänijärjestelmiä Linuxiin joita tänä päivänä käytetään enää harvoin.

Arvaan että tässä yhteenvedossa on jäänyt asioita huomaamatta ja virheitä voi myös olla, korjatkaa ja kommentoikaa/täydentäkää.
« Viimeksi muokattu: 16.04.13 - klo:11.30 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

pere

  • Käyttäjä
  • Viestejä: 79
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #1 : 20.04.13 - klo:09.38 »
Hyvä ja asiallinen kirjoitus linuxin äänistä.
Olisikohan tämä oikea säie kysyä minua vaivaavasta ongelmasta.
On kysymys VST (B4) äänestä tai oikeataan sen puutteesta.
Asensin kxstudion ja aluksi kaikki toimi hyvin sitten tein jotain ja ääni hävisi
aidot linux ohjemat kyllä toimii kuten setBfree.
Sitten kokeilin tehdä niin että asensin lubuntun ja siihen ympäsin kxstudio ominaisuudet.
 Aluksi sekin toimi hienosti siis tämä B4 ääni myös kuului ja soi hyvin.
Mutta sitten tein joitain päivityksiä ja äänet katosi.
Parhaan ymmärrykseni mukaan olen yrittänyt vaikka mitä mutta ongelma ei korjaannu.

APUA!
t. pere

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #2 : 20.04.13 - klo:13.26 »
HTPC:ssä tai vastaavassa voi olla hyötyä kun poistaa pulsen ja muut ylimääräiset rajapinnat. Käsittääkseni parhaan äänen saa kun työntää ALSA:lla dataa suoraan vahvistimeen ja antaa sen purkaa äänet. Noita ääniformaatteja on kovin paljon - CD, DVD, Blu-ray, erilaiset HD, DVB, ... Usein voi käydä niin, että pulse tai vastaava resamplaa äänen siihen oletukseen 48kHz. Puurokorvakin voi huomata että äänessä on vikaa. Liitäntä on myös tärkeä. 24/96 monikanava ei kulje enää optisessa piuhassa vaan pitää olla HDMI. Siinä yksi pullonkaula mikä voi myös tuhota hyvän äänen.

PulseAudio lienee tarpeellinen työpöytäkäytössä tai jos haluaa jakaa ääntä verkossa. Itse en sitä ikinä asenna, enkä tiedä mihin tarvitaan kun ilman olen pärjännyt.

perelle... toimivaa systeemiä ei aina kannata päivittää. Itse en juuri kerneliä, alsaa, ym.... päivittele kovinkaan usein. Ainakaan jos rauta ei ole vaihtunut. Jos emolevyn vaihtaa pitää toki kerneli ja sitä vasten Alsa kääntää uusiksi. Itse tykkään siitä kun alsa:n ajurit, kirjastot ym ovat samaa versiota.
Varsinkin erilaiset kodekit ovat hankalia. jos kääntää uuden ffmpeg, niin on parempi käännellä myös kaikki ne kirjastot uusiksi jotka sitä käyttävät. xine-lib myös vaatii, että kaikki sitä käyttävät ohjelmat uusiksi... Monien mielestä ohjelmien kääntäminen on tyhmää. Kernelistä ainakin saa paljon laihemman ja latenssit kohdalleen. Ja ne tärkeimmät ajurit heti muistiin ei mitää moduleiden latailua.


nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #3 : 20.04.13 - klo:14.56 »
HTPC:ssä tai vastaavassa voi olla hyötyä kun poistaa pulsen ja muut ylimääräiset rajapinnat. Käsittääkseni parhaan äänen saa kun työntää ALSA:lla dataa suoraan vahvistimeen ja antaa sen purkaa äänet. Noita ääniformaatteja on kovin paljon - CD, DVD, Blu-ray, erilaiset HD, DVB, ... Usein voi käydä niin, että pulse tai vastaava resamplaa äänen siihen oletukseen 48kHz. Puurokorvakin voi huomata että äänessä on vikaa.

PulseAudio käyttää oletuksena 44.1 kHz:n näytteenottotaajuutta, mutta vaihtaa lennossa 48 kHz:iin, jos soitettava ääni on sellaista. Käytännössä se toimii siis melkein samalla tavalla kuin Alsan raakalaitteet, jotka sallivat vain yhden syötteen kerralla. PulseAudio resamplaa vain jos samanaikaisesti soi useampi äänilähde eri näytteenottotaajuuksilla, tai jos äänilaite tukee vain 48 kHz:ä.

Alsan dmixillä (joka on PulseAudion vaihtoehto tavallisessa työpöytäkäytössä) näytteenottotaajuus on asetettava kiinteästi asetustiedostoon, jolloin erilaisilla syötteillä (esim. 44,1 kHz:n CD audio ja 48 kHz:n DVB-ääni) jompaa kumpaa resamplataan vaikka samanaikaisesti olisi vain yksi äänilähde käytössä.

Myös digitaalisen äänen läpivienti HD-formaatit mukaanlukien onnistuu helposti Pulsella, kunhan valitsee oikean ääniulostulon.

Puurokorvakin voi huomata että äänessä on vikaa.

Monikanavaäänen puuttumisen huomaa, mutta tuskin resamplausta. Toki se on merkittävä tekijä, jos lähdetään tosissaan hifistelemään.

Lainaus
PulseAudio lienee tarpeellinen työpöytäkäytössä tai jos haluaa jakaa ääntä verkossa.

Jep. PulseAudio toimii virtuaalisena äänijärjestelmänä rautatason ALSA-laitteiden ja työpöytäohjelmien välissä, jolloin koneeseen voi esimerkiksi kytkeä USB-äänikortin ja vaihtaa kaikki äänet kulkemaan sen kautta ilman ohjelmien uudelleenkäynnistämistä. Käyttäjät odottavat työpöytäkäyttöjärjestelmältä tällaista toiminnallisuutta.

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #4 : 20.04.13 - klo:16.28 »
Minulla on ollut se käsitys, että PulseAudio käyttäisi oletuksena 48 kHz. Tai sitten se johtuu siitä, joku muu ääni lähde esim nettiselain, työpöydän tehoste-äänet, .. on 48 kHz, mikä käytännössä johtaa siihen että CD ääni tulee ulos resamplattuna.  Ei tuota resampalusta juuri huomaa. Alsan dmixin rajoitus tosiaan on tuo kiinteä rajoitus, mitä on hankala kiertää. Käyttäjäkohtaisesti tuon voi asettaa .asoundrc tiedostoon. HD-ääni voi sitten kuulostaa hyvinkin kamalta. Riippuen soitto-ohjelmasta ja käytetystä kirjastosta. xine-lib osaa myös resamplata ja jos siinä on asetukset pielessä voi tulos olla hyvinkin kamala. Kubuntu on asennettuna koneelle joka on optisella piuhalla kiinni vahvistimessa. Pitänee testata kulkeeko HD ääni siinä sujuvasti pulsen läpi vahvistimelle. Viime kerrasta on aikaa.

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #5 : 20.04.13 - klo:20.20 »
Minulla on ollut se käsitys, että PulseAudio käyttäisi oletuksena 48 kHz. Tai sitten se johtuu siitä, joku muu ääni lähde esim nettiselain, työpöydän tehoste-äänet, .. on 48 kHz, mikä käytännössä johtaa siihen että CD ääni tulee ulos resamplattuna.

Jos joku muu ohjelma sattuu toistamaan 48 kHz:n ääntä juuri silloin kun aloitat musiikin kuuntelun, PulseAudio resamplaa musiikin 48 kHz:iin. Muuten se käyttää 44.1 kHz:ä, kunhan äänipiiri tukee sitä. Mielestäni tämä on aika optimaalinen ratkaisu tavallisessa työpöytäkäytössä. Musiikkiharrastajille voisi vielä kyhätä paneelisovelluksen, joka näyttää käytössä olevan näytteenottotaajuuden ja sallii sen vaihtamisen lennossa.

Voit muuten tarkistaa ääniulostulon näytteenottotaajuuden päätteessä komennolla:
Koodia: [Valitse]
cat /proc/asound/card0/pcm0p/sub0/hw_params(Nollan sijaan nuo numerot voivat olla jotain muitakin riippuen raudasta ja valituista ulostuloista)

2-mieli-FI-poliisi

  • Vieras
Vs: Linuxin äänijärjestelmä
« Vastaus #6 : 21.04.13 - klo:00.19 »
Koekäyttelen 13.04:ää (xfce) ja reiluuden nimissä ehdottaisin PulseAudion kehittelijöille vuoden koeaikaa:

Jonka aikana PulseAudion porukan pitää kehittää Asetukset ohjelman sisälle äänen hallinta osio, josta saa valittua kumpaan kHz kellotetaan. Lisäksi myös oletus volumekuvakkeen hiirirullauksen aiheuttamat "puskurivuodot" pitää saada häiriöttömäksi. Samaan syssyyn mennee myös "globaali" PA-ekvalisaattori.

Tavoite olisi tehdä tavikselle ymmärrettävä ja oletusasetuksillaan "fluidisti" toimiva keskitetty (gui) äänenhallinta "palikka". Kyse on siis enimmäkseen hienosäädöistä.

Monoliittinen audiojärjestelmä kuormittuu ja räsähtelee, ehkä tarpeettomasti, jos ja kun VLC ja muut audiosoittimet eivät ole PA:n säädöille alisteisia. Lieköhän tämä historian painolastia?

Diskantin heleyden puutteesta veikkaan korvakuulolta, että PA/Toisto-ohjelma ei todellakaan kellota 48kHz:iä. Oletettavasti monet toisto-ohjelmat ovat edelleen yhden äänilähteen aikakaudella? Ohjauskäytännöt saattavat edelleen olla ristiriidassa nykykäytännön kanssa.

Eli, kärjistäen: Toisto-ohjelmat, poislukien VLC ja vastaavat, ohjataan ylikirjoitetusti toimimaan PulseAudion kautta. Poistetaan mahdollisuus PA:n ohittamisen ilman pätevää syyytä. Globaalit audio asetukset määritellään pääsääntöisesti Ohjelman ulkopuolelta!

Em. koskee työpöytätaviksia, eikä HiFi hörhelöitä. Voi tätä sarvien kalinan kakofoniaa!  ;D

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #7 : 21.04.13 - klo:11.59 »

Voit muuten tarkistaa ääniulostulon näytteenottotaajuuden päätteessä komennolla:
Koodia: [Valitse]
cat /proc/asound/card0/pcm0p/sub0/hw_params(Nollan sijaan nuo numerot voivat olla jotain muitakin riippuen raudasta ja valituista ulostuloista)

Eipä näy moista. ls /proc/asound/card0/ listaa
codec#0  codec#3  id
ja aplay -l listaa
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Joista HDMI on käytössä. Muita en ole edes kokeillut.
Tuo on ssh yhteydellä tempastu Atom Ion koneesta.
Vahvistin kyllä näyttää oikein näytteenottotaajuuden.
Mediat hoitaa XBMC. Mielessä on kyllä mpd:n tai jonkun
muun soitto-ohjelman asennus.

Pienen kokeilun tein Kubuntulla ja 24/96 flac tiedostolla.
Amarok 2.5.0 soitti hyvin mp3, flac, mutta kaatui 24/96 flac
tiedostoon. Näytteenottotaajuus ok vahvistimen mukaan CD
ripeissä. Joku Dragon (kai KDE oletus) soitti mutta kuulosti
kamalalta. Asensin VLC:n ja se selvisi melkein kelvollisesti.
Jopa Youtube ja VLC samanaikaisesti. En muista näyttikö vahvistin
44.1 vai 48 kHz. Tämä optisella ulostulolla. VLC näytti teräpiirtoakin
kelvollisesti. XBMC:tä en viitsinyt testata, koska ei löydy paketin
hallinnasta. VLC siis soitti monikanava 24/96 flac tiedostoa,
niin että biisin tunnisti. Oikeasti moista ei ole järkeä soittaa ilman
HDMI-piuhaa. Kaikki ihan oletuksilla. Tietty alsamixerilla digitaalinen
ulostulo piti pistää päälle. Ja "laittomat" softat asennettu, jotta
mp3 toistuisi ja Nvidian näytönohjain toimisi (HD kuva).

Vastaavan voisi tehdä myös Win7. Navigaattori
pitäisi päivittää...Pelottaa tuo Win7 käynnistys vuoden tauon jälkeen
- varmaan triljoona päivitystä ja käyttökelvonton tunteja.

Amarok 2.6.0 on kokeilussa. Flac tiedostojen alussa kuuluu usein pieni
häiriö. Tiedä sitten johtuuko uudesta KDE 4.10 vai mistä. KDE 4.85 &
Amarok 2.5.0 on vakaampi. Amarok 2.7.0 on myös käännelty, mutta
käyttökokemukset vielä vähissä.

Heikki Ketoharju

  • Käyttäjä
  • Viestejä: 716
  • Tee enemmän, harmittaa vähemmän!
    • Profiili
    • heikki.ketoharju.info
Vs: Linuxin äänijärjestelmä
« Vastaus #8 : 21.04.13 - klo:12.39 »
Lainaus
Olen kyllä ennenkin huomannut että linuxin ääni systeemi on minulle
täysin käsittämätön.

Tämä ei ole dokumentti eikä täydellinen totuus asiasta mutta itse näen asian näin jos ajatellaan asiaa kakkuna johon ladotaan kerroksia päällekkäin:

Kakun alimmainen taso/kerros on ALSA tai FireWire.  Nämä elävät sulassa sovussa rinnakkain samalla alimmalla tasolla käskyttämällä suoraan varsinaista "äänirautaa".   ALSA: lla äänirauta on tyypillisesti niitä äänikortteja mitä koneesta löytyy sisältä tai USB: iin liitettynä, FireWire: llä taasen ulkoisia äänimoduleita (ammattikäyttö, studiot).

Tuota tasoa voi käyttää suoraankin useilla käyttäjän ohjelmilla mutta alimmalle tasolle lienee aika tyypillistä että se on vain yhden ohjelman ja käyttäjän käytettävissä kullakin hetkellä jonka takia on käytännöllistä lisätä tuohon päälle vielä jokin lisätaso joka huolehtii monen ohjelman/käyttäjän samanaikaisesta käytöstä.  Ellei tätä tehdä käy niin että ensimmäinen ohjelma joka käynnistetään varaa itselleen ALSA: n ja seuraavalle ohjelmalle/käyttäjälle ehdotetaan "odota kunnes äänilaite on vapaa" koska muu ei ole mahdollista.

Tästä eteenpäin asia jakautuu tällä hetkellä oikeastaan kahtia:  Joka miehen ääni ja ammattiääni.

Joka miehen ääni on tällä hetkellä toteutettu aika yksinkertaisesti:  Lisätään PulseAudio ("PA") tuohon kakkuun ALSA: n päälle ja ohjataan kaikki ohjelmat käyttämään ääntä sen läpi.  Tuo PA lisää monen ohjelma/käyttäjän kerroksen jolloin äänijärjestelmä ei ole enää lukittu/varattu vain yhdelle käyttäjän ohjelmalle kerrallaan.  PA on rajoittunut mutta riittävä (?) useimmille tavallisille käyttäjille.

Ammattiääni lisää kakkuun puolestaan alimman kerroksen päälle Jack-kerroksen ja mikäli käynnissä on    
sille ristiriitainen samaa tehtävää hoitava kerros (PulseAudio) niin se sulkee sen siksi aikaa kun Jack on käynnissä. Jack on hyvin monipuolinen, sisältää asiat joita ammattiäänen puolella tarvitaan ja tekee työnsä ammattikäytössä kuten halutaan mutta tavalliselle käyttäjälle hieman monimutkainen ymmärtää ja hallita.  

Itse pidän Jack: stä sen "kaikki mahdollisuudet tässä ja nyt" rakenteensa takia.  Jos ajatellaan sen käyttöä ainoana kakkoskerroksena tässä kakussa niin loppukäyttäjille sen monimutkaisuus pitäisi saada piiloon jollain perusasetuksilla ja vastaavasti kaikkien ohjelmien pitäisi osata tavalla tai toisella toistaa äänensä Jack: in kautta.  Tuota varten on jossain määrin olemassa erilaisia sovituksia, esimerkiksi VLC osaa käyttää Jack: iä suoraan kun sopiva lisäpalikka on asennettu jolloin Jack näkyy VLC: n äänivalinnoissa suoraan.  

Samoin PulseAudio voi toimia Jack: in läpi:

http://docs.fedoraproject.org/en-US/Fedora/14/html/Musicians_Guide/sect-Musicians_Guide-Integrating_PulseAudio_with_JACK.html

Tuon pitäisi mahdollistaa PulseAudion saumattoman käytön samaan aikaan kun Jack on käytössä, en ole kokeillut.

Oman lisävivahteensa ja ongelmakenttänsä tuohon tuo kun lähdetään jäljittelemään Windows: in äänijärjestelmää tuon Linux: in oman järjestelmän laajennuksena.  En ole syventynyt tuohon alueeseen. Lisäksi on olemassa joukko äänijärjestelmiä Linuxiin joita tänä päivänä käytetään enää harvoin.

Arvaan että tässä yhteenvedossa on jäänyt asioita huomaamatta ja virheitä voi myös olla, korjatkaa ja kommentoikaa/täydentäkää.

Hei!

Kyllä tuo periaatteessa pitää paikkansa, mutta yksi asia tuossa on sanottu väärin:
Pelkän ALSA:n avulla pystyi jo toistamaan ääntä useasta eri ohjelmasta samaan aikaan. Se oli kuitenkin hankalaa, ja vaati erillistä säätämistä. Alsa on järjestelmä, joka samaan aikaan keskustelee äänikorttien ja muiden rautalaitteiden kanssa, ja pyrkii tarjoamaan ohjelmille ja tietokoneen käyttäjälle näppäriä palveluja äänen käyttämiseksi. Syystä tai toisesta se on niin monimutkainen, että ainakin itseäni useimmiten hermostuttaa – ja siksi PulseAudio on niin hieno asia elämässä.

Toinen tarkennus on, että studioäänikortteja on muitakin kuin Firewire-kortit: Alsasta löytyy tuki esimerkiksi muutamille RME:n PCI-korteille, jotka on taatusti ammattilaisvehkeitä. USB-korteistakin löytyy muutamia studiokäyttöön tarkoitettuja, vaikka USB-korteilla onkin vähän enempi harrastelija-/puoliammattilaismaine. (Taustalla se, että USB:n tiedonsiirto ei ole jatkuvaa, toisin kuin Firewiren. Nykyään tämä ei ole juurikaan ongelma.)

Mitä tulee peren kysymykseen, niin minullakin on usein ongelmia, joita voisi kuvata lauseella "tein jotain, ja äänet katosivat". Niihin on onneksi olemassa mainio ennaltaehkäisy: älä tee "jotain". Jos se toimii, älä koske äläkä korjaa! Älä asentele mitään "testimielessä" tai "oppiaksesi", jos et oikeesti jaksa lukea pitkiä manuaaleja läpi ja opetella. Linux on järjestelmä, joka antaa luvan rikkoa kaiken, eikä välttämättä juuri kysele, tiedätkö mitä teet. Tämän olen niin monta kertaa saanut kantapään kautta oppia, ja korjaaminen on vaatinut kärsivällistä netin selaamista, joskus jopa järjestelmän uudelleenasennusta.
-
Minä kirjoittelen suomenkielisiä ohjeita Linux-musiikintekoon:
http://linux.fi/wiki/Musiikinteko_Linuxilla
-
Kansainvälinen Linux-audio -wiki, sovellusluettelo ja äänikorttitietokanta:
http://wiki.linuxaudio.org

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #9 : 21.04.13 - klo:12.46 »

Voit muuten tarkistaa ääniulostulon näytteenottotaajuuden päätteessä komennolla:
Koodia: [Valitse]
cat /proc/asound/card0/pcm0p/sub0/hw_params(Nollan sijaan nuo numerot voivat olla jotain muitakin riippuen raudasta ja valituista ulostuloista)

Eipä näy moista.

Kernelisi asetus CONFIG_SND_VERBOSE_PROCFS ("Verbose procfs contents") on kytketty pois päältä:

http://alsa.opensrc.org/Proc_asound_documentation#The_.2Fproc.2Fasound.2FcardX.2FpcmXX.2F_directories


Kyllä tuo periaatteessa pitää paikkansa, mutta yksi asia tuossa on sanottu väärin:
Pelkän ALSA:n avulla pystyi jo toistamaan ääntä useasta eri ohjelmasta samaan aikaan. Se oli kuitenkin hankalaa, ja vaati erillistä säätämistä.

Dmix on ollut oletuksena päällä ALSA:n asetuksissa versiosta 1.0.9rc2 lähtien. Pahimmat ongelmat sen kanssa liittyvät digitaalisiin ääniulostuloihin, jotka pitää edelleen asettaa manuaalisesti, ja harvinaisempiin äänilaitteisiin, jos ajurikohtaisissa asetustiedostoissa ei ole huomioitu dmixiä kunnolla.

Tietääkseni dmix toimii Ubuntussa edelleen suoraan, eli jos poistat PulseAudion, samanaikaiset äänet toimivat analogisissa ulostuloissa automaattisesti dmixin kautta. En tosin ole kokeillut ihan viime aikoina.
« Viimeksi muokattu: 21.04.13 - klo:13.00 kirjoittanut nm »

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #10 : 21.04.13 - klo:13.49 »

Kernelisi asetus CONFIG_SND_VERBOSE_PROCFS ("Verbose procfs contents") on kytketty pois päältä:

http://alsa.opensrc.org/Proc_asound_documentation#The_.2Fproc.2Fasound.2FcardX.2FpcmXX.2F_directories
Kiitos. Ja olipa mieleenkiintoinen linkki.

Lainaus
Dmix on ollut oletuksena päällä ALSA:n asetuksissa versiosta 1.0.9rc2 lähtien. Pahimmat ongelmat sen kanssa liittyvät digitaalisiin ääniulostuloihin, jotka pitää edelleen asettaa manuaalisesti, ja harvinaisempiin äänilaitteisiin, jos ajurikohtaisissa asetustiedostoissa ei ole huomioitu dmixiä kunnolla.

Tietääkseni dmix toimii Ubuntussa edelleen suoraan, eli jos poistat PulseAudion, samanaikaiset äänet toimivat analogisissa ulostuloissa automaattisesti dmixin kautta. En tosin ole kokeillut ihan viime aikoina.
Dmix on oletuksena. Oman kokemuksen mukaan ei ole päällä digitaalisessa ulostulossa. Kun laite on varattu moni soitto-ohjelma ei suostu edes käynnistymään. Eli kun Pulse Audio on poistettu VLC ei näytä edes videota jos joku toinen ohjelma jo kirjoittaa äänilaitteeseen.

Työpöydilläkin on oma äänipalvelimensa (onkohan oikea termi?). KDE käyttää Phononia. Joka pukkaa ylleensä äänet gstreamerille.  Kai se Pulse sillä kummittelee jossain välissä jos asennettu. Phonon
tunnistaa yleensä äänilaitteet ja sillä asettaa oletukseksi sen digitaalisen ulostulon. Ei kyllä miksaile
useita äänilähteitä yhteen. Oma sotkunsa tuossakin kun osa äänistä menee Phononin kautta ja osa ei.


ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #11 : 21.04.13 - klo:20.37 »
Täällä onkin tullut paljon hyviä kommentteja ja yritin tarkastaa joitakin asioita.  Sivukommenttina, ALSA tarkoittaa kahta eri asiaa: Organisaatiota ja itse teknistä määritystä ääniasioista mikä voi olla joskus hieman sekoittavaa.

1) Dmix:  Tuo puuttuu tuosta ensimmäisestä hahmotelmastani.  "Dmix" on ALSA: n plugin joka lisää ALSA: an teknisenä toimintona "muxauksen" eli softamiksauksen eli käytännössä monen käyttäjän/prosessin tuen.  Teknisenä mallina itse miellän tuon istuvan kerroksista puhuttaessa ALSA:n päällä saman kaltaisesti kuin PulseAudio (tai mikä muu tuon kerroksen toteutus hyvänsä) vaikka tuo "Dmix" -plugin onkin ALSA-organisaation oma toteutus tuohon tarkoitukseen.  Sain myös sen käsityksen että vaikka "Dmix" olisi mukana niin se ei välttämättä ole käytössä automaattisesti vaan käyttäjän on tiedettävä asettaa se käyttöön / reitittää tilanteen mukaan.

2)  Phonon:  Joskus aiemmin oli "aRTsd" minkä tilalle on tullut "Phonon" kaiketikin sen takia että KDE: n koodauksessa on käytetty "Qt" apupakettia jonka natiivi äänijärjestelmä on "Phonon".  

Jos törmäät lyhenteeseen "OSS" niin tuo oli aika historiallinen äänijärjestelmä jota käytettiin ennen ALSA: n yleistymistä.  Monet tietävät laitteen "/dev/dsp" joka liittyy tuohon järjestelmään.  Jos jokin ohjelma tarvitsee tuota niin sen saa nykyäänkin lisättyä toimimaan eri teitä, esim. PA: n kautta.  Myöskin "ESD" oli aiemmin olemassa, tuo toiminnallisuus lienee nykyään integroitu muualle.
 
Jälleen saattaa "äänikakussani"  olla tarkennuksen sijaa monella nurkalla.  Tuossa olisi kyllä myös Wikin ja mallikuvien paikka havainnollistamaan asiaa eri tilanteissa.  "Qt" on tuonut oman äänijärjestelmänsä KDE: n mukana ja lieneekö Javalla jotain omia kuvioitansa --- tuohon en ole tutustunut.

      
« Viimeksi muokattu: 21.04.13 - klo:20.40 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #12 : 21.04.13 - klo:22.27 »

Jos törmäät lyhenteeseen "OSS" niin tuo oli aika historiallinen äänijärjestelmä jota käytettiin ennen ALSA: n yleistymistä.

En pidä OSS-äänijärjestelmää kovinkaan historiallisena. ALSA yleistyi kun OSS muuttui maksulliseksi. Siihen oli muistaakseni saatavilla myös maksullisia ajureita eri korteille. Nyttemmin OSS tai OSS4 on taas vapaan lisenssin alla. En ole seurannut kehitystä tai asentanut ikinä. Ajatus kokeilemisesta on kyllä käynyt mielessä. Kyllä se on vaihtoehtona vielä olemassa. Asennusohjeita löytyy helposti Googlella Ubuntu.., Arch..

Dmix:in lisäksi ALSA:lla on muitakin plugeja. Niitä taitaa olla yli 20... ja niitä säädellään .asoundrc-tiedostossa. Tuosta ei helposti Wikiä kirjoita. Ainakin menee oman ymmärryksen yli. Wikistä olisi varmasti monelle iloa. Yhä useammalla on kotiteatterivahvistin ja sehän ei helposti ääntä päästä - riippuen hieman tapauksesta. Oman vahvistimen kapulassa on 63 kpl nappeja + valintakytkin. Sitten mikserissä on aika rivi säätimiä. Siitä ei ilman neuvoja selviä...

Heikki Ketoharju

  • Käyttäjä
  • Viestejä: 716
  • Tee enemmän, harmittaa vähemmän!
    • Profiili
    • heikki.ketoharju.info
Vs: Linuxin äänijärjestelmä
« Vastaus #13 : 22.04.13 - klo:11.26 »
Hei!

Itsekään en koskaan ole kunnolla Alsaa oppinut. Tiedän jotain, kuten vaikka sen, että Alsassa on myös midi-ajurit, sekä Alsa Seq -niminen osuus, jonka avulla ohjelmat voivat luoda virtuaalisia midiportteja ja lähetellä dataa toisilleen. En tiedä, löytyisikö Seqistä myös sisäänrakennettu sekvensseri, vai onko sellainen ehkä ollut jossain rautakorteissa joskus.

ESD oli Gnomen äänijärjestelmä samaan tapaan kuin aRTSd oli KDE:n. Ongelma vaan oli, että harva ohjelma osasi laittaa ääntä ulos ESD:n kautta, ja kun Alsan softamiksauskaan ei mulla toiminut, niin ESD varasi koko äänikortin järjestelmä-ääniä varten ja esimerkiksi tietokonepeleistä jäi äänet kuulumatta. 'killall esd' oli monesti kokeilemani loitsu :) Tämä siis Ubuntu 6.06:n aikaan.
-
Minä kirjoittelen suomenkielisiä ohjeita Linux-musiikintekoon:
http://linux.fi/wiki/Musiikinteko_Linuxilla
-
Kansainvälinen Linux-audio -wiki, sovellusluettelo ja äänikorttitietokanta:
http://wiki.linuxaudio.org

2-mieli-FI-poliisi

  • Vieras
Vs: Linuxin äänijärjestelmä
« Vastaus #14 : 24.04.13 - klo:21.08 »
Tavallaan kyse on ajaaskelin kerros- ajattelun lisäksi myös "modulien" liitospisteiden järjestyksestä. Softapohjaisesti (PA?) luodaan 48kHz audiolukunopeus, joka ohjataan äänikortin outputtiin downshitaamattomana. Äänikortit eivät tietääkseni tunnista inputin signaalin tuuheutta vaan tuuttaavat tavaran ulos siinä kunnossa kun se sinne sisään tulee. Toisaalta, jos 16 bitin äänikortit on tehty väärin ilman suoran läpimenon (throughput) mahdollisuutta (vahvistimelle), niin audio korruptoituu pahasti inputin lukunopeuden ollessa 96khz/24 bittistä jne. Tämä on ainakin oma *tuntumani ongelmakenttään.

Saman puolesta puhunee myös se, että 16 bittinen äänikorttini ei koskaan tai milloinkaan eikä millään käyttöjärjestelmällä ole toistanut 96kHz määritettyä (hw settings) audiota kunnolla. Eli, tuo 48kHz on "ylikellotuksista" ainut 16 bittisillä toimiva. Ja ilman raudan "over the top" kellotusta, myös 24/96 audion pitää kuulua 16/44.1 äänikortista aivan normaalisti.

Lisäksi olisi mukavaa, jos esim. VLC:n elokuvan 7.1 audioraidat ympättäisiin Järjestelmäasetuksissa määriteltyyn 2:n kaiuttimen äänentoistoon suoraan ilman, että osa kanavista katoaa matkalla kuin tuhka tuuleen. Malliksi: Vasemmat vähän niin kuin vasempaan kanavaan jne. ja loppu vähän molempiin kanaviin.

Toisaalta Mplayerin codecit uskovat liian sokeasti toistettavan tiedoston "info sheettejä". Avi file väitti olevansa 60fps, mutta tiedostokoon (yms) perusteella kyse oli normaalista 29fps videosta. (S)Mplayer teki turhaa työtä käskettyä (80% cpu) ja VLC dissasi valheet toistaen saman kuten pitääkin (20% cpu).

Eli, linuxeille "14.04" on äänijärjestelmä vielä vähän hakusessa!  8)

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Linuxin äänijärjestelmä
« Vastaus #15 : 24.04.13 - klo:22.09 »
leffakoneessa testailin nm:n antamaa ohjetta
Koodia: [Valitse]
cat /proc/asound/card0/pcm0p/sub0/hw_paramsToimii kun kerneli käännetty hieman paremmin taas!
HDMI:n kautta ei tunnut olevan mikään dmix päällä oletuksena. 48 kHz (DVB), 44,1 kHz (CD) ja jopa 24/96 (2 kanavainen ja monikanavainen flac) tulee ulos. Ohjelmina käytin vdr-sxfe ja XBMC.  Mitään .asoundrc tiedostoa ei ole asennettu. Jos ulostulo olisi analogisesta liitännästä tulos olisi ehkä eri. Vaan ei ole ollut käytössä pitkään aikaan.

Tilanne muuttuisi jos haluaisi ääntä ulos useammasta lähteestä yhtä aikaa. Silloin pitäisi ottaa dmix ja/tai PA käyttöön. DVD:n monikanava ääni kyllä taitaa olla sellaista, että ei siihen mitää voi miksata joukkoon.

Ostin pienen EeeBox Atom Ion koneen media toistimeksi ja TV-ohjelmien tallentimeksi kun kyllästyin säätämään kahta näyttöä, työpöyttää, DVD/DVB toistoa ym. samassa pöytäkoneessa. EeeBox pyörittää XBMC:tä OpenBoxin päällä. Kun on vain yksi ohjelma käytössä ei tarvitse tapella erilaisten miksausten kanssa. Taustalla myös sähkön säästö. Nyt ei mene yli 200W virtaa TV-ohjelman tallentamiseen tai toistoon.   

2-mieli-FI-poliisi

  • Vieras
Vs: Linuxin äänijärjestelmä
« Vastaus #16 : 03.05.13 - klo:15.38 »
Audiopuolesta kiinnostuneille mielenkiintoista ja harvinaisen selkokielistä materiaalia 3.9 kerneliin liittyen.
http://voices.canonical.com/david.henningsson/2013/01/18/upcoming-changes-to-the-intel-hda-drivers/
Kehittäjät avaavat omasta näkökulmastaan sitä mitä olen (loppukäyttäjän näkövinkkelistä) kutsunut Alsan ja Pulsen (Jack) väliseksi sodaksi. Ilmeisesti yrittävät pyyteettömän tosissaan hanskoa teknistä tyrmäystä ottelulle. Tosin seuraavaksi kehään nousee uusi vastustaja Systemd, joka on alkujaan Init Daemon -tallin kasvatteja.

Tiedä näistä sitten, mutta täytyy toivoa, että takamatkalta kehitys-spurtin ottanut audiotoisto on pian sillä tasolla. että kaalinlehdille taotut herkät korvani eivät jatkossa enää huomaa ärsykettä siellä ja toista täällä.