Sida 1 av 1

Mono output med ALSA/amaroK [LÖST]

Postat: 11 aug 2008, 02:15
av akooha
Hej,

Jag förstår inte hur jag ska göra för att få ljudet nermixat till en kanal(mono). Jag har bara en högtalare och med 2 kanaler så tappar jag ena kanalen. Är det någon som vet hur detta går att lösa?


Tack på förhand,

Mattias.

Re: Mono output med ALSA/amaroK

Postat: 11 aug 2008, 08:21
av mcNisse
Starta ljudmixern (det brukar bara vara att högerklicka på högtalarikonen, kde). Där hade jag ett val "Mix mono" det borde vara det du är ute efter.

Re: Mono output med ALSA/amaroK

Postat: 11 aug 2008, 19:56
av akooha
Slarvigt av mig att inte nämna att jag använder Gnome, och inte KDE.

Re: Mono output med ALSA/amaroK

Postat: 11 aug 2008, 20:29
av mcNisse
Jag tycker att det borde fungera på liknande sätt under gnome...

Re: Mono output med ALSA/amaroK

Postat: 13 aug 2008, 01:56
av akooha
Tyvärr så tycker tydligen inte Gnome-utvecklarna likadant som du, enligt vad jag förstår.

Är det ingen som har en lösning på detta till synes enkla problem? Är det så att detta är en av de utmaningar där Ubuntu går bet?

Re: Mono output med ALSA/amaroK

Postat: 13 aug 2008, 06:19
av dmz
mcNisse skrev:Starta ljudmixern (det brukar bara vara att högerklicka på högtalarikonen, kde). Där hade jag ett val "Mix mono" det borde vara det du är ute efter.
Det är i precis sådana här fall jag anser att en lösning som denna fungerar betydligt bättre:

Starta terminalen och skriv alsamixer.

Re: Mono output med ALSA/amaroK

Postat: 13 aug 2008, 20:17
av akooha
dmz skrev:Det är i precis sådana här fall jag anser att en lösning som denna fungerar betydligt bättre:

Starta terminalen och skriv alsamixer.
Och var hittar jag inställningar för att nermixa till en kanal? Jag får bara upp en volymkontrol i textläge. Ingenting om monomix.

Re: Mono output med ALSA/amaroK

Postat: 13 aug 2008, 20:32
av Rune.K
Jag använder själv amaroK.

I amaroK väljer du Settings> Configure Amarok > Engine (i högermenyn) > i vänsterdelen finns ett alternativ som heter "Speaker arrangement" där kan du välja "Mono 1.0".
(Jag har det inställt på Stereo 2.0, men jag har 2 högtalare...)
Prova!
Och återkom gärna om det lyckades eller inte...
#rune

Re: Mono output med ALSA/amaroK

Postat: 15 aug 2008, 13:57
av akooha
Att välja Mono 1.0 gjorde ingen skillnad, tyvärr. Något annat man kan prova?

Re: Mono output med ALSA/amaroK

Postat: 15 aug 2008, 14:10
av Konservburk
akooha skrev:Jag förstår inte hur jag ska göra för att få ljudet nermixat till en kanal(mono). Jag har bara en högtalare och med 2 kanaler så tappar jag ena kanalen. Är det någon som vet hur detta går att lösa?
Jag vet hur man kan lösa detta... men det kräver lite pillande i en config-fil. Har du någonting emot ett sådant tillvägagångssätt?

Re: Mono output med ALSA/amaroK

Postat: 17 aug 2008, 19:55
av akooha
Jag har ingenting emot att sitta och pilla i config-filer, så länge jag vet vad jag ändrar på. Jag är inte en total nybörjare när det kommer till OS, men jag är inte van vid linux än. Jag uppskattar all hjälp jag kan få.

Re: Mono output med ALSA/amaroK

Postat: 17 aug 2008, 21:13
av Rune.K
akooha skrev:Att välja Mono 1.0 gjorde ingen skillnad, tyvärr. Något annat man kan prova?
Det verkade som det fungerade med att ändra till Mono 1.0 i amaroK i min dator.
Om jag använder just ALSA har jag ingen aning om (kör debian lenny/sid kde).

Är det någon som har länk till en ljudfil där man kan testa höger/vänster kanal, som säger typ "detta är vänster högtalare och detta är höger högtalare".
Så ska jag testa igen i amaroK om Mono 1.0 fungerar.
#rune

Re: Mono output med ALSA/amaroK

Postat: 17 aug 2008, 21:59
av Konservburk
Rune.K skrev:Är det någon som har länk till en ljudfil där man kan testa höger/vänster kanal, som säger typ "detta är vänster högtalare och detta är höger högtalare".
Du kan använda programmet speaker-test:

Kod: Markera allt

speaker-test -c2 -twav

Re: Mono output med ALSA/amaroK

Postat: 17 aug 2008, 22:02
av Konservburk
akooha skrev:Jag har ingenting emot att sitta och pilla i config-filer, så länge jag vet vad jag ändrar på.
Det är ALSAs config-fil du vill pilla i. Det finns en global som gäller för alla användare (/etc/asound.conf), och en lokal som är användarspecifik (~/.asoundrc). Jag föreslår att du åtminstone till att börja med ändrar i den lokala som inte kräver några speciella rättigheter för att komma åt. Den gäller dessutom före den globala.

Men nog med förvirrande snack om den biten. Du ska alltså leta reda på filen ~/.asoundrc, som är en dold fil (filnamnet börjar med en punkt) direkt i din hemkatalog. Om du vill komma åt den från filhanteraren nautilus så måste du först välja att visa dolda filer (tryck ctrl+h). Om det skulle vara så att du inte alls kan hitta filen så beror det antagligen på att den inte finns. Men det är inget att bli orolig över, då är det bara att du skapar den, dvs öppnar en textredigerare och sparar med det filnamnet direkt i hemkatalogen.

Nu till intressanta biten. Du vill använda ett enkelt ALSA-plugin som flyttar runt ljudkanalerna så att både höger och vänster kanal hamnar i låt oss säga vänster högtalare. Det kan se ut ungefär så här:

Kod: Markera allt

pcm.!default {
  type plug
  slave {
    pcm hw
    channels 2
  }
  ttable [
    {0 1}
    {0 1}
  ]
}
Syntaxen för detta är väldigt lustig, och inte helt lätt att förstå sig på. Men i princip betyder pcm.!default att du vill ändra på ALSAs standard-enhet, dvs den ALSA-enhet som program skickar ljudet till som standard. I normala fall skickas ljudet vidare direkt till ljudkortet utan konstigheter, men det vill vi ändra på. Därför använder vi ett ALSA-plugin: type plug.

Sedan talar slave om vart ljudet ska skickas vidare. I det här fallet ska två ljudkanaler channels 2 skickas vidare till ljudkortet pcm hw. Om du har mer än ett ljudkort måste du ange vilket som gäller, t.ex. pcm hw:Audigy2 om ljudkortet heter Audigy2, eller bara pcm hw:0 för det första ljudkortet.

Tillslut kommer den för oss viktigaste biten ttable som talar om hur de olika ljudkanalerna ska flyttas runt och ändra styrka innan de skickas vidare. Eftersom det handlar om två kanaler så består tabellen av två rader, den översta raden talar om vart den västra ljudkanalen ska skickas, medan den nedre raden talar om motsvarande för den högra ljudkanalen. Den första siffran på varje rad anger till vilken högtalalare den specifika kanalen ska skickas, 0 för vänster högtalare och 1 för höger högtalare. Den andra siffran anger hur stor andel av ljudstyrkan som ska skickas vidare, där 1 betyder hela ljudstyrkan, 0.5 halva ljudstyrkan, osv.

I vårt fall vill vi skicka hela ljudstyrkan från båda ljudkanalerna till en och samma högtalare, dvs två rader med {0 1} om allt ska hamna i vänster högtalare, eller två rader med {1 1} om allt istället ska hamna i höger högtalare. Vilket du väljer beror ju såklart på om din enda högtalre råkar vara vänster eller höger.

Re: Mono output med ALSA/amaroK

Postat: 17 aug 2008, 22:06
av Rune.K
Konservburk skrev:
Rune.K skrev:Är det någon som har länk till en ljudfil där man kan testa höger/vänster kanal, som säger typ "detta är vänster högtalare och detta är höger högtalare".
Du kan använda programmet speaker-test:

Kod: Markera allt

speaker-test -c2 -twav
Tack!
Men vad jag förstår så visar det bara att jag kopplat vänster/höger rätt.

Vad jag egentligen är ute efter är en mp3/wav/ogg-fil som jag kan spela i amaroK, för att testa om det fungerar med att slå ihop vänster och höger kanal till en mono...
#rune

Re: Mono output med ALSA/amaroK

Postat: 17 aug 2008, 22:50
av Konservburk
Rune.K skrev:
Konservburk skrev:

Kod: Markera allt

speaker-test -c2 -twav
Tack!
Men vad jag förstår så visar det bara att jag kopplat vänster/höger rätt.

Vad jag egentligen är ute efter är en mp3/wav/ogg-fil som jag kan spela i amaroK, för att testa om det fungerar med att slå ihop vänster och höger kanal till en mono...
Ljudfilerna som speaker-test använder sig av hittar du i /usr/share/sounds/alsa/. Bara att spela upp i amorak, eller vad du nu hade tänkt dig.

Re: Mono output med ALSA/amaroK

Postat: 28 aug 2008, 04:21
av akooha
Ett stort tack till den underbara skaran människor på Ubuntu-se-forumet. En liten ändring av config-filen var allt som behövdes. Ett extra tack till Konservburk för förklaringen av config-filens syntax.

Nu njuter jag av ett fantastiskt välklingande enkanalsljud.


Tack igen.