I am back and so are you.

Post Reply
sheepdoll
Posts: 32
Joined: Fri Dec 20, 2019 6:47 pm

I am back and so are you.

Post by sheepdoll »

Good to see the forums back.

Many years ago I managed to do a proof of concept of the HAL core floated over the Arduino IDE. Using scripts (written in the printer language postscript.) to automate some of the core build process using the internal data files of cubeMX. Since then much has happened. That code is still on git hub, but is pretty much obsoleted by the more current efforts.

These days I use the SystemWorkbench IDE to write code that directly uses HAL bypassing the Arduino IDE and libraries (other than as a reference.) My main interests are pipe organ control (there are 1000s of connections in a mid sized pipe organ that all must be switched.) Most recently I have been working with UDP over Ethernet.

I also work with the music recording of such instruments. Which is somewhat related to MIDI but greatly enhanced to provide the event data for controlling the ranks of pipes. Some of this work is based on the Java based jOrgan system. I also work with the paper rolls, the technology is a century old. Many of these rolls need scanning and converting to digital formats where they can be replicated with modern equipment such as laser cutters or custom punching machines.

I am also interested in retro computing (Mostly the old SOL 8080 system.) Also fascinated with the mechanical computing of the 1830s (Babbage and Ada.) All of this inspired by mechanical dolls, which were created in the 1770s and could write, draw and play music, using clockwork automation.

My favorite STM famuly is the STM32F4 series. I also find the STM32F7 series to be quite interesting as well. Even so I have a number of Discovery abd Nucleo boards, all of which have interesting features like epaper displays. I am quite fond if interfacing TFT LCDs.

Probably not much point in re creating any of my old threads. Look forward to seeing what will come next as we enter the third decade of the 21st century ...
User avatar
fpiSTM
Posts: 1738
Joined: Wed Dec 11, 2019 7:11 pm
Answers: 91
Location: Le Mans
Contact:

Re: I am back and so are you.

Post by fpiSTM »

Welcome back sheepdol
Nice to see you and nice presentation.
djbottrill
Posts: 2
Joined: Mon Jan 06, 2020 12:42 pm

Re: I am back and so are you.

Post by djbottrill »

It sounds like we have similar interests, I am using GrandOrgue and have designed and built Keyboard, Stop and Piston controller boards which use BluePill daughter boards. I'm linking Multiple Keyboard scanner boards via I2C bus over ribbon cable to a master board that sends Midi messages over UDP Multicast (IPMidi). I have also designed PCBs to retrofit Optical switches to keyboards in place of mechanical switches.
sheepdoll
Posts: 32
Joined: Fri Dec 20, 2019 6:47 pm

Re: I am back and so are you.

Post by sheepdoll »

If you have not done so check out the Uniflex system. It is pretty much what you describe in a turnkey package. (which reduces the fun of making it, and tweaking the details, oneself ;)

The uniflex system dates back to the devtronix system of the 1980s. It uses the same definition file format. This is an excellent way of representing large (and even small) instruments. A lot of the program is the definition editor. The nice thing is that one can use such definitions to create specifications for any of the other systems. It also has a robust combination capture system as well as a performance capture of the recorded event data.

One of the best documented instruments is the capri organ, Adelaide, AU. This is where I got the idea of scripting the devtronix definitions. See http://my.uniflex.com/wp-content/upload ... _20061.pdf Some of the more interesting scripts and tools used to extend the devtronix/uniflex system need the use of the wayback machine. The nice thing is that the devtronix/uniflex can produce text reports, which can be parsed easy with simple scripts.

While basic control of the instrument is straightforward (keys and stops) the combination system is oft overlooked. This is where combinations of stop setting are stored unique to each performer. These patterns controlled by the buttons (called pistons) between the keyboards. Most of the top performers know how to edit the definition using the devtronix/uniflex editor to enhance their performances.

A lot of this tech is 30 or 40 years old. If one includes the paper rolls then the tech goes back over 120 years. The peak of paper roll recording was in the 1920s. (some of it is now hard to replicate.) I just read a book on Heady Lamarr, who used this tech in the 1930s to create "spread spectrum" communications. It is interesting how such things come around as the history internet has much of it's core tech in telephone switching systems and "player piano" controls. (well technically reproducing piano and player pipe organs, for which the household honkey tonk pedal unit is the poor orphan stepchild.) Note that the custom glass sided "player piano" in the "Westworld" credits is actually a "reproducing piano", which has binary encoded expression system.
BennehBoy
Posts: 135
Joined: Sat Jan 04, 2020 2:38 am
Answers: 1

Re: I am back and so are you.

Post by BennehBoy »

Have you guys read Cryptonomicon? I think you would enjoy it if not.
ag123
Posts: 1655
Joined: Thu Dec 19, 2019 5:30 am
Answers: 24

Re: I am back and so are you.

Post by ag123 »

for midi i think one of the challenges occurs when one wants to play polyphonic midi with lots of chords and lots of instruments
i used to run it on a 486 pc which sometimes breaks up music as it can't catch up calculating all the notes from wave tables
i've not ventured as far as jorgan etc but that my favorite midi player is timidity++
http://timidity.sourceforge.net/
one would also need some good soundfont wavetable patches to go with it, there are some good public ones but couldn't remember off hand where are they. they are huge

but 80486 runs at a 'low' 33mhz and these days even blue pills runs more than double that and hop on to the f4xx you get the fpu which would likely be able to perform polyphonic midi synthesis for many chords and instruments. the hard part remains the software/firmware which would be pretty involved to write

these days, i tend to run timidity on a RPi 3B+ which easily can handle all the polyphonic midi
sheepdoll
Posts: 32
Joined: Fri Dec 20, 2019 6:47 pm

Re: I am back and so are you.

Post by sheepdoll »

MIDI polyphony with lots of chords really does not work for pipe organs. On the other hand it works quite well for mapping the keyboards as there are only 61 keys per manual. Ideally the output is proper pipes. The main issue is the space it takes to place a few thousand of them.

Most of the stuff I have run across uses the fluidsynth engine. This is a software implementation of the old creative soundblaster cards. Both jOrgan and Uniflex can use the fluidsynth as a backend. One can have many instances (Ports) of fluidsynth running on different processors networked.

Probably the best emulator out there is Hauptwerk. This is based on a SQL database. Actually most all of this reduces down into a key value database. MIDI in this case is just a subset. The extra data either stored in NRPNs or simple text messages.

Creating the soundfont wavetable, is a bit of a black art. Time consuming and tedious. One has to sample the sounds both wet and dry. Theater organs use a device called a tremulant to add a vibrato to the sound. This means that the samples have to be done with trems on and off. So that can make for at least 4 samples. A lot of the existent samples out there (most seem to come from the southern hemisphere) only sample one note per octave. I found a decent sound font editor called polyphone. On the other hand it is hard to follow all the DSP parameters. Working in decibels with negative amplitude is counter intuitive. At least for me. Voicing pipes is done by feel, move the languid, open/close toe etc.

One idea I had would be to use something like a AVRTiny85 and a greeting card speaker using the elmchan wavetable synth example. One could then have the processor handle a single tone which then get mixed in physical space inside a swell box with mechanical shutters. Pipes are usually arranged in a non chromatic order called diatonic. This puts the low c and the c# on opposite ends, so the notes do not cancel out, or create standing waves. Often there will be a diatonic and an inverse diatonic (with the lowest pipes in the center) that give the sweeping look oft associated with the show pipes. Some sound fonts attempt to implement this by using stereo panning that spreads the rank across the left and right speakers.

When one reads the virtual organ forums, there is a lot of traffic about echo and reverb. This also becomes a parameter into the soundfont DSP. I built my VTPO with a bunch of fonts I found online. One critic was that the xylophone sounded like it was around the corner down the hall.
Post Reply

Return to “Let us know a bit about you and your projects”