B
Hallo,
seit ich openSUSE installiert habe, ist die Soundkonfiguration die absolut hartnäckigste.
Mein System: openSUSE Tumbleweed mit Realtek ALC 889 angeschlossen über SPDIF und 3x Klinke an ein 5.1 System.
Über Digital:
In Windows habe ich immer SPDIF benutzt, da dort alles brav hochgemischt und in Dolby Digital Live eingekapselt wurde.
Jetzt in openSUSE bekomme ich aber über SPDIF nur noch Stereoübertragung, außer die Datei hat schon echten 5.1 Sound in Dolby whatever eingekapselt. Die Suche nach einem DoDiLive Plugin habe ich dann auch aufgegeben weil es entweder nichts gibt oder nur zu finden ist wenn man den Namen kennt.
Auf Analog habe ich jetzt folgendes:
Mit ALSA - Pulseaudio - ALSA Standardkonfiguration funktionierte das automatische Upmixing überhaupt nicht und der LFE Mix war Mist.
Daher habe ich es in Yast deaktiviert und die /etc/asound-pulse.conf zur Sicherheit umbenannt da ich eine asound.conf machen wollte und die sich nicht auf mysteriöse Weise in die Quere kommen sollen.
Jetzt habe ich folgende asound.conf von jemand kopiert und einen lowpass für den Subwoofer eingefügt:
# 2008-11-15
#
# This .asoundrc will allow the following:
#
# - upmix stereo files to 5.1 speakers.
# - playback real 5.1 sounds, on 5.1 speakers,
# - allow the playback of both stere(oupmixed) and surround(5.1) sources at the same time.
# - use the 6th and 7th channel (side speakers) as a separate soundcard, i.e. for headphones
# (This is called the "alternate" output throughout the file, device names prefixed with 'a')
# - play mono sources in stereo (like skype & ekiga) on the alterate output
# Make sure you have "8 Channels" and NOT "6 Channels" selected in alsamixer!
#
# Please try the following commands, to make sure everything is working as it should.
#
# To test stereo upmix : speaker-test -c2 -Ddefault -twav
# To test surround(5.1): speaker-test -c6 -Dplug:dmix6 -twav
# To test alternative output: speaker-test -c2 -Daduplex -twav
# To test mono upmix: speaker-test -c1 -Dmonoduplex -twav
#
#
# It may not work out of the box for all cards. If it doesnt work for you, read the comments throughout the file.
# The basis of this file was written by wishie of #alsa, and then modified with info from various sources by
# squisher.
#Define the soundcard to use
pcm.snd_card {
type hw
card 0
device 0
}
# 8 channel dmix - output whatever audio, to all 8 speakers
pcm.dmix8 {
type dmix
ipc_key 1024
ipc_key_add_uid false
ipc_perm 0660
slave {
pcm "snd_card"
rate 192000
channels 8
period_time 0
period_size 1024
buffer_time 0
buffer_size 5120
}
# Some cards, like the "nforce" variants require the following to be uncommented. It routes the audio to t he correct speakers.
#bindings {
#0 0
#1 1
#2 4
#3 5
#4 2
#5 3
#6 6
#7 7
#}
}
# upmixing - duplicate stereo data to all 6 channels
pcm.ch51dup {
type route
slave.pcm dmix8
slave.channels 8
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
ttable.0.4 0.5
ttable.1.4 0.5
ttable.0.5 0.5
ttable.1.5 0.5
}
pcm.lowpass_20to51 {
type ladspa
slave.pcm ch51dup
path "/usr/lib64/ladspa"
channels 6
plugins {
0 {
id 1098 # Identity (Audio) (1098/identity_audio)
policy duplicate
input.bindings.0 "Input";
output.bindings.0 "Output";
}
1 {
id 1672 # 4 Pole Low-Pass Filter with Resonance (FCRCIA) (1672/lp4pole_fcrcia_oa)
policy none
input.bindings.5 "Input";
output.bindings.5 "Output";
input {
controls [ 300 5 ]
}
}
}
}
# this creates a six channel soundcard
# and outputs to the eight channel one
# i.e. for usage in mplayer I had to define in ~/.mplayer/config:
# ao=alsa:device=dmix6
# channels=6
pcm.dmix6 {
type route
slave.pcm dmix8
slave.channels 8
ttable.0.0 1
ttable.1.1 1
ttable.2.2 1
ttable.3.3 1
ttable.4.4 1
ttable.5.5 1
}
# share the microphone, i.e. because virtualbox grabs it by default
pcm.microphone {
type dsnoop
ipc_key 1027
slave {
pcm "snd_card"
}
}
# rate conversion, needed i.e. for wine
pcm.2chplug {
type plug
slave.pcm "ch51dup"
}
pcm.a2chplug {
type plug
slave.pcm "dmix8"
}
# routes the channel for the alternative
# 2 channel output, which becomes the 7th and 8th channel
# on the real soundcard
pcm.alt2ch {
type route
slave.pcm "a2chplug"
slave.channels 8
ttable.0.6 1
ttable.1.7 1
}
# skype and ekiga are only mono, so route left channel to the right channel
# note: this gets routed to the alternative 2 channels
pcm.mono_playback {
type route
slave.pcm "a2chplug"
slave.channels 8
# Send Skype channel 0 to the L and R speakers at full volume
ttable.0.6 1
ttable.0.7 1
}
# 'full-duplex' device for use with aoss
pcm.duplex {
type asym
playback.pcm "2chplug"
capture.pcm "microphone"
}
pcm.aduplex {
type asym
playback.pcm "alt2ch"
capture.pcm "microphone"
}
pcm.monoduplex {
type asym
playback.pcm "mono_playback"
capture.pcm "microphone"
}
# for aoss
pcm.dsp0 "duplex"
ctl.mixer0 "duplex"
# softvol manages volume in alsa
# i.e. wine likes this
pcm.mainvol {
type softvol
slave.pcm "duplex"
control {
name "2ch-Upmix Master"
card 0
}
}
#pcm.!default "mainvol"
# set the default device according to the environment
# variable ALSA_DEFAULT_PCM and default to mainvol
pcm.!default {
@func refer
name { @func concat
strings [ "pcm."
{ @func getenv
vars [ ALSA_DEFAULT_PCM ]
default "mainvol"
}
]
}
}
# uncomment the following if you want to be able to control
# the mixer device through environment variables as well
#ctl.!default {
# @func refer
# name { @func concat
# strings [ "ctl."
# { @func getenv
# vars [ ALSA_DEFAULT_CTL
# ALSA_DEFAULT_PCM
# ]
# default "duplex"
# }
# ]
# }
#}
Alles anzeigen
Soundcheck mit VLC:
Einstellung: ALSA:DEVICE:SUBDEVICE:default <-- lol @ autosmileys XD
Alles schön upmixed. Aber es wird auch zusätzlich auf dem alternative output abgespielt, was ich nicht möchte.
lowpass funktioniert sagenhaft gut.
Funktionierte beim letzten Test überhaupt nicht mehr. "Device is busy"
Einstellung: ALSA:default
Upmixing ist scheisse, der lowpass funzt auch nicht. Aber dafür ist der Sound nicht auf den Kopfhörern.
Funktionierte zum ersten Mal heute, davor immer nur das andere.
Einstellung: ALSA:DEVICE:SUBDEVICE:5.1 und 7.1 <-- lol @ autosmileys XD
Immer device busy error.
Soundcheck mit Amarok:
Kein Ton. Phonon ist auf ALSA:default eingestellt.
Soundcheck mit Phonon:
Kein einziger Eintrag gibt den Testsound wieder.
Oder 3 verschiedene und default nicht.
Jetzt habe ich folgende Probleme/Fragen:
Die Auswahl in Phonon verwirrt mich, da ich die Namen der pcms nicht sehe. Wie kann ich denen jetzt einen schöneren Phonon-Eintrag machen?
Entweder funktioniert default ohne gescheiten upmix und lowpass und nix anderes oder default funktioniert nicht und alle anderen funktionieren mit lowpass und upmix auf ALLEN Kanälen inklusive Kopfhörer.
Wie kann ich das nun so machen wie gedacht?
Wenn upmixing funktioniert gibt es nur noch Stereo upmixes, keinen echten Surround mehr (VLC hat bei 5.1 Filmen keine 5.1 Auswahl mehr)
Lohnt es sich die asound.conf wieder zu löschen und das ganze mit pulseaudio sinks zu machen?
Lohnt sich pulseaudio generell?
Zur manuellen Konfiguration von pulse finde ich keine gute Dokumentations-Quelle, kann mir da jemand was empfehlen?
Wie mach ich das mit der samplerate einheitlich?
Wenn ich in der pulseaudio config die Wiedergabequalitätsrelevanten Einstellungen hochschraube (samplerate, speex level und sample format) geht das extrem auf die Systemleistung, der Hexacore hat bei Wiedergabe durchschnittlich 40% load auf allen Kernen. Ich habe die Echtzeit und Prioritätseinstellungen erstmal unverändert gelassen.
Ist das normal?
Wer mir da zu einer dauerhaft zufriedenstellenden Konfiguration hilft, dem bin ich echt dankbar.