开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

Version 0.1 of Sensory Neural High Frequency hearing loss mitigation (RX and TX) software


 

/g/BITX20/wiki/36274

T
his is a primitive but working version of the beginnings of built-in audio equalization in the sBitx.? ?There are $300 add-on hardware devices you can readily purchase to do an even better job -- but because Ashhar wrote such amazing software (I continue to be amazed) and made it publicly available -- we can begin to do the same thing for free right inside the radio.

This version does a very simple equalization, handling receiver audio above a setpoint frequency, allowing reduction of unnecessary transmitter energy in very low frequencies, and allowing limited boost of high frequency transmitted audio.? ? Others I'm sure could make far better software and provide a much easier, graphical, control system.

The current commands could easily be added to the telnet application being used to control much of the radio, developed by another user here.? ? Eventually I'll try to add this to github (when I have the patience and time to learn that system).? ??

As with most of the other modifications I've been slowly developing, this will get published in the North Central Florida ARRL QST monthly newsletter, and eventually get presented at the West Central Florida TECHCON, in 2025.??

Gordon KX4Z


 

Thankyou for the efforts. I plan to try it and report my evaluation to you.

Scotty WD4PYT?


 

开云体育

Great, it’s my first effort and I could’ve made lots of mistakes even in storing it on the server for others

It compiles the same way everything else does
./build sbitx?




On Mar 15, 2024, at 10:24, Scotty R <Theroadcalls1@...> wrote:

?
Thankyou for the efforts. I plan to try it and report my evaluation to you.

Scotty WD4PYT?


 

if you just download the executable,
a)? it will use your existing /home/pi/sbitx/data files etc
b)? looks like you will need to make it "executable" with?

chmod +x? ?<sbitx, where-ever you have it>


 

开云体育

Gordon,

If you can fiddle with TX audio also. No need for graphic equalization but a "DX" button that cuts all audio below 500-600hz to improve readability in pileups and weak signal qso's. No point in wasting power on low frequencies.

Cheers

Raj

On 15/03/2024 7:08 PM, Gordon Gibby KX4Z wrote:

/g/BITX20/wiki/36274

T
his is a primitive but working version of the beginnings of built-in audio equalization in the sBitx.? ?There are $300 add-on hardware devices you can readily purchase to do an even better job -- but because Ashhar wrote such amazing software (I continue to be amazed) and made it publicly available -- we can begin to do the same thing for free right inside the radio.

This version does a very simple equalization, handling receiver audio above a setpoint frequency, allowing reduction of unnecessary transmitter energy in very low frequencies, and allowing limited boost of high frequency transmitted audio.? ? Others I'm sure could make far better software and provide a much easier, graphical, control system.

The current commands could easily be added to the telnet application being used to control much of the radio, developed by another user here.? ? Eventually I'll try to add this to github (when I have the patience and time to learn that system).? ??

As with most of the other modifications I've been slowly developing, this will get published in the North Central Florida ARRL QST monthly newsletter, and eventually get presented at the West Central Florida TECHCON, in 2025.??

Gordon KX4Z


 

开云体育

Excellent point, Raj!

Currently you would do the following to activate exactly what you’re asking for:

/basscutfreq 500

That causes an automatic transmitter cut of 20 DB below 500 Hz.?

73,?
Gordon Kx4z?




On Mar 16, 2024, at 09:08, Raj vu2zap <rajendrakumargg@...> wrote:

?

Gordon,

If you can fiddle with TX audio also. No need for graphic equalization but a "DX" button that cuts all audio below 500-600hz to improve readability in pileups and weak signal qso's. No point in wasting power on low frequencies.

Cheers

Raj

On 15/03/2024 7:08 PM, Gordon Gibby KX4Z wrote:
/g/BITX20/wiki/36274

T
his is a primitive but working version of the beginnings of built-in audio equalization in the sBitx.? ?There are $300 add-on hardware devices you can readily purchase to do an even better job -- but because Ashhar wrote such amazing software (I continue to be amazed) and made it publicly available -- we can begin to do the same thing for free right inside the radio.

This version does a very simple equalization, handling receiver audio above a setpoint frequency, allowing reduction of unnecessary transmitter energy in very low frequencies, and allowing limited boost of high frequency transmitted audio.? ? Others I'm sure could make far better software and provide a much easier, graphical, control system.

The current commands could easily be added to the telnet application being used to control much of the radio, developed by another user here.? ? Eventually I'll try to add this to github (when I have the patience and time to learn that system).? ??

As with most of the other modifications I've been slowly developing, this will get published in the North Central Florida ARRL QST monthly newsletter, and eventually get presented at the West Central Florida TECHCON, in 2025.??

Gordon KX4Z


 

Hi Gordon,?

I may need a bit of help installing this! I think your high-school students would roll their eyes at my incompetence...
Anyway, I believe I may be missing something in the process. Definitely need to learn some basics of using this software! Please comment when you have time, thanks.

Scotty WD4PYT?

On Sat, Mar 16, 2024, 9:22 AM Gordon Gibby KX4Z <docvacuumtubes@...> wrote:
Excellent point, Raj!

Currently you would do the following to activate exactly what you’re asking for:

/basscutfreq 500

That causes an automatic transmitter cut of 20 DB below 500 Hz.?

73,?
Gordon Kx4z?




On Mar 16, 2024, at 09:08, Raj vu2zap <rajendrakumargg@...> wrote:

?

Gordon,

If you can fiddle with TX audio also. No need for graphic equalization but a "DX" button that cuts all audio below 500-600hz to improve readability in pileups and weak signal qso's. No point in wasting power on low frequencies.

Cheers

Raj

On 15/03/2024 7:08 PM, Gordon Gibby KX4Z wrote:
/g/BITX20/wiki/36274

T
his is a primitive but working version of the beginnings of built-in audio equalization in the sBitx.? ?There are $300 add-on hardware devices you can readily purchase to do an even better job -- but because Ashhar wrote such amazing software (I continue to be amazed) and made it publicly available -- we can begin to do the same thing for free right inside the radio.

This version does a very simple equalization, handling receiver audio above a setpoint frequency, allowing reduction of unnecessary transmitter energy in very low frequencies, and allowing limited boost of high frequency transmitted audio.? ? Others I'm sure could make far better software and provide a much easier, graphical, control system.

The current commands could easily be added to the telnet application being used to control much of the radio, developed by another user here.? ? Eventually I'll try to add this to github (when I have the patience and time to learn that system).? ??

As with most of the other modifications I've been slowly developing, this will get published in the North Central Florida ARRL QST monthly newsletter, and eventually get presented at the West Central Florida TECHCON, in 2025.??

Gordon KX4Z


Paul
 

Hi Gordon
Great work, I am assuming you did this on stock 32-bit image, I am running JJ’s 64-bit image so it wouldn’t work. I think it is due to a different set of libraries used in the 64-bit image.
Regards
Paul


 

Paul, you would need to have the changes that I made to sbitx.c and sbitx_gtk.c Incorporated in the 64-bit software and then re-compiled to make it work.

Eventually I’ll learn how to use the GitHub system and then maybe it will become easier to get some of this made available.

It is relatively few changes, thankfully! Someone else may see how simple it was and incorporate it

Gordon Kx4z

On Mar 17, 2024, at 10:23, Paul <g0kaohx@...> wrote:

?Hi Gordon
Great work, I am assuming you did this on stock 32-bit image, I am running JJ’s 64-bit image so it wouldn’t work. I think it is due to a different set of libraries used in the 64-bit image.
Regards
Paul





Paul
 

Thanks Gordon
now I know which files to alter I can do that, I am assuming that you commented your changes in thise files so I am able to easily spot what changed. Looking forward to testing as I noticed with the USB headset changes that I don’t get full power potential as my voice is quite bassy
Regards
Paul


 

开云体育

Look for GLG?


On Mar 17, 2024, at 13:22, Paul <g0kaohx@...> wrote:

?Thanks Gordon
now I know which files to alter I can do that, I am assuming that you commented your changes in thise files so I am able to easily spot what changed. Looking forward to testing as I noticed with the USB headset changes that I don’t get full power potential as my voice is quite bassy
Regards
Paul


 

开云体育

The real gurus do some difference testing between files. ?Also, since I included the entire source files, you could simply re-compile. ?


On Mar 17, 2024, at 13:46, Gordon Gibby KX4Z via groups.io <docvacuumtubes@...> wrote:

?Look for GLG?


On Mar 17, 2024, at 13:22, Paul <g0kaohx@...> wrote:

?Thanks Gordon
now I know which files to alter I can do that, I am assuming that you commented your changes in thise files so I am able to easily spot what changed. Looking forward to testing as I noticed with the USB headset changes that I don’t get full power potential as my voice is quite bassy
Regards
Paul


Paul
 

Thanks Gordon
Looking forward to trying it, will let you know the results
Regards
Paul


Paul
 

still in testing mode yet but when I rebuilt sbitx with your revised files, i got an error:
pi@sbitx:~/sbitx $ ./build sbitx
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Mon Mar 18 03:21:11 PM GMT 2024
database is intact
compiling sbitx version v3.02 in /home/pi/sbitx
sbitx_gtk.c:896:5: error: conflicting types for ‘field_set’; have ‘int(char *, char *)’
? 896 | int field_set(char *label, char *new_value){
? ? ? |? ? ?^~~~~~~~~
In file included from sbitx_gtk.c:37:
sdr_ui.h:6:5: note: previous declaration of ‘field_set’ with type ‘int(const char *, const char *)’
? ? 6 | int field_set(const char *label, const char *new_value);
? ? ? |? ? ?^~~~~~~~~
pi@sbitx:~/sbitx $?

I think it is a variable declaration consistency error, e.g. declared as Int but using character is my initial thoughts but not investigated it yet as it didn't stop sbitx from working but it might stop the required changes working properly

Regards
Paul


 

开云体育

Thanks Paul, that’s not part of my portion…..
That’s great if it works!


On Mar 18, 2024, at 12:12, Paul <g0kaohx@...> wrote:

?still in testing mode yet but when I rebuilt sbitx with your revised files, i got an error:
pi@sbitx:~/sbitx $ ./build sbitx
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Mon Mar 18 03:21:11 PM GMT 2024
database is intact
compiling sbitx version v3.02 in /home/pi/sbitx
sbitx_gtk.c:896:5: error: conflicting types for ‘field_set’; have ‘int(char *, char *)’
? 896 | int field_set(char *label, char *new_value){
? ? ? |? ? ?^~~~~~~~~
In file included from sbitx_gtk.c:37:
sdr_ui.h:6:5: note: previous declaration of ‘field_set’ with type ‘int(const char *, const char *)’
? ? 6 | int field_set(const char *label, const char *new_value);
? ? ? |? ? ?^~~~~~~~~
pi@sbitx:~/sbitx $?

I think it is a variable declaration consistency error, e.g. declared as Int but using character is my initial thoughts but not investigated it yet as it didn't stop sbitx from working but it might stop the required changes working properly

Regards
Paul


Paul
 

I made a change to get rid of the error as the treble change commands were not working. The change I made was in the sbitx_gtk.c file by adding const to the field_set definition like so:
int field_set(const char *label, const char *new_value){
struct field *f = get_field_by_label(label);
if (!f)
return -1;
int r = set_field(f->cmd, new_value);?
update_field(f);
}

There are messages output following the recompile process but they are warnings rather than the original error message. Testing of the treble commands worked a treat for rx audio and once a command is entered, using the up and down arrow keys changed the characteristics of the audio and was useful from a testing perspective to either incrementally or decrementally make changes.

Well done Gordon and your students too for creating something really useful for changing rx audio characteristics on the fly in the sbitx.
I just need to test the tx side now and see if I can peak the power out a bit based on my voice characteristics

Thanks
Paul G0KAO


 

开云体育

Sounds great! I think that’s the proper correction

Gordon



On Mar 18, 2024, at 13:23, Paul <g0kaohx@...> wrote:

?I made a change to get rid of the error as the treble change commands were not working. The change I made was in the sbitx_gtk.c file by adding const to the field_set definition like so:
int field_set(const char *label, const char *new_value){
struct field *f = get_field_by_label(label);
if (!f)
return -1;
int r = set_field(f->cmd, new_value);?
update_field(f);
}

There are messages output following the recompile process but they are warnings rather than the original error message. Testing of the treble commands worked a treat for rx audio and once a command is entered, using the up and down arrow keys changed the characteristics of the audio and was useful from a testing perspective to either incrementally or decrementally make changes.

Well done Gordon and your students too for creating something really useful for changing rx audio characteristics on the fly in the sbitx.
I just need to test the tx side now and see if I can peak the power out a bit based on my voice characteristics

Thanks
Paul G0KAO