VOGONS


Reply 20 of 197, by root42

User metadata
Rank Oldbie
Rank
Oldbie

No worries, my comment was not serious...

Soldering, retro game reviews and more on YouTube and Bonus videos
80386DX@25 MHz, 8 MiB RAM, Tseng ET4000 1 MiB, Jazz16, PC MIDI Card + SC55MkII + MT32, XT CF Lite, OSSC 1.6

Reply 21 of 197, by hard1k

User metadata
Rank Oldbie
Rank
Oldbie

Just FYI we've already had a similar project here, however it never gave any tangible results:
www.vogons.org/viewtopic.php?f=62&t=51806

Good luck with the project, would be absolutely interested in it!

New sound card project: AWE64 Legacy
Please have a look at my wishlist (hosted at Amibay)

Reply 22 of 197, by bjwil1991

User metadata
Rank l33t
Rank
l33t
t9999clint wrote:
Scali wrote:
root42 wrote:

1. to run MUNT on the PI and have a MT32.
2. for fun and giggles. Aka learning.

3. To run MAME on the PI and have a Yamaha FB-01/IBM Music Feature Card 😀

I've never even heard of that thing until now. I love how crunchy it sounds with it's bass instruments. I'm totally adding it if I can figure out how.
https://www.youtube.com/watch?v=oqIOTwUjlks

Listening to that clip myself. Speaking of, I won one on eBay (took a lot of searches) yesterday at 6:10pm EDT. Going to add the DX-21 and DX-100 presets to it as well. This'll be fun. Sounds close to the Genesis sounds, including arcade games, like OutRun, Turbo OutRun, and other Sega games of the 1980's. Also, it has more samples than the Adlib cards had in some Sierra On-Line games. Wish I can find the DX-7 presets so I can play the bass instrument that Kenny Loggins used in the song Danger Zone (never knew they used a Yamaha DX-7 to play the bass, which blew my mind), mind you, the DX-7 is going for an arm and a leg, which many 80's bands used that keyboard, including Michael Jackson.

As for the WavePi project, sounds good, however, I'd go with a Daughterboard HAT so I can use my Yamaha DB50XG externally (or get a Chill MIDI board) on my 486 without having to change the MIDI port from 330h to 300h.

Discord: https://discord.gg/U5dJw7x
Systems from C64 to FX-6300.

Reply 23 of 197, by t9999clint

User metadata
Rank Member
Rank
Member
root42 wrote:

No worries, my comment was not serious...

I thought about this again, your could use the Ras Pi as a wifi bridge and give the the vintage pc wifi connectivity that way. Just enable routing on the raspi, set a static ip for the Ethernet jack, and connect the pi to a Ethernet card on the vintage pc (ISA, PCI, PCMCIA, etc..) then set the ethernet card to have a static ip that's in the same subnet as the ras pi and set the ras pi's IP as the gateway. You might need to make a crossover cable though.
It wouldn't be as clean as using the internal wavetable header, but it'd work.

Pretty simple if you understand networking as it'd only take like 2 minutes to do, but out of scope for this project.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 24 of 197, by t9999clint

User metadata
Rank Member
Rank
Member
hard1k wrote:

Just FYI we've already had a similar project here, however it never gave any tangible results:
www.vogons.org/viewtopic.php?f=62&t=51806

Good luck with the project, would be absolutely interested in it!

I'm trying to keep things as simple as possible so that if I can't work on it anymore, then other people can work on it in my place.
I'm glad that I seen that you found the wavetable header is only rated for 500ma as a Ras Pi will probably well exceed that. I'm going to add a molex as part of the specs. I guess this increased the BoM by 50cents or so. This still should be fine as my goal was to have everything cost less than $10 (other than the PCB and Ras Pi)

Edit: Glad I seen this in there too... https://www.raspberrypi.org/forums/view ... 9&t=195178

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 25 of 197, by t9999clint

User metadata
Rank Member
Rank
Member

I kinda got stuck with a bit of bad health these last few months, so my work on this project has slowed signifigantly.
The main impedance to my soundfont projects is that due to my continuously declining health I have lost about 50% of my hearing and can't properly quality check the sound quality anymore.
I'm hoping it's only temporary, but I figured I'd give you an update on where I am.

StrixSoundfontTeam has helped reduce the size of the soundfont by quite a bit, and I have gotten a set of scripts working fairly stability now. There is a major set of bugs with fluidsynth that are blocking my progress on this. It seems to not be responding to a good portions of the sysex commands it's being sent. Mostly dealing with pitchbends, wah effects, and velocity timing. Once I track down the origin of this I'll update you all, and hopefully we can find some sort of workaround. I've also ran into an issue with looping samples and fluidsynth that has led me to redesign a few parts of the soundfont, that bit is mostly done though.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 26 of 197, by yawetaG

User metadata
Rank Oldbie
Rank
Oldbie

Sorry to hear about your hearing loss. If you haven't already, go to a doctor for it, as depending on the cause it may not be temporary. 🙁

bjwil1991 wrote:
t9999clint wrote:
Scali wrote:

3. To run MAME on the PI and have a Yamaha FB-01/IBM Music Feature Card 😀

I've never even heard of that thing until now. I love how crunchy it sounds with it's bass instruments. I'm totally adding it if I can figure out how.
https://www.youtube.com/watch?v=oqIOTwUjlks

Listening to that clip myself. Speaking of, I won one on eBay (took a lot of searches) yesterday at 6:10pm EDT. Going to add the DX-21 and DX-100 presets to it as well. This'll be fun. Sounds close to the Genesis sounds, including arcade games, like OutRun, Turbo OutRun, and other Sega games of the 1980's. Also, it has more samples than the Adlib cards had in some Sierra On-Line games. Wish I can find the DX-7 presets so I can play the bass instrument that Kenny Loggins used in the song Danger Zone (never knew they used a Yamaha DX-7 to play the bass, which blew my mind), mind you, the DX-7 is going for an arm and a leg, which many 80's bands used that keyboard, including Michael Jackson.

You will only be able to add DX-7 presets if MAME emulates a 6-operator FM synth. The FB-01 and friends are 4-operator. 4- and 6-operator patches are not compatible with each other (nor are 2-operator patches compatible with 4- or 6-operator).
There is a DX-7 emulator called Dexed, though...

Reply 28 of 197, by t9999clint

User metadata
Rank Member
Rank
Member
yawetaG wrote:

There is a DX-7 emulator called Dexed, though...

That emulator looks interesting, I'll probably add it to my falcosoft midiplayer stack. I see there's a linux version too, I'll have to recompile it for arm in order to get it working on a ras pi but that shouldn't be too difficult.
Not sure about if the pi will be fast enough, but I won't know for sure until I try.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 29 of 197, by yawetaG

User metadata
Rank Oldbie
Rank
Oldbie
bjwil1991 wrote:

Thanks for the info.

It's actually a bit more complex than that. Basically, for synths/keyboards:
- 2-operator FM is compatible only if there's sysex MIDI data available in the first place. A lot of Yamaha's cheaper 1980s keyboards are 2-operator (or rarely 2 x 2 operator), but only a few can make MIDI dumps, and even less are compatible with each other.
- 4-operator Yamaha FM synths are generally compatible with each other, although certain features are exclusive for or omitted from certain models. E.g. on the YS100/YS200/TQ5 portamento is omitted, so although they can play TX-81Z patches portamento will not sound.
- FB-01 is a highly simplified 4-operator synth, and possibly can't load all patches for its more advanced brothers.
- The recent Yamaha Reface DX is not compatible with earlier 4-operator synths (but see www.refacedx.martintarenskeen.nl/.
- 6-operator Yamaha FM synths are compatible with each other up to a degree only, because there are a few models that have special features. Some of the SY/TG family come with both FM and AWM, and can use both synthesis methods at the same time, even cross-modulating them (obviously anything using AWM can't be used on the DX7/DX7II and similar).
- Some very rare and very expensive Yamaha organs are 8 -operator. A module version was made, but literally only 2 or 3 are known to exist.
- 2-/4-/6-operator are not compatible with each other. Oh, it might be possible to reconstruct 2-op patches on a 4- or 6-op synth, and 4-op patches on a 6-op synth by muting some operators, but the MIDI data isn't directly portable.
- Supposedly, some Korg FM synths are compatible with Yamaha patches, but I don't know much about that as there's little information available...
- Casio has a type of synthesis that's essentially FM, but not compatible with Yamaha's version.

Reply 30 of 197, by t9999clint

User metadata
Rank Member
Rank
Member

I was looking at the MiSTer A0486 project and it kind of gave me another crazy idea... what about using something like this... https://www.amazon.com/MAX232-RS232-Con ... B011NOHC4S and SoftMPU to connect everything through serial directly. No soundcard even required, just wire it up to an internal serial header somewhere.
This will also bypass the hanging note bug on the card I'm testing with. (I'm too lazy to search through storage for my AWE 64 Gold)
The best way to do this would be to pull up a schematic to see how expensive the components would be to add. Still It would be a interesting, and would even make it work on modern machines.
I wonder if there's a way to do OPL emulation this way too, kind of like the OPL2LPT device.... Some sort of all in one magical midi emulation machine only needing the sound blaster for wave audio.

Software would be 99% the same so I'm gonna keep working on the other stuff first, I'm just throwing ideas out there for future plans.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 31 of 197, by t9999clint

User metadata
Rank Member
Rank
Member

Here's a list a bit of what I've working on this last little while...

  • - I'm working on a github and a proper project webpage for this and a few other projects I'm working on. Running into some SSL issues with Cloudflare and Wordpress, but it should be up in a day or two. I haven't done webdev in a few years, it looks like quite a bit has changed...
    - I also ordered a few more parts to test the synth with, as well as a few soundcards. This should get communication voltages in spec with what the ras pi supports.
    - I have been working on a 20ish mb soundfont that should work well with this project, as well as on an original SB AWE 64 card.
    - A newer version of my main soundfont is also almost done, this is the one I'd recommend for the ras pi 3b+.
    - Another thing I'm going to be adding to this is NZXT HUE+ RGB support, but that's for a YouTube project I'm working on.

No code to share yet as none of it is working ATM. But a few interesting tidbits as everything slowly pieces it's self together.
I have a deadline to reach, as I'd like to have some sort of prototype to show to LinusTechTips at LTX 2019. I doubt I'd get a chance, but I'm gonna try anyways.
So expect something to be at least somewhat functional by July 25th.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 32 of 197, by Thermalwrong

User metadata
Rank Member
Rank
Member

Good luck with getting it working 😀

I think this is quite an interesting project / concept, so I'm really looking forward to seeing how you get on with this.

Reply 33 of 197, by t9999clint

User metadata
Rank Member
Rank
Member

Thanks, The bare basics (proof of concept) are already working.
I'm just trying to get things pretty, and well documented now.
After that I'll start adding features.

Here's another mind dump, basically just planning out what's going in the github for this...
The basic idea is to have the wavepi folder accessible through ftp or samba or something easily accessible so you can configure everything from there.
Separating the configfiles and such makes it very modular and easily expanded upon.
Certain considerations must be made to avoid unneeded writes to flash storage.
Might add some sort of script to auto add newly detected midi-devices.

This is a bunch of pseudocode (not real code, just a plan for future code)...

## File and folder structure ##
midi user
-------wavepi
----configs
----main.cfg
----000.cfg
----001.cfg
----002.cfg
----scripts
----wavepi_service.sh
----wavepi.py
----midilight.py
----midilcd.py
----midirgb.py
----fluidsynth.sh
----cm32l.sh
----mt32.sh
----soundfonts
----kor-basic.sf2
----pro7use-enhanced.sf2
----roms
----place-munt-roms-here.txt
----logs
----detected-midi-devices.log
----current-synth-info.log
----current-lcd-info.log
----current-rgb-info.log
----current-light-info.log

Install command creates above file structure and does the following...

ensure there is a midi user, and if it doesn't exist creates one.

apt update
apt upgrade -yy
apt install fluidsynth python2.7 openssh-server build-essentials
*download munt code to temp dir*
*compile and install munt code*
*download soundfonts if they don't exist*
*register service.sh as a service named wavepi*


## overall logic flow ##
system boots
systemd start's wavepi_service.sh (service wavepi start)
wavepi_service.sh reads main.cfg and loads midi routing then starts wavepi.py which runs $DEFAULT_CONFIG and listens for sysex.
server.py listens to sysex for preset change requests
when custom sysex command is received, server.py kills running synths and changes to new preset.
other services listen to midi and synthstatus and report back to user through lights/lcd/etc..)

## 000.cfg config structure example##
COMMAND = /home/pi/wavepi/scripts/fluidsynth.sh /home/pi/wavepi/soundfonts/kor-basic.sf2
SYNTH_SEARCH = FLUID
SYNTH_NAME = "K.O.R. GM Basic Soundfont"

## main.cfg config structure example##
AUDIO_DEVICE = 1
MIDI_DEVICE = 20
LCD = false
LIGHTS = false
Show last 147 lines
DEFAULT_CONFIG = 000.cfg

## fluidsynth.sh synth script example ##
CPU_LIMIT = **code to get cpu thread count**
if CPU_LIMIT > 1
CPU_LIMIT = CPU_LIMIT - 1
/usr/local/bin/fluidsynth --server --no-shell -o synth.cpu-cores=$CPU_LIMIT -o audio.alsa.device=hw:$2 -o audio.period-size=64 -o synth.polyphony=999 -r 44000 --audio-driver=alsa "$1" &


## wavepi_service.sh pseudocode ##
function start
...everything below is run as the midi user...
read global vars from main.cfg
start virtual midi device for everything to listen to.
join it to $MIDI_DEVICE
if LCD = true, launch midilcd.py while recording it's PID
if LIGHTS = true, launch midilight.py while recording it's PID
launch server.py while recording it's PID, give it the $DEFAULT_CONFIG and $AUDIO_DEVICE varibles
run function status
return true

function stop
read all recorded PIDs
kill all PIDs
return true

function status
read all recorded PIDs
echo PIDs' statuses
return true

funtion restart
run funtion stop
run funtion start
return true


## wavepi.py pseudocode ##

function main ( string DEFAULT_CONFIG, int AUDIO_DEVICE )
{
CURRENT_CONFIG = DEFAULT_CONFIG

if CURRENT_CONFIG exists
{
SYNTH_PID = StartSynth(CURRENT_CONFIG, AUDIO_DEVICE)
LOOP_CYCLE = 0

while (SYNTH_PID != -1)
{
REQUESTED_CONFIG = SysexListenConfig()

if REQUESTED_CONFIG == CURRENT_CONFIG
{
echo "Sysex config request already active. Request ignored..."
}
else if REQUESTED_CONFIG exists
{
CURRENT_CONFIG = REQUESTED_CONFIG
StopSynth(SYNTH_PID)
SYNTH_PID = StartSynth(CURRENT_CONFIG, AUDIO_DEVICE)
}
else echo "WARNING: Invalid sysex config request. Request ignored..."

if LOOP_CYCLE >= 99
{
SaveMIDIDevicesToFile()
LOOP_CYCLE = 0
}
else LOOP_CYCLE = LOOP_CYCLE + 1

wait 0.1
}
echo "ERROR: Synth not running. Config failed to launch. HALTED WAVEPI SERVICE"
}
else echo "ERROR: Default config doesn't exist! Failed to start"

return true
}

int funtion StartSynth ( string GIVEN_CONFIG, int AUDIO_DEVICE )
{
**read varibles from GIVEN_CONFIG...
echo "launching " $SYNTH_NAME " Please wait..."
SYNTH_PID = start $COMMAND $AUDIO_DEVICE
SYNTH_MIDI = FindMidiNumber($SYNTH_SEARCH)
if SYNTH_MIDI = -1
{
echo "ERROR: Failed to start synth!"
SaveStatusToFile( -1, "ERROR, FAILED TO START", SYNTH_MIDI)
return -1
}
else
{
**Join SYNTH_MIDI to virtual midi device (14)
SaveStatusToFile(SYNTH_PID, SYNTH_NAME, SYNTH_MIDI)
return SYNTH_PID
}
}

function StopSynth ( int SYNTH_PID )
{
if SYNTH_PID != -1
**kill's synth PID using SYNTH_PID number

SaveStatusToFile( -1, "...LOADING PLEASE WAIT...", -1)
return true
}

funtion SaveStatusToFile (int SYNTH_PID, string SYNTH_NAME, int SYNTH_MIDI)
{
**format given varibles to a string
CURRENT_STATUS = "SYNTH_PID = " $SYNTH_PID "/nSYNTH_NAME = " $SYNTH_NAME "/nSYNTH_MIDI "/n"

**read status file and save to string OLD_STATUS**
if OLD_STATUS != CURRENT_STATUS
**save CURRENT_STATUS to file**

return true
}

int FindMidiNumber ( string SYNTH_SEARCH )
{
LOOP_CYCLE = 0
MAX_WAIT = 1000
MIDI_NUMBER = -1

while (LOOP_CYCLE < MAX_WAIT)
{
if (aconnect -o | grep $SYNTH_SEARCH == true)
{
LOOP_CYCLE = MAX_WAIT
MIDI_NUMBER = $(aconnect -o | grep -Eo '[0-9]{3}.*FLUID' | grep -Eo '[0-9]{3}')
}
else
{
LOOP_CYCLE = LOOP_CYCLE + 1
wait 0.1
}
}

return MIDI_NUMBER
}
string SysexListenConfig()
{
***I have no idea what to put here I'll figure that out later**
}

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 34 of 197, by appiah4

User metadata
Rank l33t
Rank
l33t
dreamblaster wrote:

Hi t9999clint,

nice idea : MCOBit has done such project in various incarnations : See this video : https://www.youtube.com/watch?v=_VYdw-AfNGc&t=213s
it runs MUNT and soundfonts. He also tried the setup with X3M, here you can see the internals : https://www.youtube.com/watch?v=gIkoM0iPrbU
Have a look at this thread for some inspiration and history : https://www.vogons.org/viewtopic.php?f=9&t=58174

gdjacobs wrote:

You can if you use the X3M as the DAC and MIDI input for your Pi.

Yes, X3MA can be used: Note there are 2 X3M variants :
X3MA : usb audio + 54 voice MIDI synth : https://www.serdashop.com/X3M
X3MB : 81 voice MIDI synth (no USB audio) : https://www.serdashop.com/X3MBuran
X3MA is the one suitable for this. In this application you just don't use the built in synth.

I will be publishing about a pi related project soon (but still changing concept now and then, i prefer to wait until it works):
It will be a hardware solution + 3d print enclosure, to accommodate for buttons and display.

I will be following your thread with interest, t9999clint, especially for the software side :
Software wise, all variants will work quite similarly, so it could make sense to achieve some 'compatibility'.

I actually use an X3M AND a MUNT-Pi together.. PC connected to X3M via MIDI cable, X3M passes MIDI through to USB, USB interface cable hooks X3M to Raspberry Pi which runs MUNT.. Now I have a retro system that is connected to an affordable MIDI module as well as a 100% MT-32 emulation device.

A500:Rev6|+512K|ACA500+|C1084S
i386:Am386SX25|4M|GD5402|ES688
i486:U5S33|8M|GD5428|YMF719
i586:P133|32M|T64V+/MX2|V1|CT3980/32M
i686:K6-2/500|128M|Rage|V2/SLI|CT4520/32M
S370:P3-1200|384M|GF4-4200|MX300
S754:A3700+|2G|X800XTPE|SB0350

Reply 35 of 197, by t9999clint

User metadata
Rank Member
Rank
Member

I know it's not important for most of you, but I got a copy of the NZXT HUE+ software to run on a raspberry pi. Now I have a RGB led kit in my MS-DOS gaming rig that responds to the music.
steps for this were kind of a pain to get working, so here's another brain dump...

I'm probably gonna release some arm .deb binaries for this cause it takes about 2+ hours to compile it all.
1. Download and compile python 3.6...

##prepare build environment...
sudo apt-get update
sudo apt-get install build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev qt5-default pyqt5-dev pyqt5-dev-tools sip-dev -yy

##download and extract sourcecode, replace link with newest release of python 3.6...
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
sudo tar xzf Python-3.6.0.tgz

##compile...
sudo -s
cd Python-3.6.0
bash configure
make altinstall
exit
##REBOOT PI, then move to step two

2. Download source and compile SIP and PyQt5

##download sip, replace link with latest version
cd /usr/src
sudo wget https://www.riverbankcomputing.com/static/Downloads/sip/sip-4.19.14.tar.gz
sudo tar xzf sip-4.19.14.tar.gz
cd sip-4.19.14

##compile sip
sudo -s
python3.6 configure.py --sip-module=PyQt5.sip
make
make install

##download PyQt5 replace link with latest version
cd /usr/src
sudo -s
wget https://www.riverbankcomputing.com/static/Downloads/PyQt5/PyQt5_gpl-5.12.tar.gz
tar xzf PyQt5_gpl-5.12.tar.gz
cd PyQt5_gpl-5.12

##compile PyQt5, this is the part that takes 2 hours
python3.6 configure.py
make
make install
exit

3. Download and compile hue_plus

## configure python3.6 for hue_plus dependancies
sudo pip3.6 install --upgrade pip
sudo pip3.6 install pyserial
sudo pip3.6 install pyaudio

##Download hue_plus, replace link with latest version
cd /usr/src
sudo -s
wget https://github.com/kusti8/hue-plus/archive/v.1.4.5.tar.gz
tar xzf v.1.4.5.tar.gz
cd hue-plus-v.1.4.5

##compile and install hue_plus
python3.6 setup.py build
python3.6 setup.py install
exit

once it's installed, you can use the hue command to specify what colors you want your rgb strip to be, you can also set it to audio mode which will listen to the default pulseaudio device. I don't have pulseaudio setup yet, but it looks like I might have to for this to work right.
This project is starting to balloon in size, but at least my old gaming rig looks nice now.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 36 of 197, by t9999clint

User metadata
Rank Member
Rank
Member

After significant testing and troubleshooting, It looks like the raspberry pi is far too slow to control the lights to be in sync with the music.
It also requires pulseaudio which uses up about half a cpu core even when idle, so it's probably best I avoid it for now.
At least the other rgb lighting effects seem to work fine. I also tweaked a few fluidsynth settings for performance.

The fluidsynth launcher will probably look something like this...

#!/bin/bash
## fluidsynth.sh synth script example ##

fluid_chorus_type=1
fluid_chorus_depth=8
fluid_chorus_speed=0.3
fluid_chorus_level=0.1
fluid_chorus_voices=3
fluid_reverb_level=0.1
fluid_reverb_width=0.75
fluid_reverb_damping=0.23
fluid_reverb_roomsize=0.61
fluid_interp=1

CPU_LIMIT=$(nproc)
if (( CPU_LIMIT > 1)); then
CPU_LIMIT = $((CPU_LIMIT - 1))
fi
POLY_LIMIT = $((CPU_LIMIT * 75))

nice -n -18 /usr/local/bin/fluidsynth -o synth.cpu-cores=$CPU_LIMIT -o audio.alsa.device=hw:$2 -o audio.period-size=64 -o synth.polyphony=$POLY_LIMIT -R 0 -C 0 -is -r 44100 --gain 0.6 --audio-driver=alsa "$1"

this script would be launched using the syntax fluidsynth.sh <.sf2 file> <alsa device number>

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 37 of 197, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

JACK is far more CPU efficient. I recommend it if you need to mix PCM streams in software.

All hail the Great Capacitor Brand Finder

Reply 38 of 197, by t9999clint

User metadata
Rank Member
Rank
Member
gdjacobs wrote:

JACK is far more CPU efficient. I recommend it if you need to mix PCM streams in software.

that was gonna be my next move, but the HUE_PLUS python script has other cpu bugs so it didn't seem worth it.

If I don't need jack2 or pulse then it's probably better not to use them at all and interface directly with ALSA. I'd like to keep it stupid simple (K.I.S.S.), at least as much as possible. I don't plan on doing any mixing on the ras pi.

There's a GitHub now, https://github.com/t9999clint/WavePi
There is not much on it, but that's only for now. I'm gonna keep my clean looking code up there, I'm not sure if I'm gonna keep my brain dumps (complete nonsense pseudocode) here or not.

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: www.vogons.org/viewtopic.php?f=24&t=57273
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 39 of 197, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

I have other motives. It's handy for making one of my USB PCM/MIDI interfaces work. It only takes a single PCM format as input. JACK looks after format conversion, brilliantly at that.

All hail the Great Capacitor Brand Finder