Some Bach arranged by Franz Liszt

Spent the afternoon transcribing Bach’s Fugue in G minor BWV 542 from an arrangement by the composer Franz Liszt.
I split the complex piano part into 9 separate parts to allow for note overlaps and tied chords, so that I could then export the parts as separate music-xml lists which were then converted to Sonic Pi notation usinga processing script.
I produced two versions. One used the built in piano synth in Sonic Pi, and the other exported separate midi tracks which could be played by Qsynth (on my Raspberry Pi 4), or, when played on my Mac by the Music samples in Aria Player.
I haven’t added any dynamic variation which would be quite a long task, but even so I like the interplay between the parts which you can hear as they play. It lasts about 5 minutes, and so requires to be played using the run_file command. When played with external synths I feed the audio back into Sonic Pi using the live_audio command.

Here is a link to audio files of the two versions

The code for the fugue is here


a question about your jack configuration to use qsynth.

Qsynth will play a sound font instrument that’s it ? Which sf instrument do you use ?

Some screenshots about your configuration ?
Thanks !

run_file "/home/pi/Documents/SPfromXML/BachFugueInGminorArrLisztBWV542-RF.rb"
live_audio :qsynth,stereo: true,amp: 3
#used to run the fugue on a Raspberry Pi. Adjust path to suit
#line 2 feeds audio back for qsynth into sonic pi
#used when playing via midi
#I used qjackctl to set up midi path to qsynth
#and to feed qaynth audio back to Sonic Pi (connection window audio and alsa tabs)

Just finished and published my OSC control program. Should manage something on qjackctl setup and qsynth tomorrow.
EDIT I have now written some notes on setting up Qsynth for use with Sonic Pi. Detailed for Sonic Pi running on a Raspberry Pi 4, but should essentially be the same for other Linux platforms.