开云体育

Date

Re: SBITX v3 - Ability to use a Headset for phone modes

Paul
 

Thanks for this Dave
AS expected replacing your Device with my II worked at treat.
Signal to noise level output not great and is worse in the headset than it is on the sbitx speaker, however its not great there on mine anyway. Turning the volume up on the sbitx just seems to make it worse. The usable volume range is such that there is almost no audio until the volume control reaches a setting of 50+, a reasonably comfortable audio setting of about 86 is required to listen to the sbitx speaker.?
Word of warning for anyone following this thread and using the 64-bit OS. if you boot the sbitx up with the USB headset plugged in, the sbitx app will not start,, unplug the headset and reboot again if this happens.
On the stock v3 sbitx I had a slightly different experience in that if I booted the radio up with USB headset connected, the headset would work in parallel with the sbitx speaker. Adjusting the volume on the rig makes no diference to the audio out of the USB headset currently. The headset has its own volume control in my case, this also changes the volume on the sbitx speaker as well in my case.

this command produces better output in my headset than I get from the sbitx speaker:

arecord -D "plughw:CARD=Loopback,DEV=1" -f cd | aplay -D "plughw:CARD=II,DEV=0"

Just need to increase the volume to it now, perhaps using the rig volume control to allow the headset volume control the local control for fine adjustment

A step in the right direction me thinks

Still testing
Regards
Paul G0KAO


Re: SBITX v3 - Ability to use a Headset for phone modes

 

Hi Dave,

I've being using gnuradio-companion too for simple testing.

I committed some .grc files here, which might be useful:


Cheers,
Rafael

On 1/30/24 01:24, Dave, N1AI wrote:
On Mon, Jan 29, 2024 at 04:44 PM, Paul wrote:

Question - is Loopback_2 used by sbitx?

I don't think so. Searching for 'plughw' in the current code <> gives:



So we have plughw device 0 used for the codec, 1 and 2 used for loopback, leaving the third loopback (numbered 3) unused.


The same search gives a hint of how they get used and how they get created:



Line 20 creates three of them, placed at indices 1,2,3.

Line 14: I found it was important to use the full address:port ( 127.0.0.1:4532 ) not just 127.0.0.1

I edited the wiki page posted earlier so it has this update.

If yes, could we use this one to route analogue audio I/O from
card 0 (audioinjectorpi) on SBITX to another audio I/O device such
as a USB headset or Bluetooth headset?

Yes.? Below is a proof of concept.

After connecting my USB headset I ran the command again:
pi@sbitx:~ $ aplay -l | awk -F \: '/,/{print $2}' | awk '{print
$1}' | uniq
audioinjectorpi
Loopback
Loopback_1
Loopback_2
II

Mine gives:

$ aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq
audioinjectorpi
Loopback
Loopback_1
Loopback_2
Device

So it gives the odd name 'Device' to my USB sound card device.

Another way to see it:

$ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? Loopback 3
?4 [*Device* ? ? ? ?]: USB-Audio - USB PnP Sound Device
? ? ? ? ? ? ? ? C-Media Electronics Inc. USB PnP Sound Device at usb-0000:01:00.0-1.2.2, full s

These suggest it looks promising, the devil is in the detail

Great, I get to play satan!


I am trying to avoid the use of PulseAudio as that has been
replaced in newer distributions using Pipewire and Wireplumber,
however both of these sit on top of ALSA. Based on this will focus
my efforts on using Alsa if possible to minimise complication.
Might not be possible but it is a starting point with help from
the references above.

Research continues - if I get the answer and tested, it will be
added here to begin with and then the wiki page as a Howto
If anyone already solved it then please add to the topic.

I've done a small proof of concept to play sound from sbitx's loop device out to my usb sound card.

What I did to try to make progress was to set up and test wsjt-x using the settings in the wiki page posted earlier.

That told me what device names to use.

Then I tried a few things but in the end what worked for me was to set up a gnuradio flowgraph using its audio source and audio sink.

This is what it looks like:



The stuff in the bottom right shows the variables I created, the same stuff is in the text under each variable block.

To be honest I guessed incorrectly based on what wsjt-x refers to as sound card input vs output.

I used the 'QT GUI Sink' to show a FFT and waterfall of the data and changed names around and it worked.

This is what is known as the FAFO method (f-around, find out).

Then to show it worked, I moved over to the linux CLI and did:

$ arecord -D "plughw:CARD=Loopback,DEV=1" | aplay -D "plughw:CARD=Device,DEV=0"

and this worked, it records from the loopback device sbitx writes to and plays to the usb device.

In your case, substitute Device with II and I think it should work.

The sound ain't great.? There's things like gains to work out and re-sampling to avoid (hint: plughw is doing resampling if it needs to).

But it is a proof-of-concept, for at least one direction.

Another hint is that the 'sox' program can do this all in one command more efficiently, and can do things like apply gain factors and filtering, etc.

The syntax for 'sox' is pretty unfriendly, though, IMO.

The other direction should just be a matter of putting the right source and destination devices into the same commands.

--
Regards,
Dave, N1AI


Re: sBITX v3 - Need Clarifications

 

Hi Dave!

And you can do something similar to test the tx, just enable the audio tx path with my sbitx-core (for example) and use "ptt_on" command:


Then you'll be able to slowly rise alsa Master volume until you see power. Play something like this:

ffmpeg -f lavfi -i "sine=frequency=24000:sample_rate=96000:duration=0" -ac 2 -map_channel -1 -map_channel 0.0.0 -f alsa? hw:0,0

Farhan sbitx is very bloated for simple testing.

Cheers,
Rafael

On 1/29/24 15:16, Dave, N1AI wrote:
If you exit the sbitx program and open a Terminal you can use the following command to generate a tone and play it on the speaker via the same path used by the sbitx application:

$ speaker-test -Dplughw:CARD=audioinjectorpi,DEV=0 -c 1 -t sine -f 600

This should come through 'loud and clear'.

You can also play music, etc.

More information in this thread: /g/BITX20/topic/103407266#107146


--
Regards,
Dave, N1AI


Double or triple LOG saving #sBITX_v3

 

Double or triple LOG saving
I would like to prevent double or triple saves from multiplying in my LOG file.
This happens when another 100 watt weak signal is superimposed on my 10 watt signal.
Then the station can't pick up anything from my signal.
These cases occur in the crowded band, when one period appears to be a clear frequency,
while in the next another finds the empty space. In this case, the connection that normally takes 2 minutes can take up to 6 minutes.
In this case, the program will enter the connection in the LOG at least three times.

I look for the option in vain with AltGray-Q and R combination (\r) to see if my transmission frequency is still empty, if it stops in the next moment.
--
Gyula HA3HZ


Re: sBITX Toolbox - A great companion for the sBitx transceiver is now available for public release #file-notice #sBitx #sbitx_v2 #sBITX_v3 #wiki-notice

 

Yes, this is a good idea, the Compression level should be adjustable.
It's a shame that the availability of LOG has changed since the current working LOG, so it is not available with tools.
--
Gyula HA3HZ


Re: sBITX Toolbox - A great companion for the sBitx transceiver is now available for public release #file-notice #sBitx #sbitx_v2 #sBITX_v3 #wiki-notice

Paul
 

开云体育

Looking good, curious, is the Compression level setting a hidden setting not available on the front panel?
Ideally mic gain ahould be increased and compression only used if really needed and at a fairly low level so wondering how I change the compression setting without the aid of the panel. Bringing it out to your panel makes it more accessible to get adjusted right.
Great work on developing this toolbox panel
Regards
Paul G0KAO

On 30 Jan 2024, at 07:20, JJ - W9JES <w9jes@...> wrote:

?More discoveries and features to be added to sBITX Manager at some point!

<dummyfile.0.part>




-JJ


Re: sBITX Toolbox - A great companion for the sBitx transceiver is now available for public release #file-notice #sBitx #sbitx_v2 #sBITX_v3 #wiki-notice

 

More discoveries and features to be added to sBITX Manager at some point!





-JJ


Re: 73 Linux or Build-A-Pi support on the sBitx?

 

And here it is working on the sBitx..



Re: 73 Linux or Build-A-Pi support on the sBitx?

 

My Apologies.. here are the CORRECT sound card settings..


Re: 73 Linux or Build-A-Pi support on the sBitx?

 

Here are the settings for JS8Call..








-JJ


Re: 73 Linux or Build-A-Pi support on the sBitx?

 

On Mon, Jan 29, 2024 at 06:09 PM, Nate Moore wrote:

The use case involves pat/winlink with ardop, js8call, and all the modes that don't exist as part of the sbitx software package.

Following your directions to attempt to get wsjtx going still has me at a dead stop

In general, I expect to see hamlib running, as well as rigctl running.

?

It looks like the sbitx executable itself has these functions baked in, rather than building off the existing packages?

?

Or, again, am I completely not understanding what's being conveyed?

Here is the procedure:
  1. Start sbitx and wait at least 30 seconds for it to build the network loopback connection
  2. Set the mode to digital
  3. Open your third-party app
  4. Configure as seen in the screen shots below.

You can also check the port status with: netstat -lntp

Here are the settings..







As far as the rig.xml file is concerned.. I have been meaning to convert it to a standard xml format at some point and rewrite hamlib.c to work properly.. Just haven't travelled down that rabbit hole yet :)? I am happy to see someone else who is interested in this like me!

FWIW - You can change the inet address on line 207 in??to 0.0.0.0 and recompile the sbitx code to make the current hamlib instance routable outside the transceiver.. It is a very temperamental connection, so be warned. It was one of the first things I tried before I created?.?


-JJ


Re: sBITX case

 

Wow, very nice?
On Jan 29, 2024 at 8:30?PM -0500, David Cutliff <dcutliff@...>, wrote:

On 1/18/2024 2:27 PM, David Cutliff wrote:
I finished the sBITX? V3 case. I found the enclosure on AliExpress. I
cut some holes, made some 3-d printed parts and put it together.? The
radio is now safe from falling objects and fat fingers.







Re: 73 Linux or Build-A-Pi support on the sBitx?

 

On Mon, Jan 29, 2024 at 07:20 PM, Nate Moore wrote:

Looks like we need a rig.xml () or to at least define what the values are so we can take advantage of them?

I have set up fldigi from scratch when I moved off of the Buster image that came from the radio and went to Bulleye.

The setup is basic:


?
Again I suggest you check the address:port settings.

You should be able to do the most basic stuff like changing frequencies and switching from rx to tx but not much more.

Once that exists then flrig can ride on top of fldigi (which is already functional) and then the rigctl functions from other packages can proceed as per normal, passing it on down the line to get to the sbitx SDR.

We do know the audio ports, we just need the serial ports for controlling the radio.

Once you get to sbitx, there isn't a lot of functionality there to be had.? It may not be able to answer some of the questions flrig ( or grig, for that matter ) ask.

There is no serial port to be had or to be used.? It's hamlib net rigctl or nothing.

--
Regards,
Dave, N1AI


Re: 73 Linux or Build-A-Pi support on the sBitx?

 

On Mon, Jan 29, 2024 at 07:09 PM, Nate Moore wrote:

In general, I expect to see hamlib running, as well as rigctl running.

I did, too.

You might want to use this forum's search feature to look for posts by N1AI about the software's robustness and completeness.

TBH I don't think it'd be a big challenge to do a full hamlib implementation, and was surprised that no one has done one yet.

It looks like the sbitx executable itself has these functions baked in, rather than building off the existing packages?

Yes.? If you can read code as JJ said you can look at??and see what it has, or what it lacks.

Did you use the address 127.0.0.1:4532 to connect ?

With sbitx running on my radio, I can use this address and use the 'f' command to get the current frequency back:

$ rigctl -m 2 -r 127.0.0.1:4532 f
7074000
?
--
Regards,
Dave, N1AI


Re: sBITX case

David Cutliff
 

On 1/18/2024 2:27 PM, David Cutliff wrote:
I finished the sBITX? V3 case. I found the enclosure on AliExpress. I cut some holes, made some 3-d printed parts and put it together.? The radio is now safe from falling objects and fat fingers.


Re: SBITX v3 - Ability to use a Headset for phone modes

 

On Mon, Jan 29, 2024 at 04:44 PM, Paul wrote:
Question - is Loopback_2 used by sbitx?
I don't think so.? gives:



So we have plughw device 0 used for the codec, 1 and 2 used for loopback, leaving the third loopback (numbered 3) unused.


The same search gives a hint of how they get used and how they get created:



Line 20 creates three of them, placed at indices 1,2,3.

Line 14: I found it was important to use the full address:port ( 127.0.0.1:4532 ) not just 127.0.0.1?

I edited the wiki page posted earlier so it has this update.

If yes, could we use this one to route analogue audio I/O from card 0 (audioinjectorpi) on SBITX to another audio I/O device such as a USB headset or Bluetooth headset?
Yes.? Below is a proof of concept.

After connecting my USB headset I ran the command again:
pi@sbitx:~ $ aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq
audioinjectorpi
Loopback
Loopback_1
Loopback_2
II
?
Mine gives:

$ aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq
audioinjectorpi
Loopback
Loopback_1
Loopback_2
Device

So it gives the odd name 'Device' to my USB sound card device.

Another way to see it:

$ cat /proc/asound/cards
?0 [audioinjectorpi]: audioinjector-p - audioinjector-pi-soundcard
? ? ? ? ? ? ? ? ? ? ? audioinjector-pi-soundcard
?1 [Loopback? ? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 1
?2 [Loopback_1? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 2
?3 [Loopback_2? ? ?]: Loopback - Loopback
? ? ? ? ? ? ? ? ? ? ? Loopback 3
?4 [Device? ? ? ? ?]: USB-Audio - USB PnP Sound Device
? ? ? ? ? ? ? ? ? ? ? C-Media Electronics Inc. USB PnP Sound Device at usb-0000:01:00.0-1.2.2, full s

These suggest it looks promising, the devil is in the detail
Great, I get to play satan!


I am trying to avoid the use of PulseAudio as that has been replaced in newer distributions using Pipewire and Wireplumber, however both of these sit on top of ALSA. Based on this will focus my efforts on using Alsa if possible to minimise complication. Might not be possible but it is a starting point with help from the references above.

Research continues - if I get the answer and tested, it will be added here to begin with and then the wiki page as a Howto
If anyone already solved it then please add to the topic.
I've done a small proof of concept to play sound from sbitx's loop device out to my usb sound card.

What I did to try to make progress was to set up and test wsjt-x using the settings in the wiki page posted earlier.

That told me what device names to use.

Then I tried a few things but in the end what worked for me was to set up a gnuradio flowgraph using its audio source and audio sink.

This is what it looks like:


?
The stuff in the bottom right shows the variables I created, the same stuff is in the text under each variable block.

To be honest I guessed incorrectly based on what wsjt-x refers to as sound card input vs output.??

I used the 'QT GUI Sink' to show a FFT and waterfall of the data and changed names around and it worked.

This is what is known as the FAFO method (f-around, find out).

Then to show it worked, I moved over to the linux CLI and did:

$ arecord -D "plughw:CARD=Loopback,DEV=1" | aplay -D "plughw:CARD=Device,DEV=0"

and this worked, it records from the loopback device sbitx writes to and plays to the usb device.

In your case, substitute Device with II and I think it should work.

The sound ain't great.? There's things like gains to work out and re-sampling to avoid (hint: plughw is doing resampling if it needs to).

But it is a proof-of-concept, for at least one direction.

Another hint is that the 'sox' program can do this all in one command more efficiently, and can do things like apply gain factors and filtering, etc.

The syntax for 'sox' is pretty unfriendly, though, IMO.

The other direction should just be a matter of putting the right source and destination devices into the same commands.

--
Regards,
Dave, N1AI


Re: 73 Linux or Build-A-Pi support on the sBitx?

Nate Moore
 

Looks like we need a rig.xml () or to at least define what the values are so we can take advantage of them?

Once that exists then flrig can ride on top of fldigi (which is already functional) and then the rigctl functions from other packages can proceed as per normal, passing it on down the line to get to the sbitx SDR.

We do know the audio ports, we just need the serial ports for controlling the radio.

?

(Or, again, am I way off base? )


Re: 73 Linux or Build-A-Pi support on the sBitx?

Nate Moore
 

The use case involves pat/winlink with ardop, js8call, and all the modes that don't exist as part of the sbitx software package.

Following your directions to attempt to get wsjtx going still has me at a dead stop

In general, I expect to see hamlib running, as well as rigctl running.

?

It looks like the sbitx executable itself has these functions baked in, rather than building off the existing packages?

?

Or, again, am I completely not understanding what's being conveyed?


SBITX v3 - Ability to use a Headset for phone modes

Paul
 

The challenge - I and many other users want to be able to use a headset for the phone modes in the sbitx e.g. USB headset or a Bluetooth headset.
Logically the problem is similar to the routing of audio for the digital modes from the audioinjectorpi sound card to/from the software used for the digital modes.

The soundcards identified in the sbitx using the command aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq?generates on the sbitx:

pi@sbitx:~ $ aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq
audioinjectorpi
Loopback
Loopback_1
Loopback_2
pi@sbitx:~ $
?
audioinjectorpi (card 0 in ./asoundrc) is the default output (and mic input) for the sbitx analogue audio
Loopback,DEV=1 (card 1 in ./asoundrc) is used for software output(Input) to JTDX, WSJT-X or others
Loopback_1,DEV=0 (card 2 in ./asoundrc) is used for Software input(Capture) from JTDX, WSJT-X or others
?
Question - is Loopback_2 used by sbitx?
If yes, could we use this one to route analogue audio I/O from card 0 (audioinjectorpi) on SBITX to another audio I/O device such as a USB headset or Bluetooth headset?

After connecting my USB headset I ran the command again:
pi@sbitx:~ $ aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq
audioinjectorpi
Loopback
Loopback_1
Loopback_2
II
pi@sbitx:~ $
the II shown in this command output is the USB Headset (Jabra Evolve 30 II in my case)

More detail re the ./asoundrc file:
The system configuration file is /etc/asound.conf (not exist on sbitx), and the per-user configuration file is ~/.asoundrc.
?
sbitx asoundrc:
pi@sbitx:~ $ cat ~/.asoundrc
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "output"
}
capture.pcm {
type plug
slave.pcm "input"
}
}
pcm.output {
type hw
card 0
}
?
ctl.!default {
type hw
card 0
}
?
pcm.input {
type hw
card 0
}
pi@sbitx:~ $?
?
A couple of references:



These suggest it looks promising, the devil is in the detail

I am trying to avoid the use of PulseAudio as that has been replaced in newer distributions using Pipewire and Wireplumber, however both of these sit on top of ALSA. Based on this will focus my efforts on using Alsa if possible to minimise complication. Might not be possible but it is a starting point with help from the references above.

Research continues - if I get the answer and tested, it will be added here to begin with and then the wiki page as a Howto
If anyone already solved it then please add to the topic.

Regards
Paul G0KAO
?
?


Re: #sBitx on Raspberry Pi OS 64-bit #sBitx

Paul
 

Think I might have been working it too hard with too many windows open trying to solve an audio routing challenge, swapped the 2GB pi out for my 8GB pi as it was grinding to a halt.
Audio challenge is trying to allow the use of a headset, either USB or Bluetooth for SSB, working on USB solution first. Think I have a possible method but not sure, still researching
Regards
Paul G0KAO