drowe67 / freedv-gui

GUI Application for FreeDV – open source digital voice for HF radio
https://freedv.org/
GNU Lesser General Public License v2.1
206 stars 52 forks source link

Record button during TX records a file but it does not decode and appears 300Hz HF #499

Closed barjac closed 1 year ago

barjac commented 1 year ago

Start TX Press Record Talk Press Record (to stop recording) Stop Modem Go to Tools->Start play file from radio Select the file->Open it Hit Start The file plays in the waterfall but is centred about 300Hz HF of 1500. Nothing is decoded and no stats are displayed. Re-centring makes no difference.

Git master @ #45949b5

tmiw commented 1 year ago

Just retested here and it seems to work for me. What sample rates are you running your sound devices at?

barjac commented 1 year ago

48000 but initially I tested at 41000. Fairly sure I tested at both but I will double check. I'm assuming 48k is preferred.

barjac commented 1 year ago

OK my mistake, I found that the output to headphones was still set at 44100, it now plays OK however this new recording is about 185Hz HF for some reason. recorded_TX [FreeDV_FromRadio_20230809-234314.txt](https://github.com/drowe67/freedv-gui/files/12307452

Rename this to .wav assuming github has not stripped the high bytes: File from image above at 48k FreeDV_FromRadio_20230809-234314.txt

tmiw commented 1 year ago

I tried to use my Bluetooth headset as my analog device (16 KHz microphone sample rate, 44.1 KHz speaker rate); my radio sound device is 48K. At least with 700D, the record feature seems to behave as intended, so I'm thinking it's not a sample rate issue.

@Tyrbiter, are you able to duplicate on your end?

barjac commented 1 year ago

I am currently using two USB sound cards. The headset has one and the other is CM108 based with analogue cables to the radio. Both seem happy to work with all rate settings in freedv at either 44.1k or 48k. I had never intentionally tried mixing rates on one card previously.

Tyrbiter commented 1 year ago

I tried to use my Bluetooth headset as my analog device (16 KHz microphone sample rate, 44.1 KHz speaker rate); my radio sound device is 48K. At least with 700D, the record feature seems to behave as intended, so I'm thinking it's not a sample rate issue.

@Tyrbiter, are you able to duplicate on your end?

Not that I can see, the waterfall was centred on 1500Hz. My sound cards are PCM2903 inside the TS-890 and a Realtek USB-2.0 card that feeds my headphones. This was with 700E. A quick check with 700D shows no difference in centre frequency.

tmiw commented 1 year ago

Would a restart of pipewire (or even a system reboot) help?

Anyway, I released a limited Windows test build (only x86_64, no other architectures) to verify code signing, so I'm going to have a couple of Windows users try this as well and verify that they have no issues.

Tyrbiter commented 1 year ago

Would a restart of pipewire (or even a system reboot) help?

Not sure that @barjac has a Linux distro that includes pipewire yet, think he said it was in a test version. That could make a difference as the development rate in Fedora pipewire has approached one version a week in the last month.

barjac commented 1 year ago

I have both, one test system with native pulseaudio and another with pulseaudio-pipewire. In Mageia (unreleased Mageia9) there is a config switch which selects either on the fly, but for testing I use two separate installs to avoid confusion. This bug was reported against the native PA installation. I will re-test in both and compare results.

barjac commented 1 year ago

OK this has fixed itself - nice bugs those!

Tested in both systems (with and without pipewire) and the recording is now bang on frequency in both. Maybe the reboot did it, however I reboot regularly while testing and the machine is off between sessions.

In both cases the data rate was set to 48k for everything.

So closing, will re-open if needed. :)