jontio / JMPX

FM Stereo encoder with RDS support
https://jontio.zapto.org/hda1/paradise/jmpxencoder/jmpx.html
56 stars 8 forks source link

In/out cannot show sound cards - Ubuntu 16LTS #12

Closed princetn closed 2 years ago

princetn commented 2 years ago

Hi,

I have successfully compiled the source code for Ubuntu 16 Desktop. It runs but when I check the in/out nothing is listed in the combo-box only thing listed is none. I am running on Asus X555 laptop with stock audio card. Do I need an external usb sound card for it to list it? What am I missing here.

Thanks in advance.

jontio commented 2 years ago

JAERO uses Qt for audio support which in turn use audio backends on the system. I am not entirely sure how Qt does all this but https://wiki.qt.io/Qt_5.13_Multimedia_Backends seems to say back they use is GStreamer. So I guess you need to have GStreamer installed? Do you have things like pulseaudio-qt installed? I would've thought that this would bring everything needed.

princetn commented 2 years ago

Thanks for prompt reply. After executing the following command: sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-pulseaudio and It turned out that running in debug was the issue when I switched to release the in/out was listing only : in: HDA intel PCH and default. out: HDA intel HMDI, 3, 7, 8 and default. I was hoping it would show the actual stock sound card for both in/out. or the software requires two separate sound cards to run properly? Thanks. image

jontio commented 2 years ago

Ops I got the wrong project. This one uses Rtaudio ( https://github.com/thestk/rtaudio ) not qt audio as I mentioned. But yes the names are a bit unusual. I can't remember how it all works. Looking at the repo I did some really odd things back then. If you look in https://github.com/jontio/JMPX/blob/master/libJMPX/libJMPX.pro I see I compile rtaudio and for Linux have only set __UNIX_JACK__ but not __LINUX_PULSE__ or __LINUX_ALSA__ . Maybe experiment a bit with them and see if enabling them will help.

No it should still work with one soundcard. I probably either used jack or set the default option and used the pulse audio volume control program to change what was going in and out; I think that is possible. But yes JMPX is in real need of a tidy.

princetn commented 2 years ago

Hello Jonti,

Yes, in the previous post and image I sent earlier, I actually did go over your messages in the project and went through the project config file *.pro and enabled both so I ended up with all three being enabled. So I am not sure if I am supposed to only enable one while commenting out the other two?

Further, my question to you is: When you tested your project could you share on what machine and sound card have you got the code to run? I know that you also mention that only sound cards capable of outputting sound in frequency 192Khz or higher in order of RDS to properly function which is understood since RDS and stereo need to have pilot tone at higher frequencies outputted.
Unfortunately, I am quite limited on time I could spend on going over the code more in depth and try to understand how everything was implemented. But I assume you are implementing the encoder using Fourier transforms and then using qt for the GUI and interfacing to the actual audio card. All I really want is to be able to hook this into one of the two FM PLL based modules I designed and try to test it to see if the RDS, stereo and the pre-emphasis digitally implemented using your library will produce a quality FM stereo sound and RDS results. Maybe one day when I get to spend a bit of time I'll be able to understand it and possibly improve on it. I have designed one FM transmitter using SAA1057 and another one using RHOM's fm transmitter package chip BH1415F. So the second one won't probably be suitable as it have audio processing builtin electronically.

jontio commented 2 years ago

I had it running on a few different computers but I can't remember what they all were now. On the raspberry pi3 I had two of those clip on soundcard boards that you can find on the net but I can't remember the names of those ones either. They were quite easy to get the soundcard rate at 192kHz. On the big computer I used an Xonar U7 as I recall. On Linux on the big computers I remember finding it difficult to get soundcards to actually work at 192kHz while on Windows it was easy. On Linux JACK seem to be the best solution. Yes the RHOM chips are annoying; as I recall they had 16 kHz low-pass filters on their inputs. It's been a long time since I've experimented with it so it's all a bit hazy these days.

princetn commented 2 years ago

Thanks for the help Jonti!