Yet another post about Orinj – our software for recording, mixing, sequencing, etc. Yep, so what? I've been spending a good amount of time with it recently, so that is what's in my head. Plus, I want to keep this blog alive while I am spending all my time tinkering with the software.
Orinj version 4
We’ve gotten to the point where any new functionality in Orinj will be minor. We have already:
- Integrated MIDI and loops in the session.
- Worked out the conversion of MIDI to wave.
- Fixed up effects and added new ones.
- Added generators.
- Reworked the sound file management.
- Even created two new look and feel skins.
We've had a lot of releases. We've fixed a lot of bugs. Part of the reason for all these changes was stupid. It was a bit of "release early, release often" – which I suppose is Google's contribution to software craziness. It was also a bit of extreme case testing – in the last version we fixed the opening of sound files that were already opened. Who would do that?
Part of this was for good reasons, even if farfetched. The new skins, for example, seem pointless, but are not. First, we designed one to be mellow. It is easy on the eyes. Producing music takes hours of staring at a screen. Second, we would prefer to rely on our own skins. What if the ones produced by others are no longer supported?
So far – good. But there is more.
Orinj version 5
We have not planned a date. We have planned the functionality. Let's see how it goes.
Scales and chords
Wouldn't it be nice if you could pick a scale or a chord, figure out what notes are in it, hear it, and then maybe program it in the MIDI sequencer? That is already there, although you won't see it until version 5. As functionality goes, that one doesn't really belong anywhere in Orinj. We called it a "tool", to be accessible through some new menu (I guess, "Tools").
Convolution is a new effect in version 4. It takes the sound through the impulse response of a system (e.g., an amp) and makes the sound as if it was recorded through the system (the amp). Deconvolution is the opposite. Take a sound. Record it when played through an actual amp. Then deconvolve the two sounds (original before the amp and produced after the amp) to get the impulse response of the amp. If you have an impulse response, you can apply it to any other sound. That is, now you don't have to lug your amp around.
Deconvolution is just like the scales and chords. It belongs in "tools". It will not be the most used piece of Orinj, but it would be fun. I, for one, made my own impulse response for the classic Ampeq 835 bass amp combo (it is a part of the Orinj installation since version 4.1.7). I can pretend to have the amp, even though that amp is now expensive (and heavy).
Auto tuning can take your voice, which could be a bit flat here and a bit sharp there and adjust it as needed. This is conceptually very easy, mathematically and programmatically somewhat easy, and practically very difficult for two reasons. First, tune to what? There are no strict frequencies for notes, really. I just learned that my friend's tuner was at 463 Hz for A, instead of 440 Hz. What if all instruments were a bit flat? Then adjusting the voice to not be flat would be a mistake. Second, how do you allow user input? What if there is a legato and the user doesn't want to change it? What if the voice was a flat A? Is it a flat A or just a sharp Ab?
Still, this is doable. Our biggest problem would be finding recordings with mistakes for the testing. Cause, you know, we are great singers…
Yeah, I know. This should have been in long time ago. I am not sure why we ignored it.
Both the DLS file format and the SoundFont file format are horrible. There are endless options for articulations of the sound (attack, sustain, LFO, etc.). Most of them are unnecessary. But they are there and so they have to be handled. Which makes working with both formats a huge undertaking.
To allow the conversion of MIDI files to wave files, we looked into DLS files first. In retrospect, that was probably a mistake. We should have focused on SoundFonts. We'll get there.
…or DSL loops. The loop building view in the current version builds loops but is not a full-blown sequencer. You can't, for example, make loops of piano notes. Even if you added piano samples, you couldn't control the amplitude envelope of the note. That is, you couldn't control how quickly the note starts, sustains, or decays.
If we wanted to make the Orinj loop building view into a sequencer, the best thing to do would be to allow SoundFont (or DLS, or both) files in the loop sample tree. We would also have to allow various articulations, such as an amplitude envelope. The user can then pull in any of the instruments in the SoundFont file and control how these instruments sound.
This could be version 6 functionality. Let's see how it goes.
Some new effects
How about a sliding pitch or a sliding stretch? A sliding pitch is one, with which the sound starts as it is but gradually gets pitch shifted up and up (or down and down) over time. I have no idea who would want to use one – I have not had use for one in any of my songs, but it is an interesting exercise.
What I really want is a phaser. A phaser is actually quite easy to do.
Some MIDI usability
Of all Orinj views, the MIDI roll one is the hardest to use. It requires too many mouse clicks and a good amount of thinking of note lengths and other note properties. There are many ways to improve the view. For example, we could use some keyboard keys to move between and type notes and some commands to make MIDI notes snap to the MIDI grid.
That is about it, I think.