Tag Archives: Granulator

Sheet Music Unfolded

04.07.2016 – Guitar Practice and Crafts

I just spent the month of March on an initiative to improve my music theory and guitar playing skills.  I worked on other projects, too during this time, but haven’t finished anything to show.  The results of the practice are pretty amazing, though.  I’m doing it again for April.  I wanted to be able to take my existing guitar skills and augment them to be able to play all of my Major and Minor scale shapes, plus the Blues scale, clean, in every key, all up and down the neck at 90 BPM, sixteenth notes.  I couldn’t do it March 1st – it was too fast, but by April 1st, I was able to do it!

I’m not primarily a guitar player, but I knew the keyboard and a lot of theory, so I could visualize the intervals and know what each sounds like on the keys, but to use my left hand fingers to do it was hard.  I have been playing guitar at a casual level for a long time, and have come up with the parts and recorded guitar on all of my songs, but wanted the ability to express my ideas with more ease.  And, I’m getting into using the guitar as a MIDI instrument and harmonic EFX generator, too.  So, that’s what I’ve been up to.  I’ve practiced every day for at least 30 minutes for 30 days – getting these left hand fingers and picking hand stronger!  It’s a lot like working out (and speaking of, I have been exercising for 30 days straight, too, but that’s beside the point).  For May 1st, I’m trying for that group of scales and positions, up and down, at 100BPM, sixteenths.  120 in July.

After I get to a good technical point, then I can start creating patterns and phrases and learning the songs I had previously written in a new light and see where I want to take them.  New stuff, old stuff, and stuff yet to be laid down.  And, re-create these ideas in a way that inspires the greatest of good-feeling emotions.  That is the goal for that.

Brad Ormand - Guitar Practice Left Hand

TENDENCIES

My other projects, like the audio granulator, woodcarving, and drum construction, are in a holding pattern.  I notice my tendency to “cycle” through each discipline every few months.  But, actually, I’m fine with that.  I noticed last night when I came across some code for my audio apps while backing up my drive, that I actually held myself back from working on it, as if to say, “No, not now – I’m practicing guitar and I have green paint waiting to be used on the canvas before I can get back to you, audio app“.  And, that’s fine.  Why not?  I think…

I’m inspired more to explore ideas that are just surfacing and “hot” right now so I can “lock them in”, and then get back to them on the next cycle.  But… the downside is that I lose some momentum.  But, I capture the “hot” ideas in the stream of consciousness.  Just an observation.  Evens out, I guess.  And, this project log shows me what I come back to and what I don’t.  Most I cycle back to.  I sure do have a lot of interests, though – that’s for sure.

However, I do think about the different categories of projects I have active every day – and I always have a base level of inspiration for them all that never leaves.  And, it’s more exciting to get back to them after a bit of a break and after a large success in another field.  Rationalization or not, it is what it is right now, and until I get to the point to where I do them as my primary business, I can continue to operate in this way.

THE GOAL

My job takes up most of my time (as does driving to and from it).  I’m okay with it because it funds my projects.  However, I would rather my PROJECTS fund my PROJECTS.  haha – I mean that makes the most sense, right?  I’d be hard at work all day on them if I didn’t have these other responsibilities.  On the flip side – my career is in Software Development right now, I’ve worked hard on it,  and they need me and I need them and it’s a good “handshake”.

So, for now, I’m happy.  But, fueling my choices, somewhat, when I decide how to spend my project time is definitely motivated by what I can come up with that #1) I love to do, and #2) that will provide me a profit to put back into the skills that created it.  The audio app and drum construction ideas are the hottest right now, as far as crafting.  And the idea of making excellent music that does well in the marketplace and licenses well (and that I really like!) is an inspiration for my theory and guitar practice right now – to really bump up my ability to produce well-made songs.  Better than before.

Sheet Music Unfolded

Sometimes, I just want to paint for relaxation and sometimes, I just want to play music for enjoyment, so it’s both – a desire to make worthy “products”, mixed with a desire to enjoy my skills.

Either way, I’m getting better skills in the process.  And, that leads to being better able to express my vision, which would be the ultimate goal – To be able to express myself in the most powerful ways possible.

Brad Ormand - Renegade Rambler Audio UI idea

2016.03.01 – Audio Granulator Progress

While in the process of writing an audio program for the ARM chip and another display, I began to also write code for Mac OS 10 and iOS.  I hit some good vibes and continued going forward with the Mac app and left the ARM system on the bench, as is, to come back to later after I finish this Mac app.  I switched gears, as I normally do, but I now have the pieces together to make this app, and it’s multiplying my motivation…

I have been studying DSP and audio algorithms in C++ quite a bit lately (and I had already made great progress with the DFT and FFT in 2015), and am having a great deal of fun analyzing and manipulating sound.  My degree and background are from this area, but I have never had to actually code a chorus or reverb or EQ (although I’ve built hardware analog EQ’s and compressors).  So… I decided to go through making this higher-level abstraction app to beef up more of my real-time digital audio knowledge.  I’m using Core Audio and Audio Units.  Then, after one or two of these apps, I can come back to the bare ARM system, with which I’ll have to write these “units” from scratch (and I can’t wait – looking forward to it.  Just need a quick win first, ‘cuz I’m gon spend some time on it – like a year).  It’ll also help me decide how I’m going to organize the higher-level abstractions from my low-level C++ code once I get back to coding the embedded ARM system.

ARM Breadboard Circuit 1 Brad Ormand

I’ll have the fast FFT implementations and FIR and IIR filters in the CMSIS DSP lib, etc, and I’ll at least have a fast sine and cosine routine, but it’s a lowest-level implementation that I’ll have to “hand” assemble to be a 4-pole LPF or a phaser or even a simple notch, etc.  I’ll have to make my post-DAC “Nyquist” filter at 22kHz and all of that stuff on the ARM system in hardware, etc.  It’ll be at least 44.1kHz at 16-bit – I want (people) to be able to actually use the audio generated by it – some really killer and sonicall-pleasing sounds.  So, that’s coming up…

Brad Ormand's Second Fourier Transform - Noise

It’s kind of a tall order for me.  I have some work to do before I can write a digital audio system from scratch at the chip/embedded level – from Math to code to electrical components. I can’t wait to do it and spend time on it, but I must prepare.  So, I did a few mathematics problems this weekend dealing with impulse response and the summation of the FIR filter to get to know what I’m dealing with.  So, I’m going to do it all step-by-step in my free time until I’m able to grasp it and code good implementations.

M A C   A U D I O   A P P

I have been successful at building a Core-Audio-based sampler for iOS in C++ and Swift.  I have a functional demo that starts and ends the time window at particular points along the audio clip using touch – all real-time.  My next step is to draw the waveform out into a SpriteKit view and to get the app to respond to the touch drags to resize the play window to the visual waveform on the UI.  Just that part itself has been a bit tedious, not-to-mention any zooming of the waveform, which hasn’t even been considered, yet.  Then, of course, I’ll need to render out the playhead rolling along as the samples get played.  There’s a lot of interpolation that has to be done since there aren’t enough pixels to show every sample, and I’m trying to get that stuff out to it’s own thread and to see if I can somehow pre-calculate it all when it first comes in.  I made a pencil sketch of the UI to come – it’s the initial view, but I’ll have a keyboard or sample pad view of sorts.

Brad Ormand - Renegade Rambler Audio UI idea

As for the audio source, right now I have it playing from a file.  But, I don’t think I’ll let the user bring in files with  it.  It’s just too weird on the legal side since I’ll let the user save it back to disk, and I have to detect and convert what type of files they attempt to load in and stuff (mp3, ogg, AAC, which wav, etc), and well…  I really just want the user to be able to press record and mess with the stuff that gets recorded, and probably with a 15-second limit – focus – kind of like Twitter’s 140 char limit.  That audio will then be recorded into and played from a file of course, but I can count on it being a 32-bit float PCM format, and just run with it.

In the end, I want the thing to act as a granulator, where you bring in audio and are able to loop sections of audio at really tight intervals, or even with randomized time and pitch parameters, where it acts as a sound design tool.  I do this in Pro Tools all the time by hand and cut samples like 1000 at a time and shift them incrementally and copy and paste them offset next to each other for effect, but it’s definitely time-consuming.  I’ll probably still do that because I have ultimate control, but I’d like to be able to go into the app environment and get sounds from machines or birds or rubber bands or my voice or even the wind and allow the user to really fuck with them to make them something else entirely.  Of course, they’ll be able to save the original tracks and save the performance.  And, I’ll offer a few time-based effects and definitely some distortion and crush on there, too.

So…  that’s what I’ve been getting into.  It’s after-work stuff, so it’s kind of slow-going after a day of already programming for hours at the day job, but I’m making definite progress and can’t wait to circle back to the embedded system, as well.  I have many, many things to look forward to on this front.