edgetx icon indicating copy to clipboard operation
edgetx copied to clipboard

Linearize TX15 audio volume control

Open mha1 opened this issue 4 months ago • 6 comments

Please set volume control to Special Function Volume, Source Pot S1 or S2 and observe volume for different Pot positions. Compared to the TX16s the TX15 volume control is very non linear compared to the TX16s. The TX16s has a nice linear volume output from Min (Off), Center (half volume), Max (max Volume). The TX15 has nearly no volume increase going from Min to Center with Center having just a little volume far from half volume. Nearly all the volume range takes place from center to Max.

Summary of changes:

  • introduced a linearization curve
  • integrated zero volume value in curve
  • integrated 90% volume limit in curve
image

mha1 avatar Aug 27 '25 17:08 mha1

Actually I much prefer it the way it currently is, where you have fine control when at home/night, and when in open air, you just crack it up. The current scale is actually linear in dB

3djc avatar Aug 27 '25 17:08 3djc

The TX16s has a nice linear volume

Don't you mean logarithmic? As volume is almost universally adjusted in a logarithmic manner.

The current scale is actually linear in dB

Which is exactly the reason it would be wrong... do you know of any mainstream appliances where the volume is altered in a linear rather than logarithmic fashion? I think not... they are specifically implemented so that the perceived change in audio (not dB) matches the movement of the knob / makes it, so the full range of the knob is useful.

pfeerick avatar Sep 01 '25 23:09 pfeerick

Don't you mean logarithmic? As volume is almost universally adjusted in a logarithmic manner.

Yes, it's more like trying to achieve a db(a) characteristic that fits the human ear's perception of volume.

Have you tried a before/after with the TX15?

mha1 avatar Sep 02 '25 06:09 mha1

Previous radio (but X12S and possibly some Flysky, I do not know) use a audio routine that dates AVR time, where doing logarithm calculations was just a dream if you wanted to maintain performance, so volume is linear on those (https://github.com/EdgeTX/edgetx/blob/6c1af5a343b71a356acb9fc8cfc137ac4deef418/radio/src/audio.cpp#L658)

TX15 does add a dedicated audio amplifier with volume control, which logically applies a dB scale for volume control.

So are they different ? Yes Was TX16S ideal ? Nop a simple basic linear volume

If anything, since we can do more calculation on F4 processors than AVR times, it is those older radio we should modify to have logarithmic volume control, not disable it on more performing radio

3djc avatar Sep 02 '25 07:09 3djc

@pfeerick Tested headphones and speaker ok after rebase to current master. Can you please decide if you want to merge or scrap this?

mha1 avatar Nov 21 '25 14:11 mha1

Is there a way to get a community vote on this? I prefer the current logarithmic audio scale on the new TX15 compared to my old Zorro. I don't want to add yet another feature by suggesting we make the scale selectable (the GUI is cluttered enough). I figure those that want to assign volume to a slider and make it "just right" can use a curve. Granted, we don't have global curves, so it would have to be copied to each model or made into a Lua script.

The problem is that if this were to get merged, would I lose the resolution of setting the lower volume? I can't fix that with a Lua script.

J-Sorenson avatar Dec 09 '25 01:12 J-Sorenson