Gå til innhold

Problem med alsa/.asoundrc (ubuntu 8.10)


EirikLF

Anbefalte innlegg

Har nettopp lagt inn ubuntu på PCen, og holder på å styre med oppsettet. Det aller meste ser ut til å fungere greit til nå, men sliter med lyden.

Har ett creative SB audigy SE, og logitech x-540, og vil gjerne få brukt alle kanalene. Stereolyd har funket fra første sekund, men den klarer ikke å få til surround. Det virker som om den lister opp de tre lydutgangene som separate devices, og dermed ikke klarer å kjøre lyd over alle tre. Har derfor søkt litt, og det eneste jeg har funnet som kan løse dette er en .asoundrc eller asound.conf fil. Har forsøkt med små testkoder for å se om det fungerer, men det ser ikke sånn ut. Jeg kan ikke finne igjen de virtuelle enhetene noe sted, selv om de ligger i filene.

 

Så, er det noen som vet hva som må gjøres, noe som må aktiveres for at den skal lese disse filene, eller noe jeg gjør galt?

 

Edit:

  pcm.creative {
type hw
card 0
device 0
}

Har lagt til dette i en tekstfil, kalt den asound.conf, og lagt den i mappa /etc som ligger på rotnivå i linuxpartisjonen, burde det ikek da dukke opp en virtuell enhet kalt creative noe sted?

(denne fila vil jo åpenbart ikke hjelpe med å få surround opp å gå, men er bare for å teste om jeg kan få konfigurert driveren)

Endret av EirikLF
Lenke til kommentar
Videoannonse
Annonse

Legg egne konfigurasjoner i brukermappen med navnet .asoundrc

Eksisterer den filen vil nemlig ikke /etc/asound.conf bli lest.

 

Nå har jeg aldri konfigurert alsa, men jeg tror at hver logisk pcm enhet må ha en kontrollenhet også.

 

EDIT: beklager, det er aplay -L for logiske enheter, ikke -l

Endret av NorthWave
Lenke til kommentar

lagde .asoundrc i stedet, og la den i mappen med brukernavnet mitt, la til en controldevice og for sikkerhets skyld.

 

Her er hva som kom opp med aplay -l og aplay -L:

 

eirik@EiriksPC:~$ aplay -L

front:CARD=CA0106,DEV=0

CA0106, CA0106

Front speakers

rear:CARD=CA0106,DEV=0

CA0106, CA0106

Rear speakers

center_lfe:CARD=CA0106,DEV=0

CA0106, CA0106

Center and Subwoofer speakers

side:CARD=CA0106,DEV=0

CA0106, CA0106

Side speakers

surround40:CARD=CA0106,DEV=0

CA0106, CA0106

4.0 Surround output to Front and Rear speakers

surround41:CARD=CA0106,DEV=0

CA0106, CA0106

4.1 Surround output to Front, Rear and Subwoofer speakers

surround50:CARD=CA0106,DEV=0

CA0106, CA0106

5.0 Surround output to Front, Center and Rear speakers

surround51:CARD=CA0106,DEV=0

CA0106, CA0106

5.1 Surround output to Front, Center, Rear and Subwoofer speakers

surround71:CARD=CA0106,DEV=0

CA0106, CA0106

7.1 Surround output to Front, Center, Side, Rear and Woofer speakers

iec958:CARD=CA0106,DEV=0

CA0106, CA0106

IEC958 (S/PDIF) Digital Audio Output

null

Discard all samples (playback) or generate zero samples (capture)

front:CARD=SI7012,DEV=0

SiS SI7012, SiS SI7012

Front speakers

surround40:CARD=SI7012,DEV=0

SiS SI7012, SiS SI7012

4.0 Surround output to Front and Rear speakers

surround41:CARD=SI7012,DEV=0

SiS SI7012, SiS SI7012

4.1 Surround output to Front, Rear and Subwoofer speakers

surround50:CARD=SI7012,DEV=0

SiS SI7012, SiS SI7012

5.0 Surround output to Front, Center and Rear speakers

surround51:CARD=SI7012,DEV=0

SiS SI7012, SiS SI7012

5.1 Surround output to Front, Center, Rear and Subwoofer speakers

iec958:CARD=SI7012,DEV=0

SiS SI7012, SiS SI7012

IEC958 (S/PDIF) Digital Audio Output

eirik@EiriksPC:~$ aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: CA0106 [CA0106], device 0: ca0106 [CA0106]

Subdevices: 1/1

Subdevice #0: subdevice #0

card 0: CA0106 [CA0106], device 1: ca0106 [CA0106]

Subdevices: 1/1

Subdevice #0: subdevice #0

card 0: CA0106 [CA0106], device 2: ca0106 [CA0106]

Subdevices: 1/1

Subdevice #0: subdevice #0

card 0: CA0106 [CA0106], device 3: ca0106 [CA0106]

Subdevices: 1/1

Subdevice #0: subdevice #0

card 1: SI7012 [siS SI7012], device 0: Intel ICH [siS SI7012]

Subdevices: 1/1

Subdevice #0: subdevice #0

 

 

Kan ikke se noe jeg har laget der (kalte den test). :(

Som du kanskje ser oppgir den lydkortet som fire devices, men jeg mener det ser ut til at det skal være fire subdevices på en device. Er derfor jeg vil lage en logisk enhet. Hvis det finnes noen programmer som kan klare noe sånt hadde det vært utrolig greit, men har ikke funnet noe.

Endret av EirikLF
Lenke til kommentar

1: jeg finner ikke surround 51 i noe program.

2: surround 51 sender all lyden til device 0 card 0

 

surround51:CARD=CA0106,DEV=0

CA0106, CA0106

5.1 Surround output to Front, Center, Rear and Subwoofer speakers

 

Problemet er bare at device 0 hos meg kun har to kanaler, og kun går til fronthøyttalerne, dermed blir det dårlig med surround. De fire andre kanalene ligger på device 1 og 2, driveren oppfatter lydkortet feil. Jeg må derfor få dirrigert lyden til de forskjellige devicene, og det eneste jeg har funnet som gjør noe slikt er denne koden, fra asoundrc-sida

 

 

 

pcm.ttable4 {

@args [ CARD DEV SUBDEV ]

@args.CARD {

type string

default {

@func getenv

vars [

ALSA_PCM_CARD

ALSA_CARD

]

default {

@func refer

name defaults.pcm.card

}

}

}

@args.DEV {

type integer

default {

@func igetenv

vars [

ALSA_PCM_DEVICE

]

default {

@func refer

name defaults.pcm.device

}

}

}

@args.SUBDEV {

type integer

default 0

}

type route;

hint {

show {

@func refer

name defaults.namehint.basic

}

description "4 channel multi route"

}

slave.pcm {

type multi;

slaves.a.pcm {

type hw

card $CARD

device $DEV

subdevice $SUBDEV

}

slaves.a.channels 2;

slaves.b.pcm {

type hw

card $CARD

device $DEV

subdevice { @func iadd integers [ $SUBDEV 1 ] }

}

slaves.b.channels 2;

bindings.0.slave a;

bindings.0.channel 0;

bindings.1.slave a;

bindings.1.channel 1;

bindings.2.slave b;

bindings.2.channel 0;

bindings.3.slave b;

bindings.3.channel 1;

}

ttable.0.0 1;

ttable.1.1 1;

ttable.2.2 1;

ttable.3.3 1;

}

# sometimes apps need matching ctl device

ctl.ttable4 {

@args [ CARD DEV SUBDEV ]

@args.CARD {

type string

default {

@func getenv

vars [

ALSA_PCM_CARD

ALSA_CARD

]

default {

@func refer

name defaults.pcm.card

}

}

}

@args.DEV {

type integer

default {

@func igetenv

vars [

ALSA_PCM_DEVICE

]

default {

@func refer

name defaults.pcm.device

}

}

}

@args.SUBDEV {

type integer

default 0

}

type hw;

card $CARD;

}

 

 

 

 

Finnes det noe program som kan løse dette hadde det vært ypperlig, men har ikke funnet noe. Derfor er det så irriterende at jeg ikke får til asoundrc.

Lenke til kommentar
1: jeg finner ikke surround 51 i noe program.

2: surround 51 sender all lyden til device 0 card 0

 

Finnes det noe program som kan løse dette hadde det vært ypperlig, men har ikke funnet noe. Derfor er det så irriterende at jeg ikke får til asoundrc.

Personlig ville jeg slettet den konfigen du har der. Den skal ikke være nødvendig og gir bare en ekstra potensiell feilkilde.

 

1: Programmer viser hardware-enheter og de vil forsøke å finne ut hvilken PCM-enhet som er korrekt (en del bruker bare default som vanligvis er det samme som front). Gå inn i et program, velg ALSA som utgangsmodul hvis nødvendig, og forsøk "surround51" eller "plug:surround51" (uten klammer).

 

Men det er mulig at problemet ditt ikke ligger i Alsa i det hele tatt. Ubuntu bruker ikke alsa direkte, men Pulseaudio som mellomlag. Så det kan være årsaken til problemene dine.

http://www.pulseaudio.org/wiki/FAQ#Ihaveas...hefrontspeakers

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...