On Mar 04 18:46:29, neb...@rawtext.club wrote:
> On Sat, Mar 04, 2023 at 06:21:08PM +0100, Jan Stary wrote:
> > > I have two devices around here. Let's call one devA and one devB.
> > > devB is my main OpenBSD workstation devA is some kind of gaming device
> > > which has a normal 2 channel audio jack. I want to connect the line out
> > > connector of devA to the line-in of devB and listen to both devices
> > > with my headphone amplifier connected to out/spdif of devB.
> > 
> > Why do you want that? I mean, what are the two simultaneous things
> > you want to listen to, one comming from your game console and one
> > from your workstation?

> Mostly it's running an audio player, a voip application or video player
> on my workstation while playing on the other device.

That' what confuses me: you want to listen to the game play,
while simultaneously playing some other music?

> > > In analog mode this works beside the poor quality of the mainboard
> > > which seems to generate a lot of noise.
> > 
> > That's not poor quality of the mainboard,
> > that's an electronic device suffering a _lot_
> > of interference from the electronics jungle around it.
> Isn't the board shielded inside it's case? (metal) Around the metal case
> there is also a small rack where the only other component running is a
> small switch? My guess would have been that the case and the rack should
> shield the internal components so the inteference must be coming from
> the board itself?

That's not the problem.
The on-board audio device gets interference
from all the other electronics _inside_ the case.

> If that's not the case, is there something I can do to
> improve the situation?

Use an USB audio card that doesn;t have to live inside the case.

> I've often read about audio components on
> mainboards being badly shielded from other components so assumed it
> maybe coming from those. Could a dedicated sound card maybe fix that,
> provided it got better shielding?

It will never be shielded enough;
inside the case, it will always get a lot of noise.

> > > When switching to SPDIF the noise is gone
> > 
> > Yes: the digital signal does not suffer from the analog noise.
> Of course, bad worded from my side. I wanted to point out that
> nothing, not even noise from devA out is coming with that signal.
> > 
> > Does you headphone amplifier take the spdif output of your workstation?
> > (What headphone amplifier is that?)
> The headphone amplifier is a beyerdynamic A20 which takes two analog RCA
> inputs.

So the headphine amplifier cannot take any spdif input,
having only analog inputs.

> I was a bit testing and had a 24bit/192khz DAC laying
> around and put it in between

Meaning, inbetween your workstation and the headphones amplifier.
So there is another device involved which you didn't even mention.

> with a very short RCA cable to get rid of
> that noise.

The cable is hardly the problem.

> Not ideal but worked as the digital signal of course not
> suffers from analog noise and the analog part is only 0.3m long now.

So the analiog output of your gaming console
gets converted to digital by your onboard audio chip,
mixed with what the workstation itself plays (you are
running sndiod I suppoes), and that mix is sent out as spdif
to another DAC, which converts it to analog
and sends it to your headphones amplifier.
(Except the game sound is lost somewhere along the way.)

That seems a bot convoluted to me.

> > > I switched to SPDIF with the following mixerctl(8) command
> > > `mixerctl -t outputs.mode=digital`
> > > 
> > > I tried to set the "SPDIF_source" to something different but mixerctl
> > > states "Bad enum value ...". Is there any chance to mix the line-in 
> > > with the default output like I did in analog mode? What am I missing
> > > here? In azalia(4) the outputs.mode and record.mode can both be set to
> > > analog or digital
> > 
> > I see no record.mode in the mixerctl settings.
> > 
> > > as far as I unterstand line-in should be record?
> > 
> > Your mixerctl says it's an input.
> > 
> > > mixerctl -a
> > 
> > mixerctl -av might be more telling.
> Thanks, how could I overlook that...
> ---
> inputs.dac-0:1=126,126 
> inputs.dac-4:5=126,126 
> inputs.dac-2:3=126,126 
> inputs.dac-6:7=126,126 
> record.adc-0:1_mute=off  [ off on ]
> record.adc-0:1=128,128 
> record.adc-2:3_mute=off  [ off on ]
> record.adc-2:3=128,128 
> inputs.mix_source=mic,mic2,line-in,hp,line2,line3  { mic mic2 line-in hp
> line2 line3 }
> inputs.mix_mic=120,120 
> inputs.mix_mic2=120,120 
> inputs.mix_line-in=120,120 
> inputs.mix_hp=120,120 
> inputs.mix_line2=120,120 
> inputs.mix_line3=120,120 
> inputs.mix2_source=dac-0:1,mix  { dac-0:1 mix }
> inputs.mix3_source=dac-4:5,mix  { dac-4:5 mix }
> inputs.mix4_source=dac-2:3,mix  { dac-2:3 mix }
> inputs.mix5_source=dac-6:7,mix  { dac-6:7 mix }
> outputs.line_source=mix2  [ mix2 ]
> outputs.line_mute=off  [ off on ]
> outputs.line_boost=off  [ off on ]
> outputs.line_eapd=on  [ off on ]
> outputs.line2_source=mix3  [ mix3 ]
> outputs.line2_mute=off  [ off on ]
> outputs.line2_dir=output  [ none output input ]
> outputs.line3_source=mix4  [ mix4 ]
> outputs.line3_mute=off  [ off on ]
> outputs.line3_dir=output  [ none output input ]
> outputs.mic_source=mix8  [ mix2 mix3 mix4 mix5 mix8 ]
> outputs.mic_mute=off  [ off on ]
> inputs.mic=85,85 
> outputs.mic_dir=input-vr80  [ none output input input-vr0 input-vr50
> input-vr80 input-vr100 ]
> outputs.mic2_source=mix2  [ mix2 mix3 mix4 mix5 mix8 ]
> outputs.mic2_mute=off  [ off on ]
> inputs.mic2=85,85 
> outputs.mic2_dir=input-vr80  [ none output input input-vr0 input-vr50
> input-vr80 input-vr100 ]
> outputs.mic2_boost=off  [ off on ]
> outputs.line-in_source=mix2  [ mix2 mix3 mix4 mix5 mix8 ]
> outputs.line-in_mute=off  [ off on ]
> inputs.line-in=85,85 
> outputs.line-in_dir=input  [ none output input input-vr0 input-vr50
> input-vr80 input-vr100 ]
> outputs.hp_source=mix5  [ mix2 mix3 mix4 mix5 mix8 ]
> outputs.hp_mute=off  [ off on ]
> inputs.hp=85,85 
> outputs.hp_dir=output  [ none output input input-vr0 input-vr50
> input-vr80 input-vr100 ]
> outputs.hp_boost=off  [ off on ]
> outputs.hp_eapd=on  [ off on ]
> outputs.SPDIF_source=dig-dac-0:1  [ dig-dac-0:1 ]
> record.adc-2:3_source=mic,mic2,line-in,hp,line2,line3,mix  { mic mic2
> line-in hp line2 line3 mix }
> record.adc-0:1_source=mic,mic2,line-in,hp,line2,line3,mix  { mic mic2
> line-in hp line2 line3 mix }
> inputs.dac-8:9=126,126 
> inputs.mix8_source=dac-8:9,mix  { dac-8:9 mix }
> outputs.line_sense=unplugged  [ unplugged plugged ]
> outputs.line2_sense=unplugged  [ unplugged plugged ]
> outputs.line3_sense=unplugged  [ unplugged plugged ]
> outputs.mic_sense=unplugged  [ unplugged plugged ]
> outputs.mic2_sense=unplugged  [ unplugged plugged ]
> outputs.line-in_sense=plugged  [ unplugged plugged ]
> outputs.hp_sense=unplugged  [ unplugged plugged ]
> outputs.master=126,126 
> outputs.master.mute=off  [ off on ]
> outputs.master.slaves=dac-0:1,dac-6:7,line,hp  { dac-0:1 dac-4:5 dac-2:3
> dac-6:7 line line2 line3 mic mic2 line-in hp dac-8:9 }
> record.volume=128,128 
> record.volume.mute=off  [ off on ]
> record.volume.slaves=adc-0:1,adc-2:3  { adc-0:1 adc-2:3 mic mic2 line-in
> hp }
> outputs.mode=digital  [ analog digital ]
> record.enable=sysctl  [ off on sysctl ]
> ---
> 
> Looks like '.SPDIF_source' can only take 'dig-dac-0:1' which is channel
> 1 and 2, so no monitoring of line-in when running in digital mode if I
> interpret that output correctly?
> 
> Thanks for your reply
> nebulo
> 

Reply via email to