The AM Forum
March 28, 2024, 11:47:45 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   Home   Help Calendar Links Staff List Gallery Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: AM Audio Processing using software  (Read 8041 times)
0 Members and 1 Guest are viewing this topic.
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« on: December 30, 2018, 10:30:46 AM »

In a related thread, K1JJ opines about controlling audio bandwidth using voice processing hardware. I have spent a few hours this morning reading about his Symetrix 528's, PMC-300s, graphic equalizers, NRSC Filters, etc.

What comes to mind from my software background is whether anyone has taken a relatively useful Raspberry Pi or an older PC, matched with a GOOD sound card and some Linux software to address this need for AM transmitter voice processing. Well, I happen to have a Pi 2B and a Soundblaster 5.1 sound card, and a bit of knowledge about how to use them. After I get the transmitter going this will be my next foray.

I found this as the software to try - http://jamin.sourceforge.net/en/about.html

Here is a short youtube video - https://www.youtube.com/watch?v=3wYExedECwM&t=94s

Has anyone given this software focused approach any thoughtful time?

John
Logged
KL7OF
Member

Offline Offline

Posts: 2313



« Reply #1 on: December 30, 2018, 10:35:42 AM »

Sounds like a good idea....How do you get the processed audio from the computer  to the modulator tubes?
Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #2 on: December 30, 2018, 10:45:40 AM »

In my transmitter design (see the thread on 811 bias below) I have an 8 ohm to 2000 ohm line transformer. I plan to drive the 8 ohm input with a class D 100W amp board I picked up from Amazon. A whopping $10 bucks. It is a mono subwoofer amp and has instructions on how to remove the low pass. It has a line level input. I would hook the stereo output of the SB-1095 to that with a Y cable. The SB has a mic level input for my Heil GM-5 mic. Hook up the PI with Raspbian and install the Jamin app. Take it for a spin.

I think that covers it...

John
Logged
VE3ELQ
Contributing
Member
*
Offline Offline

Posts: 258


« Reply #3 on: December 30, 2018, 11:18:04 AM »

John,
What a nice project. This got my attention since I have an unused  PI-2 running Raspbian and a couple of older sound cards and I was considering building an analog EQ. Looking for something different to build I could possibly cobble something together in a project box as you suggest and make a real nice EQ.   This definitely has merit IMO.  Please keep us updated.

73s  Nigel
Logged

A "Tube Free" zone.
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #4 on: December 30, 2018, 11:38:10 AM »

I will keep good notes.
Logged
KD6VXI
Contributing
Member
*
Offline Offline

Posts: 2648


Making AM GREAT Again!


« Reply #5 on: December 30, 2018, 11:54:08 AM »

Been here, done this.

Used VST files for the actual processing.  

Cucos Reaper as the VST wrapper.

Started on windows.  Guys are now using their IPhone and IPad.

You can use raspbian coupled with WINE or MONO if u I u want reaper, otherwise their are a bunch of other 'wrappers' you can use.

Also, be aware, stereotool has a Winamp style plug in.  There is also another processor program that was written by the same guy who wrote the software behind Omnia stuff.  His was released as 'freeware' not too many years ago.

The Pi has no audio input.  You'll need a USB audio stick at a minimum.

--Shane
KD6VXI

Stereotool
Broadcast.vst
Breakaway Broadcast Processor
(breakaway has the capability to stretch your positive peaks, if you have a DC coupled sound card)

Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #6 on: December 30, 2018, 03:09:49 PM »

Thanks Shane, I will take a look.

My concept here is using the Pi for RX (PiHPSDR or LinHPSDR) to run my hermes lite based RX. The HL project is thinking about a RX Nano that would be perfect for general purpose SDR RX using network instead of audio for the I/Q. I also would like to hack the code so that it diddles some GPIO lines to run the sequencer and exciter in the proper sequence, along with the voice processing to run in a separate process. If the PI does not have enough gas, a TinkerBoard or some other SBC could be used.

Just thinking out loud. Got to bend some metal first...

John
Logged
W1EQX
Member

Offline Offline

Posts: 32


« Reply #7 on: January 01, 2019, 09:47:51 PM »

For AM/FM audio processing in software look no further than Stereo Tool.  It is a total AM/FM/Streaming broadcast processing package available for Windows, OS X, Linux and RaspberryPi. It has a very active and wide support group and Hans, the owner and chief developer, is very active and receptive to feedback. The AM section incorporates NRSC preemphasis curves, brickwall cutoff DSP filters and asymmetrical peak limiting. The software is very mature, efficient and used throughout the world and the U.S.

Stereo Tool is an Optimod and Omnia alternative implemented in software. Highly recommended. Check them out at https://www.stereotool.com/

Carmine
W1EQX
Logged
W2PHL
Contributing
Member
*
Offline Offline

Posts: 146


Phil


WWW
« Reply #8 on: January 02, 2019, 08:14:05 AM »

Breakaway One is my favorite. I always live monitor with headphones so audio latency is a concern for me. Breakaway has a version specifically for AM processing. The BreakawayOne Full AM processing core:( https://store.claessonedwards.com/product_p/b1fam.htm ) has the ASIO low latency engine. The trial version has all features enabled but an hourly commercial will remind you that you didn't pay for it.  Grin
Download link: http://www.breakawayone.com/downloads/

A BEHRINGER U-PHORIA UMC202HD audio interface or equivalent is required if you are looking for the lowest possible latency. https://www.amazon.com/dp/B00QHURUBE/ref=twister_B07CYRYQ8G?_encoding=UTF8&th=1

I made a quick video demo to demonstrate the latency: https://www.youtube.com/watch?v=B4iEUfxwQvE&feature=youtu.be

Phil
Logged

I think therefore AM
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #9 on: January 03, 2019, 10:58:13 AM »

I appreciate the input. My hope is to find an adequate open source linux aproach that can run well on a small SBC like a Pi. We shall see. Good to know other options exist.
Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #10 on: January 05, 2019, 09:26:20 AM »

Got some time to work on this.

Using a extra Pi 2B+

Direct ethernet attach

Installed Raspbian Stretch Lite on a 32Gb SDRam using WinDisk32 Imager from a downloaded image of the OS
Boot the OS, comes up in terminal mode. Login using login pi and raspberry for the PW
sudo apt-get update
sudo apt-get upgrade

then to install the desktop

sudo apt-get install raspberrypi-ui-mods

reboot into the GUI and log in again, same credentials

then to get some tools (installer gui, browser)

sudo apt-get install synaptic
sudo apt-get install rpi-chromium-mods
sudo apt-get install python-sense-emu python3-sense-emu

then the sound stuff

sudo apt-get install jamin

here is what jamin offers. Esp happy about the brickwall feature!

JAMin is the JACK Audio Connection Kit (JACK) Audio Mastering interface. JAMin is an open source application designed to perform professional audio mastering of stereo input streams. It uses LADSPA for digital signal processing (DSP). JAMin is licensed under the GPL.

JAMin features:

Linear filters
JACK I/O
30 band graphic EQ
1023 band hand drawn EQ with parametric controls
Spectrum analyser
3 band peak compressor
Lookahead brickwall limiter
Multiband stereo processing
Presets and scenes
Loudness maximiser

Have to get a power supply before I add my Soundblaster SB-1054. Running out of power with the 1A wallwart that I sole from my Amazon Fire Stick

Later,
John
Logged
KD6VXI
Contributing
Member
*
Offline Offline

Posts: 2648


Making AM GREAT Again!


« Reply #11 on: January 05, 2019, 10:11:20 AM »

Get a powered USB hub and be done with it.

Also, a 2A supply on the pi is the lowest I'd go.  Otherwise you run the risk of the lightening bolt low power display on the screen during audio processing.  Could lead to skipped sound samples.

--Shane
KD6VXI
Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #12 on: January 05, 2019, 10:28:25 AM »

yep, already on it. That is what I have on my pi 3 that runs a touch screen and pihpsdr to run my hermes lite transceiver. See qrz.com page for more info.

Additional info - setup keyboard, local and timezone thru the Pi preferences option. It defaults to GB and can cause mapping issues here in the states.

John
Logged
VE3ELQ
Contributing
Member
*
Offline Offline

Posts: 258


« Reply #13 on: January 05, 2019, 12:35:08 PM »

Got some time to work on this.

Using a extra Pi 2B+

John

Excellent step by step John.  Definitely going to try this, just finishing up another transmitter project first.  Turns out my PI is a 3 with 32Gig flash memory card.  Looking at USB sound boards for it, seems there are many and I'm clueless.  What do you recommend??

73s  Nigel
Logged

A "Tube Free" zone.
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #14 on: January 05, 2019, 02:17:01 PM »

Spend some time reading audiophile forums. The SB-1054 was highly rated a few years ago and I had it for use with my softrock for I/Q processing. It was flat for 96K spectrum work. That is what I plan to use since I already have it.

I am sure there are other good cards. Just have to look for them. I am not up on the current crop of cards, although I have always been happy with soundblasters.

John
Logged
kb2vxa
Member

Offline Offline

Posts: 162


I modulate, therefore AM


« Reply #15 on: January 09, 2019, 08:28:30 PM »

Software audio processing, I have found nothing better for home audio enhancing, broadcast and live sound reinforcement:
https://www.claessonedwards.com/
Logged

73 de Warren KB2VXA
Station powered by atomic energy, operator powered by natural gas.
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #16 on: January 10, 2019, 06:45:33 AM »

Trying Linux and open source.
Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #17 on: January 12, 2019, 01:18:05 PM »

Got Jamin running on the Pi. Definitely not enough horsepower out of the PI 2B that I have. Time for an upgrade.

For those following along,

You have to install Jack2

run qjackctl to get it started and have ability to create connections. When you start Jamin it's connections will show up.

you have to use alsa_out and alsa_in to attach to the soundcard. I used a X-Fi Pro. Here are the commands to query the attached devices and start them.

Playback listing

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 6/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Pro [SB X-Fi Surround 5.1 Pro], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Pro [SB X-Fi Surround 5.1 Pro], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Record listing

arecord -l

**** List of CAPTURE Hardware Devices ****
card 1: Pro [SB X-Fi Surround 5.1 Pro], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

To attach microphone

alsa_in -j "Microphone" -d hw:Pro -q 1 2>&1 1> /dev/null &

To attach ALSA speakers (default Pi output)

alsa_out -j "Alsa-system" -d hw:ALSA -q 1 2>&1 1> /dev/null &

To attach the X-FI Pro

alsa_out -j "Speakers" -d hw:Pro -q 1 2>&1 1> /dev/null &

Once you create the connections, you can then attach the microphone to jamin's input and the master out to the speakers.

All I hear is garbled output due to the Pi overruns. I have a Pine64 that I am going to try.
Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #18 on: January 15, 2019, 06:00:53 AM »

Pine64 testing was a bust. Totally inadequate software support. Checking out Odroid. I know this works on Pi so I may wait a while since I am still building the transmitter. I can always use an old desktop if I need to. Pi is rumored to be coming out with a follow-on to the Pi 3B+ hopefully soon. The Pi software ecosystem and community puts it far ahead of the other SBC communities in terms of support and functionality of the OS.

On the PI setup, I made a shell script of the alsa_in and alsa_out commands. In the Jack setup there is a place to run the script after jack startup. That works perfect to have the devices already listed in the connections dialog upon launch. Then an easy connection and start Jamin and load the saved scene.
Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #19 on: January 19, 2019, 09:08:45 AM »

Nigel,

If it is not too late, hold off on a USB sound card. I have been doing some research on audio topics on the Raspbian forums. Encountered a sound card implementation that runs as a HAT (i.e. plugs into the GPIO connector). It is reported to be an order of magnitude better than USB for latency. That is the exact problem I have been having on my older Pi 2B. It may be good that I am trying this on an older board in that it makes it a harder goal. If I can get it to work here than on a Pi 3B+ it should be much better. It is 32Bit/96kHz. It does not have microphone input but will be good for a test bed. They have a higher cost board with XLR quality microphone inputs. I will get this working with test audio then upgrade if successful.

Anyway, have one on order from Amazon. Will let you know how it works out.

Logged
KD6VXI
Contributing
Member
*
Offline Offline

Posts: 2648


Making AM GREAT Again!


« Reply #20 on: January 19, 2019, 10:52:46 AM »

For what we do you really don't need a sample rate anywhere near 96 kHz.

A 16/24 kHz sound card would be just fine. 

This will lower the cpu load by orders of magnitude as well.

I use a sound blaster 5.1 USB card that's reconfigured (software) as a 2 channel card and samples at 24 kHz.  It will run up to 96 or 128 (I forgot), but it made my cpu load shoot through the roof and I have absolutely no need with just my voice to have that much resolution.

YMMV, but I was thinking about your problem with overruns, etc.  and I remembered some of the stuff I went through (I use a pentium 2 on XP with a half gig of ram, so not much lower powered than a pi lol)

--Shane
KD6VXI

Logged
VE3ELQ
Contributing
Member
*
Offline Offline

Posts: 258


« Reply #21 on: January 19, 2019, 12:31:40 PM »

Nigel,

If it is not too late, hold off on a USB sound card. I have been doing some research on audio topics on the Raspbian forums.


John,
Thanks for the updates.  Been doing some reading on audio forums about this.  Perhaps one of the the HiFi Berry DAC versions would work. It plugs right on top of the PI so no USB latency issues. See here: https://www.hifiberry.com/shop/boards/hifiberry-dac-pro/

Following your progress with interest.  Just finished D rig TX build 8 today and now performing final calibration and testing so will soon be ready for my next project. Please continue with the updates.

73s  Nigel
Logged

A "Tube Free" zone.
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #22 on: January 19, 2019, 03:05:07 PM »

Thanks Shane. I will see how I can throttle back the USB card. We may have the same one. Mine is a Soundblaster 5.1 USB card.

https://www.amazon.com/Creative-Blaster-Surround-System-SB1095/dp/B0044DEDCA

FB Nigel...

John
Logged
w9jsw
Two shots of Whisky
Contributing
Member
*
Offline Offline

Posts: 592



« Reply #23 on: January 20, 2019, 09:38:57 AM »

Shane,

Taking a closer look at StereoTool. What is the license content required for your AM transmitter use. I see lots of feature pricing and it is hard to decide what is necessary vs what is not. Or are you running the free trial with the announcement?

John
Logged
KD6VXI
Contributing
Member
*
Offline Offline

Posts: 2648


Making AM GREAT Again!


« Reply #24 on: January 20, 2019, 10:43:44 AM »

I //ran// the free version.

I //run// seperate vst files with a vst wrapper now.

--Shane
KD6VXI
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

AMfone - Dedicated to Amplitude Modulation on the Amateur Radio Bands
 AMfone © 2001-2015
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines
Page created in 0.104 seconds with 19 queries.