[Linux] afspelen van mp3/wave op halve snelheid

Pagina: 1
Acties:

  • 2P
  • Registratie: November 2001
  • Laatst online: 21-06 01:34
De titel zegt het al.
Me .mp3 en ook .wav files worden op halve snelheid afgespeeld :'(
Ik draai Debian (testing) met kernel 2.2.20. Me geluidskaart is een ESS ding ofzo, hier is de dmesg:
code:
1
2
3
Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
SB 3.01 detected OK (220)
ESS chip ES1888 detected

Ik laad hiervoor de module sb.o, hier is me lsmod output:
code:
1
2
3
4
5
6
Module          Size  Used by    
sb             52782   0 
uart401          8416   0  [sb]
sound           94848   0  [sb uart401]
soundlow             608   0  [sound]
soundcore          4352   6  [sb sound]

Ik heb xmms, mp3blaster en mpg123 geprobeerd maar deze doen allemaal hetzelfde.

edit:

Ff iets meer informatie erbij:

Het afspelen gaat niet helemaal op halve snelheid, het gaat zelfs nog iets trager.
Ik heb Debian/Alpha, voor de Alpha architectuur dus, niet een Alpha versie.
Verder zijn dit de specs: Alpha 433 Mhz, 160 MB ECC SD-RAM, onboard geluidskaart (zie dmesg).
Ik ben 2.4.18 al aan het proberen, maar ik kwam er net achter dat me harddisk gaar is, bad blocks enzo :(


Please help!!

  • deadinspace
  • Registratie: Juni 2001
  • Nu online

deadinspace

The what goes where now?

Kan het zijn dat dat een 20 khz geluidskaart is? Zo ja, dan moet je naar ALSA toe denk ik. OSS (GNU/Linux' huidige sound subsystem) biedt geen mogelijkheid tot remixen door het OS of hardware, de applicatie moet dat zelf doen. Bij ALSA kan het wel door het OS of de hardware gebeuren.

Voor ALSA heb je btw wel een 2.4 kernel nodig (afaik), dus daar wil je misschien het eerste eens naar kijken.

  • 2P
  • Registratie: November 2001
  • Laatst online: 21-06 01:34
Op zondag 14 juli 2002 18:53 schreef deadinspace het volgende:
Kan het zijn dat dat een 20 khz geluidskaart is? Zo ja, dan moet je naar ALSA toe denk ik. OSS (GNU/Linux' huidige sound subsystem) biedt geen mogelijkheid tot remixen door het OS of hardware, de applicatie moet dat zelf doen. Bij ALSA kan het wel door het OS of de hardware gebeuren.

Voor ALSA heb je btw wel een 2.4 kernel nodig (afaik), dus daar wil je misschien het eerste eens naar kijken.
Volgens mij is het gewoon een 44 khz.
Maar goed, na een stuk of 6 pogingen met het compileren van een 2.4.18 kernel, had ik eindelijk 1tje die goed wou starten. En het afspelen van mp3's ging ook gewoon normaal. Het zat dus gewoon in die 2.2 kernel, buggy driver ofzo.

Probleem opgelost! :)

Heeft ALSA trouwens nog meer voordelen dan OSS? Betere geluidskwaliteit ofzo? Of zijn de drivers gewoon veel geavanceerder? Ik ga het nog wel ff proberen in ieder geval ;)

  • deadinspace
  • Registratie: Juni 2001
  • Nu online

deadinspace

The what goes where now?

Op zondag 14 juli 2002 22:49 schreef 2P het volgende:
Het zat dus gewoon in die 2.2 kernel, buggy driver ofzo.
Kan ja... 2.2 is nu ook al iets van 3+ jaar oud. Hardware support is er gewoon op vooruit gegaan in 2.4. Misschien was het ook wel een probleem specifiek voor alphas dat nu in 2.4 is opgelost...
Heeft ALSA trouwens nog meer voordelen dan OSS?
Ja.
Betere geluidskwaliteit ofzo?
Nee (misschien in uitzonderlijke gevallen).
Of zijn de drivers gewoon veel geavanceerder? Ik ga het nog wel ff proberen in ieder geval ;)
OSS (Open Sound System) is een API (Application Programming Interface). Maar deze API is wat beperkt. Zo kun je met OSS op je geluidskaart alleen geluiden afspelen op de mixing rates die de geluidskaart snapt. Als je een 8 khz wave wil afspelen op een 44 khz-only geluidskaart, dan zal het afspelende programma zelf die 8 khz moeten remixen naar 44. Dit is vooral een probleem bij goedkope kaartjes die alleen maar 48 khz kunnen, terwijl heel veel programma's rekeken op 44 khz.

Verder kun je met OSS het geluidsdevice een beperkt aantal keer openen, namelijk zoveel keer als je geluidskaart mixing channels heeft. Verreweg de meeste kaarten (SBLive is uitzondering) hebben maar één mixing channel, wat inhoudt dat je maar één programma tegelijkertijd de geluidskaart kunt laten gebruiken. Bijvoorbeeld OF XMMS OF een spelletje, niet en en (behalve als je het via een userspace sounddaemon zoals esd of artsd mixt).

ALSA staat voor Advanced Linux Sound Architecture. Advanced is precies wat het is vergeleken bij OSS. Met ALSA kan een programma gewoon zeggen "hier is een geluid van zoveel khz, speel het maar af". Het OS zelf (de kernel probably) remixt het dan naar iets dat de kaart snapt (als remixing nodig is). Ook kun je gewoon meerdere keren de geluidskaart openen. ALSA gebruikt dan daarvoor meerdere mixing channels als je die hebt, en anders mixt het OS de geluiden zelf.

Kortom: ALSA is gewoon praktischer vanuit gebruikersstandpunt. In 2.4 is ALSA optioneel (kan best zijn dat je ook je kernel moet hercompilen.. ik heb er nog niet naar gekeken), in 2.6 wordt het de default (afaik).
ALSA schijnt wel wat ingewikkelder te zijn om op te zetten (meerdere modules nodig bijv), en het is atm nog wat beta, dus niet vrij van potentiele problemen.

  • RG
  • Registratie: Augustus 2000
  • Laatst online: 28-11-2025

RG

Lambda

ALSA zit al een hele tijd in de 2.5 tree. Eindelijk heeft Linus het licht gezien. Hopen dat ze er een killer-geluidsinterface van gaan maken. Voor 2.4 heb je wel patches waardoor je kernel ALSA ondersteuning krijgt. Moet je wel weer een het compileren, maar dan heb je ook wat...

[deze advertentieruimte is te koop]