Read the transcript
Jeroen Leenarts: Hi, and welcome
to another special episode of my
podcast. I'm sitting here with
Chris this year, he works at an
interesting names company, super
mega ultra groovy, actually
practiced that a couple times.
So before the recording, and,
and their main product is
capable. And so Chris, you work
at this company? Is its self
employed? Are you the only
person at the company?
Chris Liscio: I'm the only one.
Okay, and me and my wife, but
I'm the only developer.
Jeroen Leenarts: Yeah, and
what's the role of your wife
within the company.
Chris Liscio: She does
everything but the code. More
recently, her role has expanded
to include more like, formal
kind of QA type stuff. So I've
been bringing her on to sort of
a developer support role of
sorts, where I can send her
builds, and she gives me really
good feedback on, you know,
issues and stuff that I missed
during development and, and sort
of brings a fresh set of eyes,
you know, yeah. If you've ever
had an experience with beta
testing, you send out a beta
build, and nobody realizes all
the things well, yes, you get no
response. But when you do get
response, it's just the act of
putting it in somebody else's
hands exposes so much stuff that
that you miss on your own
machine or machines. But yeah, I
wanted her to do formal QA
because of the other issue that
you raised, which is, sometimes
it's crickets.
Jeroen Leenarts: Yeah. And also,
she probably has a vested
interest in the success of the
product. Exactly. That helps,
that helps a lot. And so Kebo,
what does the product do?
Chris Liscio: Capable is
intended for people, musicians
who learn songs by ear. So
anybody who's sort of driven to
learn to track that they've
either heard for the first time,
or they've known for years and
wants to actually sit down and
figure it out, by ear on their
own independently, I think
independently is the most
important aspect. Kpop is a tool
that, that helps you achieve
that very easily through various
means.
Jeroen Leenarts: Sounds complex,
to me, at least because I'm not
another musician, myself. So how
do you help a musician with
their process of learning the
music by ear.
Chris Liscio: So that's sort of
a wide ranging task, because
every musician is different. So
if you think of it, sort of like
a spectrum, where you have, on
one end of the spectrum, you
have musicians who've been doing
it for forever. And they don't
really need many tools, if any,
because they'll literally hear
something for the first time,
but their hands on their
instrument and repeat exactly
what they heard, because they're
that familiar with their
instrument. And they can kind of
identify things that are
happening at full speed, as you
encounter sort of more difficult
passages. And maybe you're more
of an intermediate intermediate
musician. One of the tools that
Kebo offers is the ability to
slow down playback without
affecting the pitch of the
audio. So the benefit of that
is, when you slow down playback,
first off, you can hear the
notes that are going by too
quickly. But by maintaining
their pitch, you have time to
sort of find the actual pitch on
your instrument, be it a piano
or guitar, and then you can kind
of pick up the notes from there.
That's one of the many tools.
There are other tools that go
hand in hand with those kinds of
functions, which are things like
looping and being able to adjust
the key independently of the
speed. So you can if your
instrument is tuned differently,
or you want to sing in a
different key of the song, you
can adjust the song without
manipulating the speed. So you
have two independent time and
pitch controls. Which in 2021
isn't a very impressive sounding
thing, because it's been around
for decades at this point. But
in addition to those tools, I've
taken it way further. And I
offer things like machine
learning driven chord detection,
and beat detection and stuff
like that, which sort of helps
speed up the process for
somebody who's maybe not super
advanced in their ability to
pick out chords, like
immediately, and some folks who
can do it, but maybe require a
bit more time to do it and just
need to rip through a bunch of
new songs, say for a gig on a
weekend, you know, a cover band
kind of situation. We give them
the ability to do that kind of
thing much more quickly with
tools like that.
Jeroen Leenarts: So what that
actually mean that if you have a
song that you could actually
pick out the bass guitar track
and make it clear what the bass
guitarist needs to do to
actually play along with the
entire music piece.
Chris Liscio: Don't do any
automatic isolation. But I do
offer isolation tools, which
allow you to kind of narrow in,
it's much more advanced than
just queueing it out. It's sort
of E cueing, plus some picking
pan type stuff as well. But you
can do that kind of isolation,
to help you sort of identify
individual instruments in a mix.
So yeah, that's, that's one of
one of the things that it allows
you to do as well.
Jeroen Leenarts: So on the
technical side is the it's it's
iOS app, or it's the Mac App.
Chris Liscio: It's both. It's
both started on the Mac. So
Jeroen Leenarts: it's a lot of
core audio, I think that you're
using
Chris Liscio: awful lot of core
audio. Yes.
Jeroen Leenarts: So if you would
look at the app, and you have
like the source code for the
user interface and the source
code for the other stuff. Could
you like categorize the amount
of source codes on various sort
of known API's within your code
base, so you have core audio UI
kits, and the percentage that's
attached to that, roughly,
Chris Liscio: I think that's
difficult to do. The reason
being that, I would almost say
it's pretty much evenly split
between everything that's in
there. So for instance, you've
got like machine learning stuff
that depends on the metal
performance shaders framework
very heavily. And that component
is quite large and extensive.
And half of it is sort of in the
app, and half of it is in a
whole machine learning training
environment that I developed
myself for this task. So only a
small portion of that code is is
in the app.
Jeroen Leenarts: Yeah, only a
whole lot of code, only the end
result. But to create that beta,
right? Yeah.
Chris Liscio: From an audio
engine perspective, there's
actually not a whole lot of
physical lines of code that
comprises the audio stuff,
because I mean, there's a,
there's a lot going on there,
there's a lot of code. But I
don't think of it as a lot of
code, because it kind of boils
down to a pretty narrow set of
components. Like I think of an
audio engine, even though it's
like a very vast and wide and
deep thing as conceptually kind
of a small thing. Whereas I look
at the UI layer as quite
intense, especially when you
consider things like the
practice song view, which is
sort of the main song view of
the app is like a massively
custom collection view layout,
which involves a bunch of dirty
tricks to pull off the UI in
Kebo. And that just took a lot
of heavy lifting. So the lines
of code of all that mess, is
very similar to the lines of
code of the audio stuff. But I
feel like the audio stuff kind
of deserves to have that many
lines of code. So it, it feels
right. So they might physically
be equal, but I almost view the
audio code is sort of smaller,
because in terms of how big
audio engines can get, it's not
as crazy, as I would imagine,
where is my UI code? I would
expect UI code to be many fewer
lines of code, yet it took me so
much effort to pull off what I
think should have been a lot
easier to do. If that makes any
sense.
Jeroen Leenarts: Yeah, of
course, because and if you look
at them, source languages that
you're using, I recommend you
use maybe some Python for the
machine learning.
Chris Liscio: Actually no. So
that's kind of a sticking point
for me. From past work I've done
with things relating to signal
processing and math, and
converting to code. In the past,
I used to work very heavily in
MATLAB, if you're familiar with
with that environment. And so I
would do a lot of sort of r&d in
MATLAB. And then I would get to
a point where, okay, I have an
idea of the math that achieves
this task. Now I have to sort of
rewrite all this matlab code in
at the time, say Objective C,
and C, and then figure out how
to get that all going. And oh,
by the way, there are
idiosyncrasies between the
MATLAB way of doing math and the
accelerate framework way of
doing math. And then you're
constantly trying to fight with
those, you know, conventions
that you may not be aware of
between the two and, and so you
spend a lot of time first off
writing the code sort of twice.
And then second, playing, you
know, find the math bugs, which
nobody wants to do. It's not fun
work. And it's a lot of
debugging and a lot of dumping
data and comparing vectors and
it's not fun. So when I develop
this machine learning stuff,
sort of for the latest
iteration, I was very aware of
the fact that I was facing a
situation where in my specific
case, I had very not unusual but
certain Have narrowly focused
machine learning needs that
weren't so common that it was
sort of a drag and drop between
the Python world and the core ml
and, you know, apples world. So
I knew I was in for this kind of
situation, again, where I'd have
to be repeating myself twice,
writing a lot of custom
TensorFlow, and then a lot of
custom, you know, Python and
Objective C, and so on to kind
of get it going. So I thought,
you know, what, if I'm going to
put all this work in, I might as
well kind of write the engine
once in, you know, my target
code, but also go that extra
step of using Apple's API's for
for the training stuff as well.
Definitely a harder way to go
about it. But I think long term
it was, it was a very, at least
a fulfilling task. Hopefully
valuable.
Jeroen Leenarts: So what
language is, is the product
comprised of?
Chris Liscio: It started as
Objective C, because there was
no other option. And once once
we got swift I kind of dove in
pretty early. So it's been a
mixed project ever since Swift,
1.0. And, yeah, that like the
machine learning stuff I'm
talking about was done 100% In
Swift. I think this was mostly
around the Swift three point
something timeline when it
started and, you know, moved
into Swift four, and then now
five, point, whatever.
Jeroen Leenarts: And you're also
using some swift UI already, or
I
Chris Liscio: guess, I went
pretty heavily into Swift UI for
the new stuff that was added in
4.0.
Jeroen Leenarts: And that's a
quite recent release at this
moment. Right? That's correct.
Chris Liscio: 4.0 came out
sometime in November. I can't
remember exactly when it was a
bit of a blur, because it was
sort of happening around the the
M one press embargo lifted. So
it was it was a real whirlwind
around that time.
Jeroen Leenarts: And also, you
mentioned the the M one release
is capable, ready for Apple
silicon?
Chris Liscio: Absolutely, it was
it was ready as soon as it could
be ready. So
Jeroen Leenarts: where there are
a lot of challenges, because you
probably did a lot of low level
systems programming for the
product.
Chris Liscio: Because I already
ship across Mac OS and iOS.
Everything already pretty much
compiles for ARM 64. So the the
number of sort of roadblocks I
hit were very few. And I'd say
any roadblocks I hit were the
same roadblocks. Most developers
would have hit, you know,
things. Like if you had to make
a custom build of open SSL or
something like that, you know,
little tiny things. Nothing.
There was nothing that, you
know, I compiled and I looked at
it and was like, oh, no, I'm in
trouble. There were things I was
worried about. For instance,
Capel on Mac OS, still has some
heavy use of OpenGL as part of
the main UI. And I've yet to
port that to metal. And I'm kind
of waiting until I absolutely
need to do it. Just because, you
know, working code is working
code. I don't want to rewrite it
until it's absolutely necessary.
And and I was really, very
pleased when I learned that, you
know, OpenGL just worked out of
the box, no problem on Apple
silicon,
Jeroen Leenarts: that's good to
hear. And the 4.0 release was a
was a stable, successful
release, or were there some
issues that you still had to
fix? Or
Chris Liscio: no QA caught all
the major stuff early before it
went out? You know, we had a
couple, there was one really
nasty crash on iOS that that hit
us by surprise, just because we
lacked, you know, we try to keep
all of our any old devices, any
old iOS devices, and we run QA
on as old as devices we have.
But they're, you know, a few
holes in what we have. And oddly
out of out of everything. There
was a weird crashing bug on the
iPad Air. Were trying to
remember now what it was. I
think it was related to the
machine learning stuff, where I
had assumed that the machine
learning stuff was available on
iOS 12 and above, on all
hardware, but it turns out that
there's a small set of devices
that can't use that API, and
things blew up in the wild. And
I had to get that patched ASAP.
Jeroen Leenarts: Okay. And when
the book was signaled, what was
your turnaround time?
Chris Liscio: Oh, like, within a
day or two? I'd sort of getting
it figured out. Yeah, yeah.
Jeroen Leenarts: And what was
the response on the affordable
release?
Chris Liscio: So far, so good.
This was an interesting release,
because I'm a developer that
switched from a paid upfront
business model to a subscription
business model years ago. And at
the time I made the switch. None
of my existing customers needed
to subscribe and in fact, today,
they still Do not need to
subscribe at all, I made a
decision that I would always
keep giving them free updates to
the original feature set that
they paid for forevermore. So
for instance, version four got
this whole new neural network
powered chord detector. And all
of the previously paid customers
got that for free. As part of
this update, however, there were
new features that were added
that for the first time, those
existing customers that had paid
previously, if they want to
access that subset of features
going forward, they would have
to subscribe. So I was a little
nervous about how that would be
received in this release, and so
far, all the feedback that we've
got has been totally positive.
It's it's been a mixture of, you
know, saying nothing, which I
take as positive, and actually
reaching out and saying, you
know, I'm so happy to support
you, folks. You know, I'm really
excited to use these new
features, you know,
Jeroen Leenarts: and keep the
coming, please. Yeah, exactly.
Exactly. Yeah, that's always
good to hear that the switching
and business model is actually
working out for a software
developer.
Chris Liscio: Yeah, it was, it
took a lot of work, though, you
know, I did have to achieve
that. You know, that fact that
those people who did pay once,
I'm not changing the game on
them at all, like, the rules are
still the same. As far as you
folks are concerned, you were
paying once for something and
you expect updates to that
thing, I'm not going to change
the rules of the game. At this
point, you're going to keep
getting that I made the mistake.
I'm gonna have to pay for it. So
enjoy. And hopefully I can
entice you to subscribe in the
future.
Jeroen Leenarts: Yeah, because
the product features that you
actually bought at a single
purchase, is it's not being left
behind. But right, the pie with
all the tasty new bits is
growing bigger and bigger with
each release.
Chris Liscio: Right. And this
was only the first one. So you
know, I expect over time that
number of existing users who
kind of jump onto the
subscription train will grow
over time as we continue
sweetening the deal.
Jeroen Leenarts: If people want
to find out more about Kebo,
where should they look,
Chris Liscio: first places Keiko
app.com C AP to AP p.com. Or
just search for Capel on the App
Store and cross your fingers
that on the first result. And
then you know, grab a copy, it's
free to download and try on both
platforms. And actually, in
version 4.0, we give away a lot
of functionality for free
compared to previous releases.
So you get a lot of functions
out of the box without having to
subscribe at all.
Jeroen Leenarts: Okay, I will
make sure to put those links in
the show notes, right people
that are listening, you can find
them there. Now, let's talk a
little bit more about you,
Chris, the developer, are you a
musician, turn software
developer or a software
developer who has grown interest
into music.
Chris Liscio: That's a mouthful.
I am neither I kind of did both
at the same time, all along. My
exposure to music was totally
independent. I wasn't like I
never had lessons or anything.
As a kid, I was sort of around,
you know, cheesy little digital
keyboards growing up. I
remember, I can't remember if I
was like around 10 years old or
nine years old, I got like an
old cheapy Casio keyboard. And I
would play with that thing like
crazy all the time. You know, I
wasn't Mozart or anything like
that. I was just picking out
little, you know, monophonic
melodies and stuff like that.
And I would sort of play things
that I would hear by ear and
kind of mimic them and do stuff
like that. But you know, nothing
spectacular. I was just a kid
over at the same time I was
getting into computers and stuff
like that. And I was a PC kid
growing up. While I was a cocoa
kid. First, I had a Tandy cocoa
three as my first computer. But
I couldn't really do much with
that thing. until sometime in
sort of my early PC life. I had
a sound card that had a MIDI
port, and I noticed that my
cheesy keyboard had a MIDI port
on it as well. And that sort of
triggered something that I was
always into sort of that mixture
of tech and, and music stuff.
But for some reason I was never
particularly great at the music
stuff. I was just always sort of
into it. And, you know, I got
into sort of my early work on
music, I guess was more sort of
in the tracking space like MMA
trackers, Scream Tracker future.
No, what's the other thing
called Future tracker? Trying to
remember the one I used to use
the most. Anyway, I think
they're XM files. Yeah. Yeah.
Okay. So I spent a lot of time
with that. And that had me
really into sort of the tech
side of the music. Stuff I was
really into music tech, I
distinctly remember working on
like little toy pieces of code
that would, you know, emulate
like a 303 synthesizer, like a
bass synthesizer thing, and, and
writing little filter things and
stuff. Like I had no idea what I
was doing. I was just, I want to
know how these trackers work, I
would have loved to work on one
of those things. You know, if I
was, you know, of a reasonable
age back in those days, it would
have been a cool thing to work
on. And, yeah, I was just always
very interested in that
intersection of sort of
technology and music. I did make
music I did do, you know, sort
of electronic music type stuff.
But I never was at a point where
I thought, you know, I'm going
to be a musician. I never played
in a band. I never really did
anything like that. It was
always an independent endeavor.
And it was mostly sort of self
enjoyment stuff. But that sort
of attachment to the tech coding
side of, of music was, was
strong and wasn't letting go me.
Jeroen Leenarts: Okay. I think
you meant fast tracker. Faster
after that. Yeah. Yeah. And
let's grab back a bit to all the
things that you've said. So you
mentioned that you got started
with computers on a machine
called a cocoa.
Chris Liscio: Yeah, the Tandy
Color Computer three, okay, also
known as the cocoa three, okay,
I was around nine years old. So
that was probably 89, around
1989. And I think I got it for
Christmas one year, and you had
to type all your games in, you
know, it's, it's a very common
sort of theme among developers
just kind of came up in the 80s,
you know, ones that were
fortunate enough to have
computers. That those were the
kinds of things we played around
with. I remember my school had
Commodores. And this is kind of
a real deep cut. But in the
province of Ontario, in Canada,
there was a custom computer that
was used in all the labs in the
schools. And they were called
icons. And it was some kind of
a, I think it ran in at 88 CPU,
or at 86. And it ran the Q and X
operating system. It was really
weird. And it was it was sort of
like a dumb terminal kind of
setup. But we had like a bunch
of games. And there were a
couple little programming things
on I think there was a
distribution of logo that ran on
it. And so as in school at that
time, sort of in the 80s and
90s, I was sort of playing with
those kinds of computers. I
wasn't in an environment where
we had teachers who could teach
us that stuff. It was just, oh,
it's computer time, you know,
play some of these educational
games. But then you'd have the
odd kid that would sort of
huddle around and say, wow, you
know, there's this programming
thing, let's mess around with
it, right? Let's make it put
silly words on the screen, you
know,
Jeroen Leenarts: and make it go
beep. Right, right. And so at a
young age, you got involved with
computers, initially, very much
more recreational, then you
started like adding music on top
of that. So connecting your MIDI
keyboard to the MIDI ports on
your audio card,
Chris Liscio: which my dad never
worked. It was such a cheap,
crappy keyboard that it was
broken from de la, I was all
excited to get a working and I
never got it to actually do
anything. I think it was, it
would only send MIDI into the
computer, but it would never
receive the middIe back and it
was I was very upset.
Jeroen Leenarts: But
fortunately, it didn't stop you.
Chris Liscio: I think that's
pushed me harder towards the
mods. That that. Yeah.
Jeroen Leenarts: So and then
that was the young age then at
but at what point did you decide
that? Something with computers,
software development, who knows
what the exact decision was, but
that software development was
something you wanted to focus
your professional life on?
Chris Liscio: I don't know, to
be honest, I really don't know.
I, I don't know when I decided I
want to do this as a career. I
feel like there was a weird time
sort of in my high school, where
the music stuff was starting to
get a little bit more serious. I
said I was in the sort of
electronic music world and there
was a point where I was actually
working with a record company in
Toronto, helping them put
together like remixes for for
you know, very small time
artists in Canada and Europe as
well. And so at that time, I was
actually sort of involved with
music sort of quote, for real. I
still don't consider myself a
musician because any credits
I've ever had on a song was
programming, which I find very
amusing. My My only credit on an
album was for programming. And
so I was sort of into that and
thinking you know, I I do Would
I would like to do something
music related maybe in studios
and things like that, but that's
not going to pay the bills. And
I love this computer stuff. And
I'm really into this computer
stuff. And so I sort of at the
time was focused on going to a
university program in computer
science so that I would sort of
get that foundation hoping that
I could continue doing my sort
of computer music thing. And
then I'll figure out the rest as
I go. Because at the time, I was
thinking, you know, maybe I can
get myself into the sort of
music software world, which
unfortunately, never happened in
terms of like, real career for
other people or working for
other people. So it was sort of
late high school, when when I
decided I really need to go to
this university, which turns out
to be the University of
Waterloo. It's in the city that
I live now. And I just put all
my focus into that. I'll figure
out the rest as I go. Yeah.
Jeroen Leenarts: Let's make sure
that you have an education. And
then let's see what happens
after that.
Chris Liscio: Yeah. And which is
such a weird thing. For a kid to
do in high school. Right. You
know, I want to go do a whole
bunch of math.
Jeroen Leenarts: So yeah, you
went after your high school, you
went to Waterloo University.
Yeah. Probably had a successful
university career there. So you
ended up with a paper saying
that you did, I ended up with
Chris Liscio: the paper. My wife
and I would joke about that when
we were dating in university,
you know, C equals degree.
Because all you needed was a 62.
Average to pass. You get the
certificate. You're good. Good
enough is good enough. Good
enough is good enough. I didn't
I wasn't an excellent student by
any stretch. I was. I was the
kid who was in classes. barely
passing, barely getting by.
Because I spent all my extra
time. I remember staying up all
night with with another kid who
was in, you know, first
university. And we were writing
like a 3d engine, using the
brand new MMX instructions on
Pentium CPUs, just to learn
them. And we wrote like a Winamp
visualizer. Just for fun. That's
the type of stuff that I was
doing instead of my schoolwork.
So I didn't do so well in
school, because I was doing
crazy stuff like that. Or
starting super mega ultra
groovy, which was a company I
the company name that I
registered back in like 1999. A
very long time ago. So yeah, I
was I was totally goofing off in
school, but goofing off doing
the kind of coding tech stuff
that I wanted to do not the, you
know, learning Pascal and linked
lists during the day that I was
supposed to be doing.
Jeroen Leenarts: Okay, well,
still, it's still you managed.
So? Oh, yeah. Yeah, I did. Well,
so um, you mentioned that super
mega ultra groovy was created at
least the brand name in 1999.
That was still in your time at
high school, or
Chris Liscio: no, that was, that
was my, it was my second year in
university, your university.
Yeah. And I registered it
because I was going to start
selling my first shareware,
which was software for POS of
all things. So yeah, that was
that was a thing that was sort
of taking a bit of that music
app. dream that I had, if you
will, and I just made like a
silly little sound effect
generator. That was very simple.
oscillators and synthesis stuff
that I put together. And I sold
it for like 10 bucks or
something like that, as
shareware on BLS. And so at the
time, I was like, Well, I have
to register a company name to
sell something. So
Jeroen Leenarts: So but the
company has been around for over
20 years. That's correct. Yeah.
And has the company been your
only professional focus after
university? Or what did you do
in between?
Chris Liscio: Unfortunately, I?
Well, not unfortunately, I just
wasn't ready. I didn't. It's not
like I had a product in
university or anything like
that, that would have supported
me. Plus, I was very unskilled
as a serious developer, if you
will. There's a lot of stuff
that that you can only really
learn on the job. And so part of
my school one of the reasons why
I put all my focus into this
particular university, is they
have a Co Op program where it's,
you have the ability to apply
for paid internships, every
alternating term of school, so I
went into university and after
three months in university, I
already started my first job. So
that first term of university
you're spending your time sort
of split between classes and
finding your job for the next
term of university. And that
just repeats throughout. The
beauty of that system is that
you walk out of university with
two years worth of actual work
experience. And so as a result,
I got to work at all kinds of
places. So I got to my first
job, my first paying job ever in
my entire life was at ATI,
writing display drivers on the
Windows NT, 2d display driver
team, which was a very
interesting first job for
somebody to have. And from
there, I did that for two terms.
And then I went to go work at B,
actually, so kind of related to
the BLS thing. I worked for them
for two terms. And I worked for
them on network device drivers
of all things. That was kind of
a weird circumstance where they
had reached out to me, because I
had written a network device
driver for myself, because when
I did finally get POS, I found
that that my network card
wouldn't work on it. And so I
thought, well, now what I guess
I got to write a network driver,
so I can use the internet. And I
did that. And they noticed, and
they reached out to me and said,
Hey, you want to you want a job?
Unfortunately, when I responded,
I, I told them, I'd really love
to work on your media team,
because they were a big time,
you know, media iOS thing. But
the recruiter at the time was
like, no, no, we found out that
you wrote network drivers. So we
want you writing network
drivers. So that was sort of
one, one unfortunate situation
where I was this close to doing,
you know, media related stuff on
my job. And then from there, I
went to work at Raytheon for a
very short time locally on a
search and rescue radar thing.
That was a whole weird thing.
And then I worked at Research In
Motion, also known as rim now
known as Blackberry, which was
sort of the big employer in
Waterloo at the time. And I
ended up working for them after
school, as well. And I worked
there until I finally quit in
2008. To do this full time.
Jeroen Leenarts: So what made
you decide to quit in 2008?
Chris Liscio: It was sort of a
situation that I was able to
work on my products. After work,
while I was working on my first
measure product, which was a an
acoustic measurement app that I
had built out of a need to
measure a set of speakers that I
built for myself. And it was a
hobby project, I put it together
and I realized, Hey, I'm sick of
entering numbers into
spreadsheets and trying to
analyze this stuff, I just, I
want to learn DSP stuff anyway.
Or rather, I want to apply my
DSP stuff to an actual task, and
then see if I can come up with
something. I did that and it
started growing and growing and
growing. And in 2006, I won a
runner up award for the Apple
design awards in the scientific
category. And that was back when
they had categories and back
when they had runner ups. So
that was sort of a big
validation that, hey, I'm
actually doing good at this Mac
software stuff. And, you know,
sales were never spectacular on
that product. But they were good
enough that I was like, hmm, I
wonder if, if I could put more
time into this, and maybe I
could make more money off of it.
And so there was a point where
my wife and I had a discussion
and said, you know, at the age
that we are right now, it's,
it's a pretty low risk thing to
try this out. You know, we built
up some savings in the bank, and
we decided, you know, we'll try
it out for a year, see how it
goes. And if it doesn't work
out, it'll be easy enough to go
back to work, because everyone
there was like, Hey, if you
change your mind, come back. So
I had a very easy safety net
waiting for me there. So I was
able to sort of try it out. And
it worked. I mean, within within
that first year, I was able to
sort of match my income of what
I was making while working full
time job. And so we just kind of
kept it rolling.
Jeroen Leenarts: Yeah, of course
that's getting to that threshold
is of course, the first hurdle
if you want to venture out on
your own. What I do notice is
that over the years, there was
always this threat of music in
your personal life, of course,
but also hearing in there in
your professional life, not
maybe directly but for instance
working on a radar, that's also
a lot of signals processing, I
reckon.
Chris Liscio: It should have
been so the situation with
Raytheon was that I was about to
start my third term with B. So I
had done my first term in
California on site. My second
term, I was fortunate enough to
work remotely as a co op
student. And then my third term
was about to start when they got
acquired by palm. And there was
no job for me anymore. So I was
I didn't have sort of an
interview process lined up, I
was sort of in the in the last
collection of students who was
yet to find a job. And I had,
basically, it was like, anybody
who's got any interviews, I'll
take them, I don't care. Oh,
adding to the stress of it all,
my wife, or sorry, I had just
bought a condo. So I just bought
a new house, just before my job
I was about to start went away.
So in the beginning, I was like,
I'll take any job. So this job,
as posted was to be an assistant
of sorts, to help with research
on this radar system. And I
think that they were targeting
it at a very entry level sort of
student that was intended to
just work in Microsoft Excel all
day, and analyze a bunch of data
and look over stuff. And so I
was pretty desperate, I was
like, you know, they're paying,
okay, I'll just do this for a
while. And you know, hopefully,
the next term, I'll get
something better. So it turns
out, I get there. And I'm not
the type of person who's just
gonna sit there and do exactly
as I'm told, I'm sitting among
like, PhD level, brilliant
people. There's site licenses
for Matlab everywhere. I'm a
developer, I'm not like a
beginner CS student. I've been
doing like serious development
for a while. And I have an
interest in DSP. And I know what
MATLAB is, and I know how to use
it. So I had approached my
superiors at the time, and I
said, Look, you you folks have
me doing this stuff, which was
like, they wanted me to sort of
do some Excel data generation
and Excel data analysis, to to
effectively do kind of like QA
on some DSP algorithms. And I
sort of threw it out to them to
say, well, I could write stuff
in MATLAB that would, you know,
be very capable, and be able to
actually simulate, you know,
boats in high sea states, and I
could, you know, add noise. And
you just tell me what you folks
want. And, you know, I can even
do the networking side of it. So
we can, like attach this
computer over the network, and
it can pretend to be the actual
radar, and also, and their eyes
popped out of their head, like
you could do that. So that term
went very, very well, in the
end, you know, I sort of made it
my own. For that work term. I
was fortunate that they were
receptive. I mean, that could
have gone a whole different way
to I could have been, you know,
fired for insubordination, or
something. But no, they were
very, very nice folks. And they
were very happy to have somebody
who was willing to sort of go
above and beyond and that job
really sort of evolved. And I
did bounce around through that.
And I had worked on a little bit
of embedded system, OH S type
stuff for another product that
they had. And yeah, it did an
awful lot of stuff in that short
four month period. But, like,
instant, I had an opportunity to
be done with that I was done
with it. And, you know, went
straight on to, to work at rim.
In my, I think it was my Yeah,
it was my final work term.
Jeroen Leenarts: And at RIM, how
long did you work there?
Chris Liscio: So that was a
total of I would have been, I
guess it was six years. It was
six years, or just shy of six
years that I was there. And,
yeah, that was kind of an
interesting job. I had a really,
really cool team, but I was
working on a totally boring
product
Jeroen Leenarts: can happen to
the big companies, at what point
did cable become a thing?
Chris Liscio: So in 2008, I
think I started I got my first
guitar. And because I decided,
you know, I kind of want to put
some time into learning guitar,
you know, I am at home all day
working on my software stuff,
and I've got extra time. I sort
of need a hobby now. Right? Like
my hobby became my full time job
and I needed a hobby to go with
my full time job. So I thought
I'll sort of try to do guitar
for a bit. Actually. Now come to
think of it. I think it was 2017
that I got the or sorry 2007
that I got the guitar. So I had
kind of gone For almost a year,
sort of hacking at myself
between, you know, YouTube
teachers and, and reading stuff
online and what little I could
sort of pick up on my own
because most of guitar is just
kind of putting your hands on
the guitar neck and getting used
to putting your fingers in weird
positions and making sounds. And
then I got to a point where I
said, Okay, now, I've been doing
this long enough that I should
probably get guidance from a
teacher. And I went to a
teacher, and one of the first
things that he had me do,
because I had already kind of
did all the basic stuff was he
asked me to, to try learning
some songs on my own by year
trying to figure out chord
progressions of songs. And in
doing that, I was like, you
know, it'd be really nice if I
had a way to sort of stop and
start the songs, it'd be nice if
I could slow them down, I was
aware that this was a thing. And
at the time, I downloaded some
applications that had existed
that allowed you to do that
stuff. And I played around with
them. And I was like, this stuff
is awful. It's like cross
platform doesn't feel like a Mac
app. It. It's just that, you
know, I make apps, I'm good at
DSP stuff, I see a whole world
of cool stuff that I can do in
this world. Let's try something
out. So in April of 2009, I
shipped Kebo 1.0, which did very
well. For me, it was my biggest
product launch by far. And it
went really well. And I had just
dove into that 100%. And like,
my brain was going crazy at the
time, because I remember, in
version one, it was sort of like
the prototypical 1.0 This is the
minimum thing, like all it did
was the audio stuff, right?
Like, it just had the audio
engine that lets you slow things
down. And you know, you could
put one loop in there, and, you
know, that type of simple stuff.
But I was like, Okay, this thing
is doing well. Now, I'm going to
put now I'm going to turn it
into a Chris project, right. And
that's when I started doing
crazy things like I think it was
Keepo two and I added Kebo
spectrogram and tabbing feature,
the first one where I had to use
OpenCL at the time to calculate
a very detailed spectrum
representation that it wasn't
just like, you know, FFTs and
stuff, it was something more
like a wavelet analysis of the
song that made it very clear
which notes were there. So that
you could just draw where you
saw notes, and then it would tap
out the song like basically
print like guitar tablature
underneath. So you could pick
out solos from from recordings.
And that was just, like,
amazing, you know, for for me,
because I was able to, I felt
like I was developing my own
superpowers. Like I could figure
out every song completely on my
own. I've got this tool now. And
and then the chord detection
stuff started to happen. I think
in 2010 was when the first chord
detection stuff started showing
up. Then it became fully
automatic core detection in
2013. And then it just kept
rolling forward gotten more and
more advanced. It's just been a
very long term sort of research
project that I don't know if I'm
going to ever stop picking away
I just because there's so much
fun stuff to do.
Jeroen Leenarts: Yeah, you were
able to like convert a number of
passions, and it was a perfect
storm that ended in Capel.
Really,
Chris Liscio: right? Yeah, I
mean, something. I have this
thing where, you know, I have no
aspirations of becoming
musician. I just like being able
to build things for musicians.
And I use them as a quote
musician, but I'm a musician
just for myself. I like I play
for the enjoyment. And that tool
is for me, but I get so much
pleasure out of hearing how it
helps other people do stuff.
Like cool, I made this thing
that helps other people do
something. So what
Jeroen Leenarts: is one of the
best bits of feedback that you
ever had on your product?
Chris Liscio: Oh I, I get a lot
of very similar feedback. I
think with a lot of people. The
number one point of feedback,
probably the most common point
of feedback is Man, I wish I had
this when I was younger, right?
Because you get a lot of
musicians who are later on in
life and now they're they're
starting to actually have free
time to start playing with their
instrument again and they want
put some time into it and
they're like, Man, when I had
all the time in the world when I
was a teenager I would have
loved to have something like
like this. So I get that
feedback a lot. I think a lot of
people are just sort of wowed by
by the fact that there's a tool
now that they have that they get
this sort of superpower of
loading these songs and then
being able to figure them out.
But yeah, I can't think I can't
think of a specific point of
feedback that someone's given me
where I was like, Well, I never
thought I never thought I'd you
know, save the world sort of
thing.
Jeroen Leenarts: It makes the
world a better place music, so
Chris Liscio: Oh, yeah, for
sure. For sure.
Jeroen Leenarts: Um, so
probably, sorry, like you
already mentioned, there's still
lots and lots of stuff that you
want to do on the cable product.
So that's probably one of the
things that you'll be working on
in the future. Are there any
other plans for the future?
Besides cable?
Chris Liscio: I don't know, I
really don't know. Because I
feel like there's sort of these
situations where I feel like, I
could sort of start a new app.
Because there's, there are
features in Kebo, that could
exist as their own app. And I'm
sort of torn between whether I
think it's a good idea to create
that new app, and then try to
build a new user base and have a
whole new line of support that I
got to take care of a new, you
know, sort of marketing effort
that needs to be done. And you
know, each product has to have
its own sort of life of its own.
And each one requires its own
sort of, not support from a
customer service standpoint, but
support from a continual
maintenance, marketing,
messaging, stuff like that. It's
a lot of effort to put together
a new app. And so I think if a
new app ever were to sort of pop
out at this stage, it would
probably be something that
either isn't Kebo, or is going
to be built for Kebo, that just
for some reason, doesn't work
under an umbrella of cable. So
if I were to give an example,
relating to something like if
you're familiar with, you know,
Microsoft Word is sort of a do
everything app. And there's like
an outliner mode in Microsoft
Word, well, you would move
between sort of writing mode and
outliner mode, but you could
very easily justify taking that
outline or mode and making it
its own app, and it would
probably be 1000 times better
experience. So that's the type
of thing I could see happening
with Keiko where I do have some
features where I am very much on
the fence about does this turn
Keiko? Into a Microsoft Word? If
I put it in? Or, you know, is it
does it fit under the umbrella?
And does it need to be split
out? Because it's just too heavy
to go in?
Jeroen Leenarts: Yeah. Okay. So
a lot of stuff to think about. I
think we covered most of the
things related to you and the
important product in your life.
Are there any resources or
things that you think that we
should share with our listeners,
books, articles, stuff that you
think like, oh, you should read
that because
Chris Liscio: I do a lot of work
that's very sort of specialized
in, you know, signal processing,
and machine learning and stuff
like that. And that is very
narrowly focused. So in terms
of, you know, reader coverage
and stuff, like our listener
coverage, you know, what percent
of the population would be
interested in that stuff, it'd
be very small. In my own sort of
learning and work, I spent a lot
of time looking around like
Coursera, for instance, you
know, taking university level
courses on, in my case, machine
learning a couple years ago. And
I'm just starting a refresher
course for myself now on signal
processing. And so just as a
general resource, I, I love that
type of stuff. And if, if you
just want to audit courses, it's
free. So it's fantastic. You can
go through and, you know,
complete exercises and watch
lectures and stuff like that.
And the best part is you don't
have to pay a fortune for an
education and if the professor's
boring, you can just bounce
after the first week and no
consequences.
Jeroen Leenarts: So basically,
you're saying that people should
never stop learning and
searching for bigger things to
improve their own lives.
Chris Liscio: Oh, all the time.
That is, that is my life. I love
learning and relearning going
back to something that I thought
that I knew and approaching it
with a new fresh perspective,
especially after applying it for
so long, going back and trying
to look at the sort of theory
again, after applying it makes
the theory click a lot more. And
then kind of reinforces what you
thought you knew. So that you
know it a little bit better. And
in my case, I find that it
actually sort of there's a lot
of aha moments, like when when
watching stuff that you thought,
you know, and you're like, Oh,
that makes a lot of sense. Now,
I know why I had trouble with X,
Y, and Zed. And now I know why I
can't do this. Or I know the
secret that stood in my way
previously when I attempted this
and I'm now able to take another
look at it and can move forward.
Jeroen Leenarts: Okay, I think
that's pretty good. To wrap
things up with
Chris Liscio: Sure. It's a it's
an odd one compared to most of
the other ones. You'll have it
Jeroen Leenarts: but by the by
the by the sound of it, you're
like an audio not anyway, so
that's always a different type
of person. I think
Chris Liscio: I am definitely a
not.
Jeroen Leenarts: So with that.
Thank you very much, Chris from
super mega ultra groovy with
your main product cable. And
thank you very much for your
time and it was a joy listening
to you.
Chris Liscio: Thanks for having
me.
Jeroen Leenarts: Okay. Thank
you. Thank you.