The wonderful, perplexing MFB-503

Ah, MFB. Maker of wonderful instruments and usually bewildering user interfaces. Today we look at the MFB-503 Drumcomputer

To start, press play. My unit seems to sometimes set the tempo of empty patterns to zero causing the pattern to appear to not play. Each pattern has an a and a b section.

To select a pattern:

Hold the Pattern button then enter the pattern number to play using the step keys one to zero. For example, to play pattern 23, press 2 then 3. The Pattern changes at the start of the next measure once you release the Pattern button. To delay pattern start, keep Pattern held down.

To program a pattern:

Start the target pattern playing. To delete the pattern, press record and play at the same time for two seconds.

Hold record and press a step key to select the instrument to record. Adjust the step keys to turn triggers on and off.

Mutable Instruments Clouds Clones: Monsoon vs uClouds SE

I mistakenly thought that the Tall Dog uClouds se was an expanded clouds (similar to monsoon) but smaller. This is a not correct. uClouds se is only a shrunk down clouds. I believe my confusion came from the “se”. I previously, mistakenly, thought the Instruō uClouds was by tall-dog and that the “se” was another tall-dog version with improvements.

Currently Monsoon is, in my opinion, the best Clouds implementation.

OriginaluClouds SeMonsoon
Inputs121215
Pots7710
HP18 hp8 hp12 hp
Notes

Op-z notes

It’s easy to forget how to use the Teenage Engineering opz if you’ve been away from it. Here are my notes.

To select a pattern:

Hold the “P” key along the top edge of the opz then press one of the number keys to select the bank then one of the trig keys (the 1st row of keys above the number keys) to select the pattern with-in that bank.

Select the track:

Hold down the “I” key near the left-hand side (underneath the words “OP-Z”) then press one of the buttons in the same row. The icons above the buttons indicate the track type (Kick drum, snare, hi-hat, percussion, bass, lead, arp, chord, etc.)

Select a patch:

Hold down the “I” key (track select) then press a number key and or a note button (the last row of buttons) to select a patch. I believe the number keys may be banks of patches

Set the tempo:

Hold down the 3rd button along the top edge (next to the metronome icon) then use the number button to type in the new tempo.

While holding down the 3rd button you can also do the following:

  • turn the green dial to change the tempo
  • turn the blue dial to adjust swing (when the green light is lite you are at zero swing)
  • turn the red dial to adjust the metronome volume.

Mute tracks:

To mute a track, hold the “mixer” button – the second button along the top of the opz then press a track button to mute it.

Change track length:

Hold the track key, press shift + a step number to set the last step

Saving patches:

Press track (“I” button) and any white key for a second or two (white lights will progress to the right)

Randomize synth:

Press track + record

Move a pattern:

Hold down project, press shift (shift turns orange-ish), keep holding project, select new project and pattern to paste

Delete a pattern:

Make the pattern you want to delete the current pattern. Hold down project, hold down stop. The step lights will light up sequential order, keep holding until the final step light is lit.

Booting an Asus x200ca from USB

Here is the procedure to boot an Asus x200 (x200ca in my case) from USB (ie. to install Linux on it).

While booting, press F2 to enter the bios

Go to the “Security” tab and disable “secure boot”

In the boot tab, enable CMS and Enable PXE boot

In the boot tab, disable fast boot

In USB options, set all to enabled.

Save your change the press Esc while rebooting. A boot menu should appear.

This worked for me on bios version 300-something. A Youtube video implied that you needed version 500 or above on some x200 version. This was not the case for me.

I was able to boot into a Manjaro Linux live distro on USB and everything worked great. In particular the touch screen seemed to work better than under Windows (I seemed to get a lot of false touches under windows).

Juno 106 All notes off

The Roland Juno 106 does not have a built-in midi “All notes off” button or function. If you get a stuck or hung note you need to either turn off the synth or use some outside midi tool to send the all notes off command.

I did find a work-around though – if you change the midi channel on the Juno 106 (press midi plus a bank number button), all voices will stop sounding.

As a side note, I’ve never experienced stuck or hung notes from the Juno itself. I only get them when using various sequencers and experimental code sending midi to the Juno.

Programming the MFB Tanzbar Lite

Note: If you have not used the Tanzbar Lite for a time, be sure to press the buttons firmly. They seem to not work well when left unused. After a session of use (and firm presses) they should to start working normally again.

Like most MFB products, the Tanbar light is a mix of great sound and maddeningly convoluted user interface. In this post I hope to make things somewhat easier for the new user.

Starting the sequencer: shift + play (top button)

Selecting a pattern:

The Tanzbar Lite has 4 bank of 16 patterns. Selecting a pattern can only be performed in “Play Mode”. To enter play mode, press Rec/Real once so that both lights above the rec/real are out.

Hold Down Pat/Bank and press a step key to select pattern 1 to 16

To change banks, hold down shift + Patt/Bank. The Two LED’s above Patt/Bank will change to signify which bank you are now in.

Muting Tracks: while in Play Mode, press a step key to mute that instrument

Recording a pattern:

Hold down Rec/Real and press the instrument step key to select that instrument. Let up on Rec/Real

Press step keys to program the pattern for that instrument.

To program flams, accents, etc. you must first select the steps that will be affected. To do this, press select + one or more steps. The selected steps will start flashing which indicates that they will be affected by the next edit operation (ie. adding flam, accents, etc.)

Saving a pattern:

Select the bank you which to save to. Press shift + 5 (“store pattern”), press the pattern number you want to save to.

Modifying and rebuilding an RPM from source

This is a topic covered over and over on the internet and yet I can never find the quick guide I need. Here for my notes are how to modify and rebuild an RPM from source.

First, download the SRPM and install it:

wget http://repo.joomhosting.eu/centos/7/SRPMS/httpd-2.4.41-1.el7.src.rpm
rpm -Uvh httpd-2.4.41-1.el7.src.rpm 

You may see some errors about groups, you can ignore these.

You should now have a /root/rpmbuild/ dir – if not, find where the .spec file was put (you’ll find the other needed files near it):

find / -name "*.spec" -print

Before you change anything, try to just rebuild the rpm unmodified. You’ll likely find things you need that are missing. Fix all this first.

rpmbuild -ba SPECS/httpd.spec

When you have the default rebuild working, you can start changing things. If you only need to change a configure option you can edit the .spec file in /SPECS. If you need to patch code, you’ll need to (ideally and properly) use patch files added to the sources directory. If this is not possible, you will have to copy the .tgz for the source package, unarchive it, modify it, then tar it back up and put your modified copy in /SOURCES

Finding an expired certificate

I had a strange issue today regarding a particular expired certificate on a webserver. The problem was that the server in question was an nginx reverse proxy that proxied many domains and contained many hundreds of certificates. For various, um, “technical reasons”, I could not locate the exact cert that was bad. I only knew that one of them was. Normally the default .crt (which was causing the issue in this case) should be the first loaded nginx host. For one reason or another I still could not find it. I did know that date (it expired in September). Here is how I found it:

find / -type f -name "*.crt" -print -exec openssl x509 -enddate -in {} -noout \; | grep 'Sep' 

I shouldn’t have had to search / – the entire server and all attached volumes – but in this case I was a bit desperate. Note that the command line above actually hides (due to the grep for the date) the filename in question. Once I knew I had found a match I removed the pipe into grep, viewed all the results with less and found the problem.

Related tip that may have brought you here: nagios will not check sni for ssl domains unless you add “–sni domain.com” to the check_http line

Creating a simple, quick Borg backup

Here is how to create a simple borg backup. Something more along the lines of a zip file than a careful backup system. I’m using this method for long term storage. The primary benefits are de-duplication and compression.

Again, to clarify – these are not backups meant to be updated each day/week/month. These are simply long term storage that I normally would have made by rsyncing or making a tgz.

To create, run the following (see below for encrypted backup option):

# create an empty archive called test1
borg init -e none test1 

# add files to the archive
borg create test1::first /path/to/files

# verify/check the archive
borg info test1

My test case gave 50% savings:

                       Original size      Compressed size    Deduplicated size
All archives:               50.42 GB             35.15 GB             25.58 GB

                       Unique chunks         Total chunks
Chunk index:                  215930               520240

Don’t forget that you can mount borg archives to browse files.

borg mount test1::first /mnt/borg
borg unmount /mnt/borg

Test restore on another host:

# bundle up the directory
tar czpvf test1.borg.tgz test1

On another host:

# retrieve from original host
wget http://yourdomain.com/test1.borg.tgz

# unpack the archive
tar xzpvf test1.borg.tgz

# check/verify the archive
/usr/local/sbin/borg info test1
Warning: Attempting to access a previously unknown unencrypted repository!
Do you want to continue? [yN] y

# create a directory to restore to
mkdir restore

# mount the archive
borg mount test1 restore/

# work with the files in the archive
# ls restore

# umount the archive
borg umount restore

# extract all files from the archive
# first, list the snapshots
borg list test1

# extract a snapshot
cd restore/
borg extract ../test1::first 

Creating an encrypted backup

Adding encryption is easy :

# create an empty, encrypted archive called test1
# enter the passphrase when prompted
borg init -encryption=repokey test1 

# export the key
borg key export test1 test1.key

# create the archive
# enter passphrase when prompted
borg create test1::first /path/to/files

History:

2020/11/18 at 3:56 pm

Using a private key file with sftp over lftp

I ran into a few issues trying to use a non-default private key file with lftp. Here is how I got it to work:

inside ~/.lftprc put

set sftp:connect-program "ssh -p 23 -a -x -i /home/my_user/.ssh/key_name_here"

The important items are what is passed to the -i option – this should be the private key you want to use. In my example I’m also using a non-standard port (-p 23 for port 23)

To connect, run:

lftp -u your_user_name,blank sftp://your-server.org

For this to work you need to:

  • specify sftp:// as the server type
  • set the password to a junk value, I use “blank”