Sound Kratzt

JiYu

blutiger Anfänger
Nabend,

versuche gerade meine Soundkarte ordentlich zum laufen zu bekommen, aber leider kratzt die unmenschlich. Hab die Boxen schon an einem anderen Rechner (fBSD) ausprobiert und da funktionieren sie einwandfrei, aber unter OpenBSD machen sie gerade nicht so tollen sound wie sie wollen :)

Code:
dmesg | grep ac97
ac97: codec id 0x56494161 (VIA Technologies VT1612A)
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
ac97: codec id 0x56494161 (VIA Technologies VT1612A)
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
ac97: codec id 0x56494161 (VIA Technologies VT1612A)
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D
ac97: codec id 0x56494161 (VIA Technologies VT1612A)
ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D

Code:
 cat /etc/mixerctl.conf 
outputs.master=200,200
outputs.master.mute=off
outputs.headphones=160,160
outputs.headphones.mute=off

Ich benutze mpd zum Abspielen. Kennt jemand das Problem oder hat ne Idee?

Danke! && MfG JiYu
 
huhu - leider nein *bisher noch keine Soundprobleme OpenBSD hatte*

aaaber: Bist du sicher, das die Soundkarte okay ist? Ich hatte es schon ziemlich oft, das diese Klingen-Buchsen nicht mehr das tollste waren und manchmal auch geknackt haben.

BTW: Spricht eigentlich etwas dagegen, das Kabel direkt auf die Platine zu löten und die Buchse zu umgehen?
 
Ich fahre OpenBSD 4.0

auich0 at pci0 dev 31 function 5 "Intel 82801DB AC97" rev 0x01: irq 11, ICH4 AC97
ac97: codec id 0x41445374 (Analog Devices AD1981B)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auich0

auf einem Thinkpad X31 und bin auch schockiert vom Sound.

Mal aussen vorgelassen, dass 2 Meter Chinch äh "Klingeldraht" an einen eher bescheidenen Verstärker gehen usw. - ist er bei gleichen Musikdateien erheblich unsauberer als unter FreeBSD/Windows, was voher installiert war.

Bekomme auch immer mal Meldungen wie "measured AC97 Link Rate at 48003 Hz, will use 48000 Hz" ?

Bist also nicht allein, meine mixerctl Einstellungen sind ähnlich ... naja, ich wusste ja, dass ich keine Multimedia OS installiere :D
 
Die Soundqualität von OpenBSD ist kein bisschen schlechter als die von anderen OS. Zumindest nicht mit den beiden Soundkarten, die ich hier habe.

Schau mal nach, welchen Wert "inputs.dac" hat. Das ist der Eingang des Mixers, der von /dev/audio oder /dev/sound angesprochen wird. Manche Soundkarten verzerren bei hohen Werten unheimlich, darunter meine Terratec SixPack. Mein Notebook-Soundchip auich0 mit SigmaTel AC97 hat damit keine Probleme.

Bekomme auch immer mal Meldungen wie "measured AC97 Link Rate at 48003 Hz, will use 48000 Hz" ?

Das ist kein Problem. Der AC97-Chip ist eben mit 48kHz getaktet, und die Taktfrequenz schafft er eben nicht exakt. Das ist nichts schlimmes, nur ist die Musik etwas schneller...

Gruß
Baseballbatboy
 
Schau mal nach, welchen Wert "inputs.dac" hat.
Wenn du mir noch sagen könntest wo diese normal liegt, kann ich es dir sagen. Ich habe die Datei nirgends finden können.

Was noch zu sagen ist, dass es ein IGEL Thin Client ist. Klar habe ich mit gerechnet das der Sound nicht super ist, aber sowas schreckliches kann es auch nicht sein. Es muss echt irgendwie am Anschluss liegen, aber da jetzt dran rumzuloeten habe ich auch nicht wirklich die Lust. Ich versuch es nochmal mit anderen Liedern, aber ich sehe da keine wirkliche Hoffnung.. leider.... oder es hat wer noch ne Software Idee ;)

Danke! && MfG JiYu
 
Im Einflussbereich von mixerctl :)

[11:24:33 destiny]$ mixerctl -a | grep inputs
inputs.speaker=255
inputs.speaker.mute=off
inputs.phone=191
inputs.phone.mute=on
inputs.mic=191
inputs.mic.mute=on
inputs.mic.preamp=off
inputs.mic.source=mic0
inputs.line=191,191
inputs.line.mute=on
inputs.cd=191,191
inputs.cd.mute=on
inputs.video=255,255
inputs.video.mute=off
inputs.aux=191,191
inputs.aux.mute=on
inputs.dac=183,183
inputs.dac.mute=off

Biege ich hier inputs.dac auf kleinere Werte, wird gleichzeitig der Ton leiser (optisch rückt der Laustärkebalken von xmms sofort um diesen Prozentsatz zurück)

Kann also nicht getrennt von:

[11:27:13 destiny]$ mixerctl -a | grep outputs.master
outputs.master=207,207
outputs.master.mute=off

einstellen. die beiden Werte schaukeln sich gemeinsam rauf und runter. Oder peile ich mal wieder was nicht?
 
Die "inputs" sind die Eingänge des Mixers, die "outputs" die Ausgänge. "inputs.dac" ist der Eingang, der von /dev/audio angesteuert wird, "inputs.cd" wäre die Direktverbindung von CDROM zu Soundkarte/chip, usw. Jeder dieser "inputs" kann unabhängig von den "outputs" in der Lautstärke geregelt werden. Das ist die Aufgabe eines Mixers: auf der einen Seite rein viele, auf der anderen einer raus.

"inputs.dac" hängt direkt am D/A-Wandler (DAC) des AC97, und so ein D/A-Wandler ist schon mal schnell übersteuert. Bei meiner Terratec habe ich statt der nominellen 16 Bit nur ungefähr 13 Bit zur Verfügung, darüber gibt es ganz üble digitale Verzerrungen. Die hören sich "kratzig" an. Bei meinem Notebook kann ich voll aufdrehen (dafür lügt der und behauptet er wäre full-duplex, das stimmt aber nicht).

Das ist auch betriebssystemunabhängig. OpenBSD, Linux, FreeBSD, Windows, bei allen macht die Terratec Probleme. Und so sollte das natürlich auch sein, denn schließlich macht OpenBSD nichts anderes als 16Bit-Werte in den AC97 zu schieben. Genau wie Windows, Linux, FBSD,...

Gruß
Baseballbatboy
 
jiyu: versuchs mal mit einer andren karte, so ein ähnliches problem hatte schonmal jemand

edit: erst jetzt gelesen, dass es ein thin client ist...
 
Tja neue geht leider nicht...

Code:
mixerctl -a | grep inputs                                    
inputs.speaker=255
inputs.speaker.mute=off
inputs.phone=191
inputs.phone.mute=on
inputs.mic=191
inputs.mic.mute=on
inputs.mic.preamp=off
inputs.mic.source=mic0
inputs.line=191,191
inputs.line.mute=on
inputs.cd=191,191
inputs.cd.mute=off
inputs.video=191,191
inputs.video.mute=on
inputs.aux=191,191
inputs.aux.mute=on
inputs.dac=191,191
inputs.dac.mute=off

Code:
mixerctl -a | grep outputs.master
outputs.master=207,207
outputs.master.mute=off
 
das ist eine ganz einfache, dumm-doofe uebersteuerung die du hast.

installier dir mal xmix,
und schieb die reglerchen hoch- und runter.

irgendwann wird das schon funzen, glaubs mir.
 
das ist eine ganz einfache, dumm-doofe uebersteuerung die du hast.

installier dir mal xmix,
und schieb die reglerchen hoch- und runter.

irgendwann wird das schon funzen, glaubs mir.
EDIT: Probier ich mal aus. Mal Installieren. Ahh braucht ja doch X. Wollte eigentlich kein X und auch keine libs davon auf dem Teil installieren.
 
Zuletzt bearbeitet:
okay.
aumix

im makefile muss du in der flavor-zeile noch no_x11 hinschreiben. dann geht das

Ja das würde ja gehen, wenn ich die ports installiert haette ;) Hab für das Basis System nur ne 1GB CF Karte. Deswegen auch keine Ports und die binarie packages sind anscheinend mit x11 übersetzt worden. Merde! Ich denke mal das auch keiner ein aumix Paket ohne x11 zur Hand hat :)

Danke! && MfG JiYu
 
Hallo,
ich habe warscheinlich das gleiche Problem.
Dazu kommt noch, dass ich zum Beispiel nur einen mplayer (oder andere Soundquelle) benutzen kann.
D.h. ich pausiere den einen und versuche mit dem anderen was abzuspielen und es kommt kein Ton...
unter FreeBSD ist die Soundqualität einwandfrei und es sind mehrere Soundquellen gleichzeitig abspielbar.
Hat irgendjemand ne idee?
Code:
$ dmesg|grep ac97
ac97: codec id 0x414c4720 (Avance Logic ALC650)
ac97: codec features 20 bit DAC, 18 bit ADC, Realtek 3D
$ mixerctl -a
outputs.master=199,199
outputs.master.mute=off
outputs.mono=255
outputs.mono.mute=on
outputs.mono.source=mixerout
outputs.headphones=255,255
outputs.headphones.mute=off
outputs.bass=255
outputs.treble=255
inputs.speaker=255
inputs.speaker.mute=off
inputs.phone=191
inputs.phone.mute=on
inputs.mic=191
inputs.mic.mute=on
inputs.mic.preamp=off
inputs.mic.source=mic0
inputs.line=191,191
inputs.line.mute=on
inputs.cd=191,191
inputs.cd.mute=off
inputs.video=191,191
inputs.video.mute=on
inputs.aux=191,191
inputs.aux.mute=on
inputs.dac=39,39
inputs.dac.mute=off
record.source=mic
record.volume=255,255
record.volume.mute=off
record.mic=0
record.mic.mute=off
outputs.loudness=off
outputs.spatial=off
outputs.spatial.center=0
outputs.spatial.depth=0
outputs.surround=255,255
outputs.surround.mute=on
outputs.center=255
outputs.center.mute=on
outputs.lfe=255
outputs.lfe.mute=on
outputs.extamp=off
$ audioctl -a
name=VIA VT8233
version=
config=auvia
encodings=ulinear:8,mulaw:8*,alaw:8*,slinear:8*,slinear_le:16,ulinear_le:16*,slinear_be:16*,ulinear_be:16*
properties=full_duplex,mmap,independent
full_duplex=0
fullduplex=0
blocksize=8832
hiwat=7
lowat=5
monitor_gain=0
mode=play
play.rate=44100
play.channels=2
play.precision=16
play.encoding=slinear_le
play.gain=127
play.balance=32
play.port=0x0
play.avail_ports=0x0
play.seek=49792
play.samples=24755584
play.eof=0
play.pause=0
play.error=1
play.waiting=0
play.open=1
play.active=1
play.buffer_size=65536
record.rate=8000
record.channels=1
record.precision=8
record.encoding=mulaw
record.gain=191
record.balance=32
record.port=0x1
record.avail_ports=0x7
record.seek=0
record.samples=0
record.eof=0
record.pause=0
record.error=0
record.waiting=0
record.open=0
record.active=0
record.buffer_size=65536
record.errors=0
$
 
hi muri,

wenn die ausgabe von "sysctl hw.snd.pcm0.vchans" 0 ist dann setzte es mal hoch auf z.b. 4. genauso hw.snd.maxautovchans.

handbuch: http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/sound-setup.html (Punkt 7.2.3.)
Die Anzahl der virtuellen Kanäle können Sie als Benutzer root wie folgt einstellen:

# sysctl hw.snd.pcm0.vchans=4
# sysctl hw.snd.maxautovchans=4

kannst beides in die /etc/sysctl.conf eintragen:

hw.snd.pcm0.vchans=4
hw.snd.maxautovchans=4

4 sollte reichen, 5 geht auch oder 6 oder wie viele kanäle du haben willst.
 
Zuletzt bearbeitet:
Unter OpenBSD gibts keine vchans. Für simultane Wiedergabe mehrerer Quellen braucht es einen Sound-Daemon. ARTS schmiert bei mir ab, ist sowieso bald Geschichte, der Bolzen. Ich würde mal esound probieren.

Bevor geschriehen wird, warum OpenBSD keine vchans oder anderweitiges Mischen im Kernel hat: das erfordert, um es anständig zu machen, Fließkommaarithmetik. Und die, so kann ich mich an ein Paper zum Kernel-Hacking erinnern, sollte so weit wie möglich aus dem Kernel rausgehalten werden.

Das Mischen mehrerer Quellen gehört somit ins userland. Vielleicht erbarmt sich ja mal wer und bastelt einen OpenBSD-Sound-Daemon zusammen, damit man nicht mehr auf Krücken anderer Leute angewiesen ist.

Gruß
Baseballbatboy
 
Bei mir kratze es mal, als ich ne CD abspielte. Fürchterlich. Ich hab dann PCM runtergedreht, dann gings. Dergleichen habe ich auch manchmal auf meiner NetBSD Kiste. Vll klappts ja
 
d4mi4n: kein problem, du hast es wenigstens versucht ;)

esd wurde schon über pkg_add einer anderen Applikation installiert...
Muss ich jetzt z.B. um für den mplayer esd zu aktivieren ein "make --enable-esd install" durchführen? Was ist mit Anwendungen die diese Option nicht haben?
Lässt sich nicht der Standardmixer (oder anderes dev) mit esd ersetzen?
man esd liefert mir dazu irgendwie nichts Verwendbares.. oder bin ich zu blind?

Da ich auch das "Problem" mit der geringeren Sound-qualität habe - könnte es sein, dass meine (Standard-) Einstellungen für schlechtere Soundkarten ausgelegt sind? (192kbps mp3s hören sich wie 96kbps an...)

//edit: ich finde auf meinem System (OpenBSD) nichts das sich in irgendeiner weise PCM nennt...?
 
Zuletzt bearbeitet:
Ja, die Programme müssen dann für den esd übersetzt sein. Oder für einen anderen Sound-Daemon Deiner Wahl.

Der Mixer ist nichts weiter als ein kleiner Chip mit vielen Ein- und Ausgängen, der netterweise per Software gesteuert werden kann. Das einzige, was für Medienwiedergabe mit z. B. mplayer von Interesse ist, sind inputs.dac und outputs.master sowie evtl. outputs.headphones. Alles andere sind irgendwelche Hardwareschnittstellen des Mixers, die man per Software nicht mit Daten füttern kann (inputs.cd ist z. B. der direkte Anschluss vom CD-Rom an die Soundkarte, den man nie braucht).

Probiere die schon genannte Empfehlung, inputs.dac runterzudrehen, aus.

Gruß
Baseballbatboy
 
inputs.dac runterzudrehen habe ich schon vor meinem ersten Post versucht - leider ohne das erhoffte Ergebnis...

(Mit "ersetzen" meinte ich, dass statt dem Audio device in /dev/, das standardmäßig z.B. von mplayer usw. verwendet wird, ein userland device mit Mehrchannelsupport angesprochen werden könnte... aber das war nur so ein Gedankengang.
Ich werde wohl artsdsp verwenden müssen...)
 
"sound kratzt" laesst sich mit aumix einstellen. oder xmix. oder ...mix.
"nur eine soundquelle" ist normal. wer will schon zwei mp3s auf einmal hoeren?
 
xmix hab ich schon getestet.. ich bin ja noch fähig zu lesen was in diesem thread vorgeschlagen wird, bevor ich dumm frage... (ich nehm's dir aber nicht übel - gibt ja genügend [l]user die einfach fragen, ohne vorher irgendwie was probiert haben=)

beispiel für mehrere soundquellen:
>musik per mplayer und man würde gerne von gaim mit einem netten "bing" über neue nachrichten informiert werden.
>mplayer 1 spielt playlist - momentan bei track 63 von 120, man möchte kurz ein anderes Lied anhören, also pausiert man mplayer und öffnet einen zweiten, damit man nicht hinterher das aktuelle lied wieder suchen muss... genau hier tritt dann das problem auf, dass der erste mplayer den mixer noch belegt. vielleicht ist mplayer dafür nicht gedacht, aber bei mir momentan das einzigste was *funktioniert*

vielleicht ot:
Code:
$ artsdsp gaim
gaim: can't load library '/usr/local/lib/libartsdsp.so.0'
Hat jemand ne Idee? Oder sollte ich dazu nen neuen Thread aufmachen?
 
Zurück
Oben