Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Channel Select for Multi Channel Devices #3064

Closed
Wildcarde opened this issue May 2, 2017 · 12 comments
Closed

Channel Select for Multi Channel Devices #3064

Wildcarde opened this issue May 2, 2017 · 12 comments

Comments

@Wildcarde
Copy link

We've run into somewhat of a unique problem that I'm not sure how to solve:
Client: windows x64

We are using mumble for low latency voice chat between MRI scanners by plugging a noise reducing microphone system into the computer to use as the voice source. However these devices have two channels coming out of them and only one is the actual voice. The other channel is a 'trigger pulse' for keeping gear synchronized elsewhere in the system, a large analog pulse that's used for temporal alignment of recordings from multiple sources. It's also extremely loud to have blasted in your ear while having a conversation. While recording that information is important for other tasks, it's at best a nuisance to have piped over to the other MRI suite and at worst can be data ruining if it distracts the subjects too much. Since it appears as a single stereo microphone, everything gets compressed down to one channel and transmitted over. We would like to be able to select just the left or right channel from the microphone to transmit across mumble eliminating this problem.

We've attempted to solve this with a number of virtual audio device solutions but have thus far come up dry, it's possible this could be resolved using some other tool we've yet to discover however.

@mkrautz
Copy link
Contributor

mkrautz commented May 4, 2017

It should be doable in Mumble itself. I'll see what I can do.

@Claire-HCC
Copy link

I am following this feature.
Does anyone know how to do it?

mkrautz added a commit to mkrautz/mumble that referenced this issue May 20, 2017
…ing which mic channels should be mixed.

This adds a hidden option to allow users to select which microphone
channels will be downmixed to mono.

Examples of using the setting:

	audio/inputchannelmask = 0x0  # Use no channels. Nothing is recorded.
	audio/inputchannelmask = 0x1  # Only use left channel (channel index 0)
	audio/inputchannelmask = 0x2  # Only use right channel (channel	index 1)
	audio/inputchannelmask = 0x3  # Use both left and right channel.

The value of inputchannelmask is used as a bit mask. If a given bit is
set, the channel with the same index as the bit will be included in the
final downmix.

Fixes mumble-voip#3064
@mkrautz
Copy link
Contributor

mkrautz commented May 20, 2017

Hi, I've implemented something that I hope should help you work around your issue.

PR at #3098

I've also created a ZIP archive of .reg files that'll:

  • Force Mumble to only use the left mic channel, or...
  • Force Mumble to only use the right mic channel, or...
  • Restore the default channel mask (include all channels).

mumble-channelmask-regs.zip

mkrautz added a commit to mkrautz/mumble that referenced this issue May 20, 2017
…ing which mic channels should be mixed.

This adds a hidden option to allow users to select which microphone
channels will be downmixed to mono.

Examples of using the setting:

	audio/inputchannelmask = 0x0  # Use no channels. Nothing is recorded.
	audio/inputchannelmask = 0x1  # Only use left channel (channel index 0)
	audio/inputchannelmask = 0x2  # Only use right channel (channel	index 1)
	audio/inputchannelmask = 0x3  # Use both left and right channel.

The value of inputchannelmask is used as a bit mask. If a given bit is
set, the channel with the same index as the bit will be included in the
final downmix.

Fixes mumble-voip#3064
mkrautz added a commit to mkrautz/mumble that referenced this issue May 20, 2017
…ing which mic channels should be mixed.

This adds a hidden option to allow users to select which microphone
channels will be downmixed to mono.

Examples of using the setting:

	audio/inputchannelmask = 0x0  # Use no channels. Nothing is recorded.
	audio/inputchannelmask = 0x1  # Only use left channel (channel index 0)
	audio/inputchannelmask = 0x2  # Only use right channel (channel	index 1)
	audio/inputchannelmask = 0x3  # Use both left and right channel.

The value of inputchannelmask is used as a bit mask. If a given bit is
set, the channel with the same index as the bit will be included in the
final downmix.

Fixes mumble-voip#3064
@Wildcarde
Copy link
Author

Sounds good! I'll get some time scheduled to test it out.

@Wildcarde
Copy link
Author

This may be a silly question but how do we know when this is integrated into the development snapshots? They don't seem to have a date attached to them that I could find and using the latest one (as of 3pm EST yesterday) didn't seem to honor the registry key updates. Launching from a fresh install it would show that the microphone was transmitting, but no sound was actually being transmitted. If you go into the audio settings pane select the microphone and hit apply the audio would start being transmitted but unfortunately it includes both channels.

The researcher I'm working with has gotten channel selection working using the ASIO interface, unfortunately this is an exclusive interface so it can't be recorded out of band by another program like Audacity or the microphones included software. We could make this work with audacity by recompiling it to have ASIO support and using a splitter program I suspect but will have to test that solution.

@mkrautz
Copy link
Contributor

mkrautz commented May 25, 2017

Hi. I understand your frustration.

We had some issues with our Windows code-signing, and builds were blocked because of that.

A new build went out today, mumble-1.3.0~2407~g3754898~snapshot. It's available from https://www.mumble.info/. That version (and all future versions) has the feature.

@Wildcarde
Copy link
Author

Sounds good, we will hopefully get to test this soon. Thanks again for the help with this!

@Wildcarde
Copy link
Author

Got to test this today and it worked great. Thank you for the work on this, it's enabled a significantly simplified workflow for our researchers.

One odd behavior that may be worth reporting, the microphone didn't work until we opened the settings panel, made sure the mic was selected (it already was by default) and then hit 'ok' or 'apply'. After that transmission began as expected. The client is configured for continual transmission and very short (10ms) capture windows but those were the only settings that stood out to me.

@krono-i2
Copy link

Are there new info about this feature?
It would be wonderful for particular routing implementation.

@Krzmbrzl
Copy link
Member

As #3098 has been merged into master, I'd expect this feature to be present in the 1.3.0 release...

@krono-i2
Copy link

I’m talking about something more feberal.
Suppose you want use multichannel audio interface, it would be nice to select the preferred input/output channels (mono or stereo) to be used by mumble to obtain the desired audio routing.

@Krzmbrzl
Copy link
Member

Well I guess you have looked for it and from the top of my head I don't know that this is possible right now. I guess it's best if you create a separate feature requests issue for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants