Fixes for Overtone and SuperCollider on PopOS 20.10

02 November 2020

I took the update to PopOS 20.10, and my Overtone setup stopped working. When I’d try to boot up the internal SuperCollider server from Emacs or from the leiningen repl on my music projects which all (:require [overtone.live :refer :all]), get an error in native libraries. I could also try to start the server with (boot-internal-server) or (boot-external-server), but it gives the same error.

--> Booting internal SuperCollider server...
Cannot read socket fd = 107 err = Success
CheckRes error
Could not read result type = 22
Client name = Overtone conflits with another running client
Cannot connect to the server
JackShmReadWritePtr1::~JackShmReadWritePtr1 - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
could not initialize audio.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f5eec0e9ba7, pid=30517, tid=30605
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (15.0.1+9) (build 15.0.1+9)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (15.0.1+9, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [libscsynth.so.1+0x63ba7]  World_WaitForQuit+0x7
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/john/workspace/music/hs_err_pid30517.log
--> Connecting to internal SuperCollider server...
[thread 30576 also had an error]
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Since it can no longer start the server internally from within Overtone, I start the server manually. I wrapped a script around the start up, so I can set the environment variables for configuring jack and starting up the synth:

#!/bin/sh

# automatically connect up jack ports
export SC_JACK_DEFAULT_INPUTS="system:capture_1,system:capture_2"
export SC_JACK_DEFAULT_OUTPUTS="system:playback_1,system:playback_2"

scsynth -u 57110

To get Overtone going again, I disabled the automatic boot of the server within Overtone by switching all the requires in each file from overtone.live to overtone.core, and I connect to that external server from my REPL manually with (connect-external-server) before doing anything else.

Finally, Overtone was consistently failing to find my MIDI keyboard. When things were working well enough a couple months ago, it still had required a little dance of killing off jackd and restarting Overtone, since something had been tying up the MIDI interface. This workaround was no longer adequate, since scsynth and jackd needed to already be started. I disabled MIDI connection in jackd by removing the -Xseq option from my ~/.jackdrc.

I’m back in business, and it’s probably more robust with these manual steps now. I think I’m also seeing some other odd little things working with the external server that didn’t previously, like using (mouse-x) for reading mouse positions into the synth values. The built-in piano synth is also working where it hadn’t previously.


Listening to Music

30 August 2020

My Music Library

I have a good bit of music I had acquired and ripped in the late 90s and had purchased from Amazon later. That all lives in a directory on my big computer. I never play anything from there, and it just sits there for safe keeping.

I continued to purchase DRM-free MP3 files from Amazon Music, and I eventually embraced their "free" streaming with Amazon Prime. I could add available music to my collection for free, and then stream it along with the stuff I bought, so it’s nice and blended. This allowed me to easily toss a new album or artist into rotation, and if I really want, I might purchase it to keep.

The Prime streaming service had some limitations with some music I wanted to sample being unavailable, and sometimes, I’d notice some of the free music disappeared from my collection. I decided to pay the little bit for the Unlimited Music plan, and that made almost everything available. I notice very few cases of music becoming unavailable, so now I don’t bother buying downloadable MP3s except in rare cases where I want to be able to use a song on another device outside the Amazon Music client.

Music Discovery

I don’t really use the stations at all on Amazon Music. I don’t feel the need to hear large numbers of new songs all the time, so I have a smaller curated list of podcasts and DJs where I discover new music to add to my collection at Amazon:

Alternatives

I had uploaded all my music to Google Play Music years ago, but there had always been news of the service’s eventual demise. It’s finally migrated recently over to YouTube Music, and they seem to have reintroduced the ability to upload my own music. I’ve paid for YouTube Premium, so I have YouTube Music as well, and this could be a nice alternative. I have a few albums uploaded there which I can’t find on Amazon. I don’t think I can buy music there, though, and I’ve already purchased a good bit of (DRM-free) music on Amazon.


2018-02-09 Ben of All Sizes

09 February 2018

2018-02-09

A post shared by John Flinchbaugh (@johnflinchbaugh) on


2018-02-08 Freezepop Loop on NDX-400

08 February 2018

Figuring out the Loops

A post shared by John Flinchbaugh (@johnflinchbaugh) on


All the Posts

November 2020

August 2020

February 2018

June 2007

May 2007

April 2007

January 2007

August 2006

June 2006

January 2006

September 2005

May 2005

March 2005

February 2005

January 2005

November 2004

October 2004

September 2004

June 2004

January 2004

November 2003

September 2003