Featured Post

Saturday, December 27, 2014

Moog EP-3 Universal Pedal

This pedal came today and I like it a lot. The only problem is it has no documentation.

The pedal has smooth output throughout the pedal's travel. I tried an FC-7 (Yamaha) before this pedal and it didn't have linear output throughout the pedal's travel. It was difficult to make smooth volume/expression changes.

The EP-3 has a "scalable output knob." I thought that would be a way to require less pedal travel to go from 0-127. Not so. I'm not sure what good this knob will do.

I ran some tests. FWIW.

Setting the knob all the way counterclockwise, my keyboard reflects that setting is data equal to zero. Moving the pedal results in no data. It's zero no matter where the pedal is set.

The position of the pedal is somewhat important to the results you'll see below. I set the knob with the pedal all the way up (heel all the way down). This is the low value position.

Most of the time, the knob changed the setting by two's, but it would also sometimes jump by one -- sometimes even numbered, sometimes odd. I moved the knob clockwise until there was a change in data.

Knob value  Low High
002              002  004
004              004  010
006              006  012
008              008  019
012              012  027
013              013  028
014              014  030                      
017              017  039                      
018              018  039
019              019  045                      
022              022  054                        
024              024  057                        
026              028  081                       
Here's where things get strange. The low number starts decreasing while the high number increases. And I'm still turning the knob clockwise.
024              024  095
021              021  102
020              020  104
018              018  107
017              017  110
014              014  113
013              013  115
011              011  118
010              010  117
008              008  121
006              006  122
005              005  123
003              003  127
002              002  125
000              000  127

Does anyone know the logic behind this?

As for the pedal, it feels expensive. There is a pneumatic kind of feel to pedal movement. That will probably change over time, but it's nice now. The base is metal. The working parts look like they're metal. The upper case/pedal is plastic, but it seems to be tough. It's heavy enough not to slide when you're trying to use it. It's comfortable when used seated or standing up. The pedal travel is sufficient to enable accuracy in volume/expression changes.

I hope this helps someone out there.

Monday, December 22, 2014

Wrack Official Soundtrack Released

The Wrack Official Soundtrack (26 tracks) has been released on Steam as DLC. It will be on iTunes after Apple's seasonal vacation, which ends December 29. It's will also soon be available on Amazon, Beats, Deezer, Google, Rdio, Spotify and YouTube.

Spotify: https://play.spotify.com/album/2JztVwteK04P5P5hnzvXsp

Music You Remember From The First Hearing

The earliest music I pretty much memorized from my first hearing was off the radio. But lots of it was from the old television serials. For me, some of the best music was the background music for the Lone Ranger. That series has been rerun many times over the years. Episodes were run during many of the local TV station Saturday "kiddie shows" back in the day.

Here's the cut from the Lone Ranger that has haunted me ever since I first heard it. I wish I knew who wrote it.

https://www.youtube.com/watch?v=qrr0IT2-utM#t=148

More of this piece is played in other episodes, but this is the most of it I could find right now.

The music from the Lone Ranger got used over and over, from one episode to another. It gets so familiar that after a while you realize the music is often a hint as to what's about to happen in the episode.

There are a lot of good lessons in this "old" music.

Sound Effects Can Live Forever

For those of you interested in sound effects, this is a fascinating article written back in 2007 and republished at this link: http://www.damninteresting.com/the-wilhelm-scream/

After posting this a friend sent this YouTube link with a sampling of movies using the Wilhelm Scream. It's hilarious: http://youtu.be/cdbYsoEasio

Sunday, November 2, 2014

Working With Game Developers

It has been interesting over the years to work with different game developers and development teams. As you can probably tell by many of the games I've worked on, I'm more at home with independent developers. Back in the days of working with id Software, there would be a decision to be made, and it would be made very shortly after the need for a decision. More recently, in working with Brad Carney on Wrack, I'd suggest something and Brad would make a quick decision. This is generally not true of larger development teams, and decisions usually come very slowly from them.

Larger teams are also generally not interested in hearing what a composer/sound developer has to say about anything to do with a project except music/sound. If you talk about game play, graphics, ideas for additions to the project, they look at you like you're speaking a foreign language. This has often been the case with movie production teams, too.

When Wolfenstein 3D was getting close to release, the artists showed everyone the game manual they had designed. It was impressive work. I looked it over and read it. Something jumped out at me. Instead of using the word "Nazi" for the enemy, they had used the word "German." I said something to the effect that "German" included many people that did not support what the Nazis did, so those German people would not like being the enemy in the game. They got what I was saying and changed the term. They were willing to listen to what I had to say though it was not about music/sound effects.

After working on many projects, I decided that the most important thing about a project would be the people I'd be working with. I've turned down projects because I had a feeling they only wanted a musician, not a team member. That's not to say that I would have anything to add to a project other than music/sound effects, but I'd like to think if I did have something to add it wouldn't fall on deaf ears :-)

For me, a decision to work on a project also comes down to whether the others working on the project love what they are doing. If the project is only for making money, alarms go off in my head. I'd much rather work with people who love what they are doing (and happen to make money at it). Money doesn't make up for a mechanical working environment. And projects for the principal purpose of making money usually don't do that great in the end.

Wednesday, October 22, 2014

Sequencer Plus vapimpu driver

Does anyone know where this file can be found? I've had a request for it from someone who owns an older copy of SPG. It didn't come with this file. The copy I have doesn't have it, either.

Monday, October 20, 2014

CAL - Cakewalk Application Language

For those of you who use Sonar, there is a pretty well hidden gem, CAL, which is an event-processing language that allows extending SONAR with custom editing commands. You get to the CAL scripts by clicking Process>Run CAL or CTRL-F1.

Doing so gives you a list of CAL Scripts that shipped with Sonar (and maybe some you added).

So what do you do with this list? First of all, notice that some of the file names are in all CAPS and they are no longer than eight alphanumeric characters followed by the .cal. This means many of these scripts were written back in DOS Cakewalk days when a file name could not be longer than eight characters.

It may also mean that the CAL no longer works because Cakewalk has broken CAL over time, and they no longer actually support it except to include what is old code for backward compatibility.

For those of you familiar with Cubase, CAL is the Cubase Logical Editor on steroids (when CAL works in its present state).

Many Sonar users think CAL is merely a macro capability. It can be that, but it can manipulate data based upon the state of that and/or other data.

How do you find out what one of these CAL's with cryptic names do? They are merely text files with a .cal extension (instead of .txt). You can open the list of CAL files (as explained in the first paragraph), right click on one of them and open it with Notepad to read the comments by the author.

A CAL script works like any of Sonar's built-in editing commands. You have to select the data you wish to be edited [track(s) and time selection (From and Thru)].

One of the shipped CAL scripts is named "ANY_THIN.CAL." If you right click on it and open it in a text editor, you'll see Marty Schor wrote it to thin controller data based upon the change from one controller value to the next. You, the user, chooses which controller you want thinned and the minimum difference you want between two consecutive controller values. This is much better than just deleting every 2d, 3d, 4th, so on controller value. It keeps the data smoothly changing in keeping with the original shape of the controller data (the visual representation in Sonar). This CAL still works -- I just tested it.

Why would you want to thin controller data? Maybe for reasons unknown a lot of controller data causes glitches in playback on a VSTi or hardware module. You can thin the data and see if that removes the glitches.

In case there is a problem with undoing a CAL command, you should always work on a copy of the track you run a CAL on. I've not lost data due to CAL, but it could happen.

So, think about this: How would you do what ANY_THIN.CAL does if CAL were no longer supported in Sonar? Any method I can think of would certainly be extremely time consuming.

Yes, it could be built in to Sonar.

But how about this? You have a stringed instrument VSTi. It allows setting a capo to any of 24 frets plus Open -- no capo. It accepts key-switch data or Controller 4 data to set the capo. You don't know the final key of a song you're working on, so you decide not to use key-switches so you won't transpose them when you transpose the key data on that VSTi's track.

The capo position chart in the VSTi docs gives the CC#4 values for each fret. You have a lot of fret changes. So you start inserting Controller 4 data in multiple places, each time having to check the position chart for an appropriate value. You use this VSTi a lot. All of this gets very tedious. Macro software won't help you here. How will it "know" what values to insert for proper capo placement?

Here's where a CAL script can really help. Reading this script in Notepad, it says you should run it in Event View for the track(s) you want to use it on. You click on the first note you want the capo to affect. You also select the note to set the From/Thru times for that note (click in the leftmost column of Event View on the same row as the note and the cell turns black).

Now you CTRL-F1 and double click FretInsert.cal. It opens a small window with "Capo at which fret position? (0-24)." you enter 8 for the 8th fret. Blam, a Controller 4 event with a value of 43 is inserted one tick before the note you selected.

How does this work?

Using a CAL function called "switch," the script finds the appropriate controller data based upon your capo fret selection. Say "FretPosition" is the variable that stores the user's input and "FretPositionData" is the controller 4 data required to set that fret position. Switch takes the value of FretPosition, looks that value up and sets FretPositionData to equal the controller data for that fret.

(do

(switch FretPosition ; set the CC# 4 data value for the chosen fret position
 
  0 (= FretPositionData 0)
1 (= FretPositionData 3)
2 (= FretPositionData 9)
3 (= FretPositionData 15)
4 (= FretPositionData 20)
5 (= FretPositionData 26)
6 (= FretPositionData 33)
7 (= FretPositionData 38)
8 (= FretPositionData 43)  <<< The user entered 8 so switch ran this function
9 (= FretPositionData 47)
10 (= FretPositionData 53)
11 (= FretPositionData 58)
12 (= FretPositionData 64)
13 (= FretPositionData 69)
14 (= FretPositionData 74)
15 (= FretPositionData 79)
16 (= FretPositionData 85)
17 (= FretPositionData 91)
18 (= FretPositionData 96)
19 (= FretPositionData 103)
20 (= FretPositionData 108)
21 (= FretPositionData 114)
22 (= FretPositionData 119)
23 (= FretPositionData 124)
24 (= FretPositionData 127)

)

; now insert the event one tick before the Now time (which the user set when he/she clicked on the note in the Event List.

(insert (- Now 1) Event.Chan CONTROL 4 FretPositionData)

(- Now 1) is the computereze version of  Now minus one (Now - 1).
Event.Chan inserts the selected note's channel for this controller event.
CONTROL means insert a controller event.
4 is the controller number to insert.
And FretPositionData is the value that switch looked up -- 43 in this case.

This is explained only to show you how powerful and time saving a CAL script can be.

And I'm not an expert on CAL -- I hack the code/test it/hack it/test it and so on seemingly out to infinity before I get a script to work.

There are a lot of CAL scripts on the internet. If you decide to try some of them out and they work or do not work, post a message here with the name of the file. Maybe there are some that do not work but are worthy of editing so they do work. Maybe others should be tossed because they do not work any more.

For those of you reading this who do use CAL, please post a reply and let us know which scripts you use. Also, if you know of some that do not work, post that too.

Maybe a fire can be built under Cakewalk so they will bring CAL back in a big way, with great documentation for its use. Else it will certainly be well behind Reaper SWS and Cubase Logical Editor.

Right now CAL is like a map based computer game that doesn't have a fully working, updated map editor, but it can still help do things with CAL that no other DAW I know of can do. SWS (for Reaper) may be able to do it, but I didn't see anything like it mentioned in the SWS docs.

For those of you who write your own CAL scripts, I learned the hard way that you cannot insert data where no clip exists. This means even between clips. The insert goes into limbo. Also, there is already a documented problem working with CAL and Linked Clips

For documentation on CAL, do a search for "Cakewalk Application Language Programming Guide for Sonar." The latest I've found is version 2.2 (24 FEB 2010). There's other documentation out there, too.You won't find any documentation like this in Sonar's help file.

Thanks to Glen Gardenas, Ton Valkenburgh and Frans H. M. Bergen for putting the CAL info together!