/g/BITX20/wiki/36274
This 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?
toggle quoted message
Show quoted text
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:
toggle quoted message
Show quoted text
/g/BITX20/wiki/36274
This 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?
toggle quoted message
Show quoted text
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
This 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?
toggle quoted message
Show quoted text
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?
?
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
This 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 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
toggle quoted message
Show quoted text
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
|
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
|
toggle quoted message
Show quoted text
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. ?
toggle quoted message
Show quoted text
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
|
Thanks Gordon Looking forward to trying it, will let you know the results Regards 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!
toggle quoted message
Show quoted text
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
|
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
toggle quoted message
Show quoted text
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
|