Tuesday, January 10, 2023

Korg Product Synthesis History

I am not sure about you but I have always found the product line of Korg a bit confusing with all the legacy synthesis tech, hardware and VST. It is a bit of a multi dimensional problem of time, development and an evolutionary tree with dead branches and multiple examples of past and present implementations. 

To get my head around this challenge, I cleaned up the Korg product list (Wikipedia) into a spreadsheet and then classified the major synth releases.  At this stage, I have not addressed minor synths, arrangers, grooveboxes, drum machines, samplers, etc and just limited the major recognisable synths and workstations.

I came up with the below table and my summary of the Korg product history.

The tldr.

Korg produced a line of analogy hardware synths from 1973 to 1985 when they pivoted into digital analog synths briefly,  perhaps playing catch up to their contemporaries like Roland or biding time while they worked on the killer rompler M1 and invented the workstation. 

The launch tempo seemed to slow in this second decade from a 3 years to 5 years between each major update. I have highlighted what I see as major products (in RED in the spreadsheet) as to what I see as the pulse of product release. 

Korg also innovated in the early days of romplers with vector/wave sequencing and waveshaping but then focused more on interactively improving polyphony and samples as technology allowed. 

In the mid 90's they remember their analog roots by adding the MOSS option to the Trinity, Triton and Karma. They upped this tech into MMT in the MicroKorg and Radias/R3. The advent of the Oasys computer in a synth was not only (the first?) multi-engine synth but cross-developed into VST with the launch of the Korg Collection.

Synthesis and Implementation

This leaves Korg with eight main streams of synthesis and three implementation streams.

Synthesis

Analog/VA Modelled - legacy hardware synths modelled in digital hardware and software.

DWGS (Digital Wave Generation System) - a brief dabble into complex waveform digital oscillators.  

PCM Wave (Romplers) - mostly retired hardware iteratively replaced by the current generation of hardware with software implementation of key models. A few PCM based experiments like Wavestation, 01/w and later Wavestate/Modwave.  

MOSS (Multi-Oscillator Synthesis System) -  tone generator with six-voice polyphony. The MOSS tone generator is a physical modelling tone generator that uses Sondius-XG (http://www.sondius.xg.com dead link, is this now SWAM tech?)  technology. MOSS physical modelling tone generators were developed under licence/patented works owned by Stanford University USA and Yamaha Corporation

  • Standard - simulates the oscillator of an analog synthesizer.
  • Comb Filter - This oscillator creates pitched components from noise or an impulse.
  • VPM (Variable Phase Modulation) - This oscillator uses phase modulation to generate harmonics.
  • Resonance -  uses filter resonance to produce mallet sounds and pad sounds.
  • Ring/Cross/Sync Modulation - oscillators for generating the sounds which could be produced on an analog synthesizer by modulating one oscillator with another. 
  • Organ Model - This simulates a drawbar organ with three drawbars (when one oscillator is used) or six drawbars (when two oscillators are used) (☞page 23 of this manual).
  • E. Piano Model (electric piano model) - a physical model that simulates a vintage electric piano.
  • Brass Model -  a physical model that simulates a brass instrument such as a trumpet or trombone. 
  • Reed Model - a physical model that simulates a woodwind instrument such as a sax or flute. 
  • Plucked String Model -  a physical model simulating plucked string instruments eg guitar, bass.
  • Bowed String Model - This is a physical model that simulates a bowed string.

MMT (Multiple-Modelling-Technology) - A total of nine oscillator algorithms including for (OCS1) four conventional analog synthesizer waveforms (sine, triangle, square, and sawtooth), digital synthesizer PCM waveforms, digital drum PCM waveforms, formant, noise, and an external audio signal. (OSC2) lets you choose the four different oscillator waveforms. There is also a vocoder.

  • sine, triangle, square, and sawtooth - with cross, unison and VPM modulation
  • digital synthesizer PCM waveforms
  • drum PCM waveforms
  • formant
  • noise
  • external audio signal.

VPM (Variable Phase Modulation) - VPM refers to Korg’s patented contributions (needs references, expired?) to Frequency Modulation (FM) synthesis;  and has been used since the early 4op Yamaha chips days, to more recent MOSS/MMT VA synths. MOD‐7 is a semi‐modular synth engine combining VPM, waveshaping, ring modulation, PCM sample playback, and subtractive synthesis. The MOD‐7 produces everything from classic FM keyboards and to rhythmic soundscapes. Initially developed for the Oasys and Kronos it is also the basis of the more recent Opsix.

AL-1 - is Korg’s most full‐featured VA (virtual analog) synthesizer to date and has a lot of similarities to MMT basic waveforms and later Prologue/MinilogueXD/NTS-1.

XMT (Xpanded modeling technology) - Korg's XMT, supplanting the MMT that drives the MicroKorg and provides 3 oscillators and 1 filter per Timbre, and 2 Timbres per Program, which can be split or layered. The oscillator selection contains classic analog waveforms (dual, unison, sync and ring modulated variations), noise (white, pink, blue, and resonant), FM-like VPM, an expanded set of DWGS oscillators, a selected set of PCM samples (including Mellotron, Wurlitzer, strings, choirs, etc). and the Mic in port to feed in to the filter, allowing for external oscillators.

Modern VA + User/MultiEngine - Korg has not really named this but it is the synthesis used by the NTS-1, MinilogueXD and Prologue. Seems to be based upon the AL-1 or MMT basic waveforms (Tri, Saw, Square) with a simple wave shaping function and an extra user multi-engine.

Implementation

My theory on Korg is that they cover three tranches and prices points of implementation
  • The Workstation - for the person who wants everything.
  • The Single Purpose Synth - more limited budget but performance focused semi professional gear
  • The Software Synth - the small/footprint constrained producers.

You can see in the table below there is fairly good coverage of their synthesis methods and implementations. I have applied some colour coding as how I see the Synthesis methods relating to each other. Going from old Analog (dark grey) to newer Analog (lighter greys), PCM in blue, etc.

Year KorgName Synthesis Model Name Kronos Hardware VST
1973 Analog VA Model mini700 miniKorg700s
1978 MS-20EX MS-20 MS-20
1981 PolySixEX PolySix PolySix
1981 Mono/Poly Mono/Poly
1985 DWGS Digital Analog DW-8000 FB-7999*
1988 Rompler PCM AI M1 M1
1991 AI2 NS5R
1995 HI Triton Triton
2004 HD-1 HD-1 Oasys/Kronos
2007 EDS/EDS-X M3/M50/Krome
1991 Vector/WaveSequencer HD-1 Wavestate Wavestate Native
1992 WaveShaper MOD-7 01/W
2021 Wavetable HD-1 Modwave Modwave Natve
2007 FM/VPM MOD-7 Opsix Opsix Native
1995 MOSS VA/Physical Model Prophecy/Z1/EXB-MOSS Prophecy
2002 MMT VA/Multimodel Radias/R3/MicroKorg Microkorg
2004 AL-1 Digital Analog AL-1 Oasys/Kronos
2012 XMT Digital Analog KingKORG
2018 VA+MultiEngine Digital Analog NTS-1/MinilogueXD/Prologue

Notes: * FB-7999 is not by Korg. Full Bucket Music. 

Hope you found this post useful. Feel free to leave comments.


Friday, January 6, 2023

WotC Rumoured Changes to OGL 1.1

 Just a reminder WotC does want your feedback. https://support.wizards.com/hc/en-us/requests/new. My submitted ticket.

Just a quick note to let you know you have alienated a customer of 35+ with the mere rumours of such a draconian attitude towards a community that not only has supported but assisted your to business prosper and grow.

I will not be supporting any product, service or pantomime licenced under OGL 1.1.

My ticket is 3055733. Wonder if we could increase that a bit ... (spreadsheet). I will update the numbers as I see them and periodically the static graph below. 


Not that SRD.




Thursday, December 8, 2022

On Wavetables - Some Rambling Notes on Wavetable/Waveform Synths and VSTs

2048 samples @ 44.1 kHz = 4.64E-02 seconds = 21.53320313 Hz
If you do the maths 2048 samples per slot is close to the number of samples you have for a cycle at midi not f1@44.1Khz (or so). So you can sample a synth from f1 (+/- some cents) and voila you can use that sample as a slot for your wavetable. Wrong?

Serum uses up to 256, 2048 sample single cycle waves in a .wav file

Serum uses 32-bit floating-point wav, with 2048-length tables.

Serum FM Wavetable Studio http://glowshrimpsoftware.com/sfmwts.html

WaveEdit uses 16-bit fixed-point wav, with 64 x 256-length waveforms per bank. WaveEdit allows powerful creation and editing of wavetables for the E352 and E370 VCOs. Using standard WAV formats, the editor includes a full toolbox of shortcuts. An audio Preview is available to audition the waves before loading into the module. ROM A, ROM B, ROM C in the 'banks' directory.

https://synthtech.com/waveedit/

SynthMaster and SynthMaster One are already capable of loading any wavetable saved in Serum .wav format

Deluge supports Wavetables in WAV or AIFF files, with cycle sizes of at least 8 samples, and the cycle size must be a “power of two”, with 2048 being by far the most common. The number of cycles is only limited by the Deluge’s RAM. The files must be mono.

“for Serum”, and the Deluge can read these. Such files are in the WAV format, and include a tag named “clm” indicating that the file is a wavetable, and the cycle size.

Ableton User Wavetable format. Wavetable reads the first few seconds (up to 256 wavetables) from the file. It's downmixed to mono.
Wavetable ensures that there are at least 2 wavetables so that the position slider has something to cycle through. If the file was created using Serum, it's downsampled to 1024 samples per wavetable. This is because Serum use 2048 samples per wavetable.

Pigment Up to 256 positions exist in each wavetable. Each position holds a waveform containing 2048 samples. You can also load in a regular WAV file and Pigments will parse it into a wavetable for you. The first 2,048 samples will be placed in position 1, the second 2,048 samples will be placed in position 2, and so on, until the maximum of 256 positions has been filled. Only the first 524,288 samples will be used (256 x 2,048 = 524,288). If you load a file shorter than 524,288 samples, Pigments will only divide it into as many
positions as is necessary to “use up” those samples. For example, a file containing only 16,384 samples would be divided into eight positions (8 X 2,048 = 16,384).

The current 'frame-size' for Drambo's WaveTable oscillator is 2048 and WaveEdits frames are 256

modwave supports wavetables with up to 64 2048-sample-length. You can import tables in Serum and WaveEdit formats - just load them directly into the modwave Editor/Librarian. If there are more than 64 tables, the modwave will assume that it's a generated crossfade and drop some of the intermediate tables to create a 64-table version. The modwave native storage format is 32-bit floating-point, 2048-length.

“230 million wavetable variations out of the box”. In fact, if my math is correct, that’s one new wavetable variation per second, every day, for roughly 7.29 years. Just sayin’.

A wavetable in Surge XT consists of up to 512 single-cycle waveforms (frames), each of which can consist of up to 4096 samples. Using the Morph parameter it is possible to sweep across the waveforms in the wavetable.

Illustration 70: Wavetable

The individual waves are equidistant in the table. When the shape setting is between two individual waves, they will be mixed to ensure smooth travel. You can’t edit the wavetable contents directly within Surge XT, but it is possible to generate custom wavetables with external software.

Surge XT can also import wavetables containing a clm block to indicate loop size (as used by Serum), a cue block (as used by various products including Native Instruments) and a smpl block. Wavetable files without loop information are loaded as one-shots.

This effectively lets you import various wavetables from other products such as Serum. All those 3rd party wavetables that have been tested in Surge XT have been reported to work flawlessly. To import custom wavetables, use the wavetable selection bar at the bottom of the oscillator display. This is where you can also download additional wavetable content.  Alternatively, you can simply drag-and-drop any compatible wavetable file anywhere over the Surge interface to load it.

You can even create your own wavetables for Surge using wt-tool or WaveEdit.

The individual waves are equidistant in the table. When the shape setting is between two individual waves, they will be mixed to ensure smooth travel. You can’t edit the wavetable contents directly within Surge XT, but it is possible to generate custom wavetables with external software.

Surge XT can also import wavetables containing a clm block to indicate loop size (as used by Serum), a cue block (as used by various products including Native Instruments) and a smpl block. Wavetable files without loop information are loaded as one-shots.

This effectively lets you import various wavetables from other products such as Serum. All those 3rd party wavetables that have been tested in Surge XT have been reported to work flawlessly. To import custom wavetables, use the wavetable selection bar at the bottom of the oscillator display. This is where you can also download additional wavetable content.  Alternatively, you can simply drag-and-drop any compatible wavetable file anywhere over the Surge interface to load it.

You can even create your own wavetables for Surge using wt-tool or WaveEdit.
The original Adventure Kid waveforms are 600 samples.

Vital by Matt Tytel.
Vital has a detailed Wavetable editor which can import FLAC, WAV, and export to WAV and resample a preset to a wavetable !!!
Vital has a native Wavetable format which seems to be JSON with binary encoded data. The default/factory 2048 samples + 256 wavetables.

Vital Basic ($0) 75 presets +25 wavetables
Vital Plus ($25) 250 presets ​+ 70 wavetables
Vital Pro ($80) 400+ presets + 150 wavetables ​

Tutorials

Helm
Dual oscillators (12 different waveforms, Sin, Saw, Square, Ramp, Rev Ramp, Course Medium Fine Quantised Sine, Course Medium Fine Quantised Saw) with cross modulation and up to 15 unison oscillators each. Sub oscillator with shuffle waveshaping
32 voice polyphony

Synapse Audio Dune2/3 Wavetables can have a varying amount of waveforms stored in them, between 3 to 64 waveforms in Dune 2 and 1 and 256 waveforms in Dune 3. 

The 1010 Music Nanobox Fireball manual says the wavetables should consist of 512 waveforms, with length 2048 each. I checked the Factory wavetables and see they have a number of samples that is consistent with 508 waveforms, rather than 512 (or waveforms of length 2032, but visually it seems like it's the former). So I created some wavetables in this format (at 48kHz/24 bit, like the factory tables)

The Waldorf Quantum and Waldorf Iridium have quite liberal limitations. Current Quantum and Iridium firmware has a maximum of 2,000 waveforms per wavetable:

4096 sample period x 217 waveforms
2048 sample period x 430 waveforms
1024 sample period x 846 waveforms
512 sample period x 1,645 waveforms
256 sample period x 2,000 waveforms
128 sample period x 2,000 waveforms
64 sample period x 2,000 waveforms

Wavetables must come in a single channel WAV file with 64 waves next to each other, each with 128 (or 256) samples. The Waldorf Blofeld has 38 slots (from 80 to 118) for custom Wavetables, and each can have a 14 character ASCII name. A simple tool for transforming wavetables from a WAV file into Waldorf's Blofeld SysEx midi format on Github.  https://github.com/clrnd/wave2blofeld

Description of PPG Wave waveforms and wavetables. It’s available here. each waveform consists of 64 samples, and there are 256 waveforms total, we can determine that the waveform table is 16KiB long.

UVI Falcon
On Mac: ~/Documents/UVI/Falcon/User Data/Wavetable
On PC: Documents\UVI\Falcon\User Data\Wavetable
Slices will also be imported if slices are arranged one after the other within an audio file, and the number of samples per slice is specified at the end of the file name following an underscore (e.g. “MySweep_128.wav”).

Uh-e Zebra 2
You cannot import wavetables but you can design your own waveforms with up to 16 waveforms to morph through per OSC

Access Virus TI2 has 64 forms if you count the Sine and Tri waves) Classic Oscillator Spectral Waves,

Korg DW8000 Waveforms. 16 Waveforms


The Yamaha TX81Z has eight waveforms.  A few seem to be in the PreenFM2 (such as, of course, Wave 1)  But it's not entirely clear which ones are fully replicated in the PreenFM2 by default. It might be interesting to add waveforms from the TX81z and varying feedback levels for each waveform. This took a very long time to get right. Considering the TX waveforms are 4096 samples and the PFM2 has a max 1024 samples they aren't 1:1 but sound basically the same.
TX81Z Waveforms and Harmonics

The Roland JD-800 employs Linear Arithmetic synthesis (introduced and made famous by the Roland D-50), which combines sample playback with digital synthesis. The JD-800 has 108 built-in waveforms, which can be expanded via PCM cards. Roland JD-800 3 MB of PCM ROM with 108 waveforms + 1 MB expansion, 4 waveforms (tones) per patch
SL-JD80-01 Drums & Percussion STANDARD
SL-JD80-02 Drums & Percussion DANCE
SL-JD80-03 Rock Drums
SL-JD80-04 Strings Ensemble
SL-JD80-05 Brass Section
SL-JD80-06 Grand Piano
SL-JD80-07 Guitar Collection
SL-JD80-08 Accordion

AudioTerm Tutorial
"The wavetables generated by the KTERM wavetable generator can be used with the following
products (other products may also work):
Terratec Komplexer (direct *.WT format support)
ImageLine Harmor (import *.WT file as image to Harmor)
Vemberaudio Surge (direct *.WT format support)
VAZ Modular /2010 (direct format support)
Wusik Wusikstation (use loop position modulation on a KTERM wavetable)
Camel Audio Alchemy (import KTERM wavetable as *.WAV)
Native Instruments Reaktor (use loop position modulation on a KTERM wavetable)
Waldorf Blofeld (direct *.SYX format support)
Ensoniq Eps16+ (direct *.EFE format support)
Ensoniq ASR series (direct *.EFE format support)
PPG WaveGenerator (direct *.wts format support)
Synapse Audio Dune2 (direct *.WT format support)
Xfer Serum (direct format support)"
AudioTerm by Mathias Gurk
Post by HighLordFixer » Fri Jan 26, 2018 2:24 pm

Other Wavetable Synths
  • Hardware (Wavetables)
    • Hydrasynth
  • Hardware (Waveforms)
    • TX81Z
    • Access Virus TI wavetables ?
  • Software
    • Spectrasonic Omnisphere
    • U-he Zebra 2
    • Native Instruments MassiveX
    • Camel Audio Alchemy
    • Sonic Academy Node (wavetable maker) + ANA2 (3 OSC + Noise 6 voice)
    • Steinberg Wavelab
    • UVI Falcon3
Wavetable Datasources










Tuesday, October 11, 2022

Garmin Battery Life Observation 2022

I did a fair bit of research into expected battery life for the current Garmin latest release watches as I was not sure which I should go for mainly because all the battery info is pretty confusing. But basically if you work out how much tine you spend as smart watch and how much activities at what level you can estimate your use case.

Forerunner® 935 Forerunner® 955 fÄ“nix® 7S – Sapphire Solar Edition fÄ“nix® 7 – Sapphire Solar Edition fÄ“nix® 7X – Sapphire Solar Edition epix™ (Gen 2)
Smart Watch 7.14% 6.67% 9.09% 5.56% 3.57% 6.25%
Smart Watch Solar 7.14% 4.55% 2.70%
GPS Only 8.33% 4.76% 5.41% 3.51% 2.25% 4.76%
All Sat 10.00% 7.69% 5.00% 3.17% 6.25%
All Sat Multi 23.53% 13.33% 8.70% 5.56% 10.00%
Rainforest (est) 7.36% 4.80% 3.07% 5.29%

Note: Smart watch are % per day as claimed by Garmin. GPS Activities% per hour as claimed by Garmin. Rainforest estimate activities are for maxed out  all sat multi real world activity observed in reviews.

To work out your use case, count the number of Smart Watch hours and activity hours and multiple it by the appropriate rate.  eg my fenix 7X SS and routine over 2 days is 46 hours Smart watch and 2 hours running. Average per day = (46/24 x 3.57 + 2 * 3.07)/2  = 6.49125% per day (100/6.49125 =15.4 days).

I have had some hassles with Fitbit batteries so I data log battery use. I have adapted that to monitor my Garmins. I data log every percent loss in smart watch mode and the battery level at the start and end of any activity in a spreadsheet. This allows me to monito day to day and activity battery use separately.

My observations thus far, the Garmin smart watch battery life is over estimated and real world activity performance is better than the claimed Garmin values. I am seeing a Smart watch of 4-5% per day and activity rate of about 3% per hour on my fenix 7X SS.

Monday, July 18, 2022

Synth Block Diagram Research and Design Patterns

 What started as a few random investigations seems to have given me quite some insight into synth design.

I would be interested to hear anyone's thoughts on and how you use block diagrams and any hybrid synths (soft or hard) that I have overlooked and should check out.

Sunday, December 5, 2021

Notion Block List

Just thought I would post what I am learning about Notion since it has become a viable free option with the removal of the 1000 block limit. 

I had a lot of hope for this as an alternative to Evernote but I think its fit is more of a challenge to the various CMS platforms out there. If I were, Atlassian. I would be nervous on many levels.

One thing I found difficult to find out is what are the available blocks. I am only new but I hope this list is correct.

  • Basic Blocks
    • Text - Just start writing with plain text
    • Page - Embed a sub-page inside this page
    • To-do List - Track tasks with a to-do list
    • Heading 1 - Big Section heading
    • Heading 2 - Medium section heading
    • Heading 3 - Small section heading
    • Table - Add a simple table to this page
    • Bulleted List - create a simple bulleted list
    • Numbered list - create a list with numbering
    • Toggle list - Toggles can hide and show content inside
    • Quote - Capture a quote
    • Divider - Visually divides blocks
    • Link to page - Link to an existing page
    • Callout - Make writing stand out
  • Inline Blocks
    • Mention a person - Ping someone so they get a notification
    • Mention a page - Mention a page and place in text
    • Date or reminder - Insert a date or reminder in text
    • Emoji - Search for an emoji to place in text
    • Inline equation - Insert mathematical symbols in text
  • Database Blocks
    • Table database - Inline - Add a table database to this page
    • Board database - Inline - Add a Board database to this page
    • Gallery database-Inline - Add a Gallery database to this page
    • List database Inline - Add a List database to this page
    • Timeline database Inline - Add a Timeline database to this page
    • Table database - Full Page - Add a table database as a sub-page
    • Board database - Full Page - Add a Board database as a sub-page
    • Gallery database-Full Page - Add a Gallery database as a sub-page
    • List database Full Page - Add a List database as a sub-page
    • Timeline database Full Page - Add a Timeline database as a sub-page
    • Create linked database - Add an existing database to this page
  • Media Blocks
    • Image - Upload or embed with a link
    • Web bookmark - Save a link as a visual bookmark
    • Video - Embed from YouTube, Vimeo...
    • Audio - embed from Soundcloud, Spotify...
    • Code - Capture a code snippet
    • File - Upload or embed with a link
  • Embed(s) Blocks
    • Embed -  For FDF's Google Map, and more.
    • Google Drive - Embed Google Doc, Google Sheet...
    • Tweet - Embed a Tweet
    • GitHub Gist - Embed a Gist from GitHub
    • Google Maps - Embed a Google Map
    • Figma - Embed a Figma file
    • Abstract - Embed an Abstract project
    • Invision - Embed an Invision project
    • Framer - Embed a Framer prototype
    • Whimsical - Embed a Whimsical board
    • Miro - Embed a Miro board
    • Sketch - Embed a Sketch document
    • Excalidraw - Embed an Excalidraw whiteboard
    • PDF - Embed a PDF
    • Loom - Embed a Loom recording
    • Typeform - Embed a Typeform
    • CodePen - Embed a CodePen
    • Replit - Embed a repl
  • Advanced Blocks
    • Table of contents - Show an outline of your page
    • Block equation - Display a standalone math equation
    • Template button - Duplicate blocks with a click
    • Breadcrumb - Show the current page location
    • Synced block - Sync content across pages
The screen grab of the blocks menu as of 6 Dec 2021.


Wednesday, April 14, 2021

KX Studio + Seq24, Seq64 and SAMBA Network Shares on Raspberry Pi

This all started with me trying to balance music books against the TV behind my setup. Being a somewhat skilled(?) engineer, I soon surmised this was not working and wouldn't it be nice if by some magic my music was on the TV .....

After iterating through a few more balancing acts (no iPads were harmed mostly) .... the penny dropped. Perhaps a Raspberry Pi connected to the TV would work .....

Requirements

  • Network sharing to my windows computer to view my music books.
  • Extended Goal  1 - can USB MIDI just work out of the box????
  • Extended Goal 2 - what it does ?!?! get me a sequencer!!
  • Extended Goal 3 - World domination

Installing CIFS/Samba support

ref: https://www.raspberrypi.org/documentation/remote-access/samba.md

By default, Raspberry Pi OS does not include CIFS/Samba support, but this can easily be added. The following commmands will install all the required components for using Samba as a server or a client.

sudo apt update
sudo apt install samba samba-common-bin smbclient cifs-utils

Mount the folder on the Raspberry Pi

Mounting in Linux is the process of attaching a folder to a location, so firstly we need that location.

mkdir windowshare

Now, we need to mount the remote folder to that location. The remote folder is the host name or IP address of the Windows PC, and the share name used when sharing it. We also need to provide the Windows username that will be used to access the remote machine.

sudo mount.cifs //<hostname or IP>/share /home/pi/windowshare -o user=<name>

You should now be able to view the content of the Windows share on your Raspberry Pi.

Remove CIFS Drives

ref: https://stackoverflow.com/questions/74626/how-do-you-force-a-cifs-connection-to-unmount

sudo umount -a -t cifs -l

USB MIDI out of the Box & Sequencers for ARM/RPi

I have a Kronos 2011 and using Raspberry Pi OS Buster 10 (2021-03-04-raspios-buster-armhf-full.zip) just worked. Some more googling around brought up two easy sequencer options

Seq24 - abandoned(?) but working basic sequencer. Last release Seq24-0.8.7 (2006-8-13)
Sequencer64 - an updated version of Seq24. Current release 0.96.8 (2020-07-05).

Good news and bad news. Seq24 just installed and worked. Seq64 did not! I also installed QjackCtl.
Sudo apt-get install seq24 qjackctl
Some more googling around pointed to Sequencer 64 working with KX Studio repository installed.

What the %^&$ is KXStudio:Repository?

Never heard of it ... but its something to do with Linux Audio and seems to be an initiative that groups together some well-behaving Linux programs and plugins for audio and video creatives. 

You can follow the instructions on the project page for the up to date instructions but it is currently (as of 2021-04-15) something similar to this;

# Install required dependencies if needed

sudo apt-get install apt-transport-https gpgv

# Remove legacy repos

sudo dpkg --purge kxstudio-repos-gcc5

# Download package file

wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb

# Install it

sudo dpkg -i kxstudio-repos_10.0.3_all.deb

But wait ... there is more. Some more detailed instructions found here on what to do after installing KXStudio Repository.  

sudo apt-get update
Everyone do this one.
sudo apt-get install kxstudio-default-settings

You are actually done installing kxstudio specific stuff. All the tweaks and basic tools are now in place, it's just a matter of what programs/packages you want. You could install just the programs that you want to use singly, or use the following command to add hundreds of pieces of studio software to your computer. (Note if you're going to install single programs from here on out, skip down to the last command. Adding user to audio group is a MUST!)

sudo apt-get install kxstudio-meta-all

The above assumes the easiest way to get EVERYTHING studio related in one shot. 

If you want to pick and choose your packages, go for it! But for beginers it's nice to get it all and sort out what you like in your setup. I didn't install everything. I did some research to see the structure of these repositories and found an option to install Applications Only.

sudo apt-get install kxstudio-meta-audio-application

This left me will all these apps on my ARM Raspberry Pi  .... but still no Seq64!!!

One more command before a restart. You're going to add your user to the audio group, which will be very important to make things run the way you want them to. From the terminal enter:

sudo addgroup `whoami` audio

After the reboot you're done!

Now what about Sequencer64?

Now this was 100% wild guess ... after reboot & the repository install ... perhaps this would work.

sudo apt-get install sequencer64

It did! Now I can get back to procrastinating & generally avoiding improving my musical talent.