Two-way communication with batandcat and PC

Post Reply
yansx
Posts: 3
Joined: Tue Apr 22, 2025 12:47 pm

Two-way communication with batandcat and PC

Post by yansx » Tue Apr 22, 2025 2:35 pm

--
Hey, I am trying to exchange information between batandcat hearing aid and PC.

Communication Data include direction from localizer-steering-beamformer example, which means a vector stream back and forth between these two-device based on IP 10.0.0.1.

1) I guess lsl is not a suitable format for transferring this kind of data? So, what would be better alternatives if in cfg file/or not.
2) If my communication is both ways, and one way for one functionality, to run them both in real time with more complex mechanisms, would that mean I need to write a new plugin instead of just in one cfg file.

Would really appreciate it if someone could shine some light onto the questions.
Best

nmichael
Posts: 21
Joined: Thu Nov 18, 2021 1:44 pm

Re: Two-way communication with batandcat and PC

Post by nmichael » Thu Apr 24, 2025 3:22 pm

What data do you want to transfer between the PHL and PC?
If it's realtime audio data that would be difficult. If it's parameters from the algorithm that's very possible.

Nick

yansx
Posts: 3
Joined: Tue Apr 22, 2025 12:47 pm

Re: Two-way communication with batandcat and PC

Post by yansx » Mon May 05, 2025 9:48 am

nmichael wrote:
Thu Apr 24, 2025 3:22 pm
What data do you want to transfer between the PHL and PC?
If it's realtime audio data that would be difficult. If it's parameters from the algorithm that's very possible.

Nick
Thanks for the reply, I have tried using osc to communicate back and forth between the hearing aid and pc, and it has been working fine for me. I am only passing algorithm parameters and some vector output.

Though I have one more question, how can altplugs plugin be subject to control from osc data to select different pipelines?

Many thanks.

nmichael
Posts: 21
Joined: Thu Nov 18, 2021 1:44 pm

Re: Two-way communication with batandcat and PC

Post by nmichael » Wed May 07, 2025 2:28 pm

I'm not very familiar with osc unfortunately. Glad to hear it's working for you though.

The altplugs plugin is very useful. It's a way to choose between different plugins. One common use is to turn off an algorithm by substituting the 'identity' plugin. For example if you have a bunch of algorithms defined (aliased) with it:

ola.c.algos = [altplugs:decomb altplugs:coh altplugs:mbc altplugs:fshift route:fan_out altplugs:fresponse]

Then you setup each algorithm like this:

ola.c.mbc.plugs = [multibandcompressor identity]
ola.c.mbc.select = multibandcompressor

So now to turn the compressor off, you choose
ola.c.mbc.select = identity
Turn it back on with
ola.c.mbc.select = multibandcompressor

So if you can set that variable, ola.c.mbc.select, with osc you'll be able to select a different pipeline.
Hope that makes sense.

Post Reply