<< >>
justin = { main feed , music , code , askjf , pubkey };recent comments
search
Searching for 'ide' in (articles)... skipping 100 results... [back to index]

[ newer results... ]

October 10, 2007
Radiohead "In Rainbows"

I'm digging it. A lot. Not as huge to me as some past Radiohead albums were, but then again I probably ruined some of the impact for myself seeing them play these songs live a few times first, whereas before I heard Kid A the first time I had never heard any of it. Not that I'm complaining-- seeing Radiohead live is absurdly fantastic...

October 10, 2007
REAPER 2.0 woohoo


After over a month in beta, we finally released 2.0 final. Woohoo. Here's the changelog (condensed but shown here so I can reflect on the lengthh of it):

  • added elastique Pro, Efficient, and SOLOIST as pitch shifter/time stretcher options
  • action: new actions to toggle/clear/set individual lock modes
  • action: actions to set take by index (1-9) active
  • action: "Take/Paste as takes in selected items"
  • action: "render items to new take" (which is like apply fx but without fx)
  • action: action to toggle item "preserve pitch when changing playrate"
  • automation: added option prefs/editing/"Automatically add/arm envelopes when tweaking parameters in write modes"
  • automation: autoadding vol/pan/playspeed envelopes autoresets trims to unity
  • automation: mute envelopes for tracks/sends (no UI integration for automation recording yet)
  • automation: fixed vol/pan/playspeed tooltips when in automation modes
  • compatibility: perf meter: fixed incorrect ram usage on w2k
  • compatibility: fixed a win2k text drawing gdi corruption issue
  • compatibility: fixed a win2k media explorer refreshing bug
  • compatibility: vertical zooming now flickery in WINE (since WINEs WM_SETREDRAW breaks things -- WINE developers, contact us)
  • defaults: made Take Lane viewing on by default
  • display: fixed bug with changing screen resolutions
  • editing: fixed cutting items in ripple all mode
  • editing: split items at loop selection selects only items in selection (not unsplit previously selected items)
  • editing: apply fx to new take now works on empty items
  • editing: better zoom from scrollbar when zoom set to center on mouse cursor
  • editing: enabled zoom out to see more than a few hours
  • editing: better envelope behavior in item moving and ripple editing
  • editing: fixed bug with slip editing items fudging automation
  • editing: shifting/nudging loop selection works better with time signatures
  • editing: main track view sub-pixel accuracy improvements
  • editing: ctrl+dragging loop selections when item left/right locked now works
  • editing: force selection to beat lengths now supports multiple time signatures
  • editing: new item lock modes (item edges, controls)
  • editing: better drag and drop file positioning in certain instances
  • fx: comment window is now modeless
  • fx: added vertical scrollbar to comment window
  • fx: you can now rename instances of effects to better describe their application
  • fx: action to build multichannel routing for the output of multichannel VSTis
  • fx: action to build 16 channels of midi routing for the current track
  • fx: vsts that have latency and send MIDI now can send ahead of time
  • fx: updated VST samplerate change calls for buggy plug-ins
  • fx: special case code for simulanalog VST plugins (aggressive denormal prevention)
  • fx: fixed alt+drag fx moving bugs
  • fx: fixed plug-in config window close order on quit (good for EmuX)
  • fx: better denormalization prevention methods used throughout
  • fx: faster offlining of plug-ins with large state data
  • fx: startup project loading now initializes audio device before loading plug-ins
  • fx: modifiers when drag and drop adding fx (shift=dont bring up config, ctrl=toggle floating of config)
  • fx: floating fx windows remember their positions when closed
  • fx: less showing of fx chain when "auto-float new fx" is on
  • FX: added JS: utility/bufsave, which lets you route feedback in fx chains easily
  • FX: added JS: utility/time_adjustment which allows delay/predelaying signal
  • FX: added JS: autopeakfilter for fun autowah type effects
  • FX: added some new loser JS fx
  • FX: JS PDC support for effects (pdc_bot_ch, pdc_top_ch, pdc_midi and pdc_delay to specify sample delay)
  • FX: JS shared memory (gmem[]) is now shared across all JS instances in reaper
  • FX: added JS play_state, play_position, and beat_position variables
  • FX: safer window class registration/unregistration in many Rea* fx
  • FX: reacomp/reaxcomp performance improvements
  • FX: better offscreen window checking for ReaNINJAM
  • FX: ReaTune now uses REAPERs pitch shift algorithms (elastique soloist is great for this)
  • FX: ReaTune added "click reduction" mode for SoundTouch and possibly other modes
  • FX: ReaTune manual mode ruler, mousewheel support
  • FX: ReaTune subdivision mode (to update at higher frequencies with larger window sizes)
  • FX: ReaPitch, new multi voice pitch shifter
  • FX: ReaEQ and ReaXComp now update undo states on add/remove of bands
  • installer: now allows selection of pitch shifters to install
  • keyboard: better handling of keystrokes when mouse captured
  • master track: can now have more than 2 channels
  • master track: can now control source channels/phase/volume/pan/etc of each hardware output independently
  • master track: better RMS metering, lots of RMS display options
  • master track: better pdc with anticipative rendering
  • master track: master fx chain no longer defaults to bypassed
  • master track: made solo/mute click modifiers not affect master mute/solo
  • master track: right click marquee works in master track (for envelopes etc)
  • master track: fixed undo with no master hardware outs sometimes adding in a default output
  • media explorer: added "Insert as takes in selected items"
  • media item properties: "choose new file" automatically updates take names
  • meters: better event light for record output (midi) mode
  • meters: updated track metering rounding to better pass synthetic tests
  • meters: better track meter clip indicator hit testing
  • meters: better metering for record output (midi) mode
  • metronome: better metronome countin for tempo changes
  • midi: MID file import can now import tempo maps
  • midi: better looking and faster midi peak drawing
  • midi: midi items are now treated as ticks/Quarter Note, except for items in old projects (which are still ticks/beat)
  • midi: fixed open copy of items sometimes dropping notes
  • midi: better sorting of noteoffs and allnoteoff messages
  • midi: reduced excess sending off allnoteoff loop markers
  • midi: fixed splitting items on notes producing 0 length notes
  • midi: fixed bug in fadein for midi items
  • midi: fixed extraneous notes at end of some items
  • midi editor: can now reflect project time signature changes
  • midi editor: grid/quantize are now fractions of whole notes, not of beats
  • midi editor: separate colortheme settings in prefs (including for piano keys etc)
  • midi editor: fixed bugs with play cursor and looped midi items
  • midi editor: better vertical scrollbar
  • midi editor: better focusing when opening/activating and switching modes
  • midi editor: internal cleanups, improved ctrl+select behavior
  • midi editor: pass through to main window keyboard action
  • midi editor: updates to list editor play cursor, better list editor sorting
  • midi editor: list editor note properties sets focus depending on which column the mouse was on
  • midi editor: better focusing when opening/activating and switching modes
  • midi editor: moving notes now uses both absolute and relative snapping
  • mixer: optional FX and Send views (configurable via the mixer menu)
  • mixer: more settings are now stored in the project
  • mixer: options are now assignable actions
  • mixer: new FX/send views are themeable (mcp_fxlist_norm/byp/off/empty, mcp_master_fxlist_ too)
  • mixer: (theme images): mcp_sendlist_knob.png, mcp_sendlist_meter.png, mcp_*list_arrows.png
  • mixer: fixed incorrect minimum height on nonstandard display DPIs
  • Monkeys Audio: fix for Unicode files, fixes for offline support
  • Monkeys Audio: fixed mem leak, fixed 24 bit stereo mode, optimizations
  • Monkeys Audio: now uses asynchronous disk reads if set
  • option: options to not show peaks for muted tracks/items, or non-selected tracks
  • option: added working set configuration in prefs/general/advanced
  • performance: portions of REAPER are now compiled with the Intel C++ compiler
  • performance: faster zoomed-in peaks display
  • performance: fixed muted folder tracks still running fx
  • performance: updated on-stop behavior to keep audio thread locked for less time
  • performance: UAD synchronous fx multiprocessing support
  • performance: improved anticipative fx processing on looped playback
  • performance: renamed fx renderahead "anticipative FX processing"
  • performance: added new "Synchronous multiprocessing" option, which allows multiprocessing on input monitoring, better UAD multiprocessing, etc
  • performance: per-item pitch shifters are now freed when they are no longer needed or media set offline
  • performance: fixed silence-at-end-of-rendering issue with asynchronous writes enabled
  • performance: more robust asynchronous disk writes
  • performance: fixed SMP rendering glitches
  • performance: fixed cpu munch when stopping at end of project
  • performance: mono items pitch shifted are now processed in mono (big speedup)
  • performance: reduced cpu use of empty tracks
  • perf meter: graph shows cur/avg, range, action to reset graph
  • project directory cleanup: now defaults to sending items to recycle bin rather than deleting
  • reamote: possible fix for Nebula plugins
  • reamote: fixed crash when invalid data received on certain message types
  • reamote: fixed support for larger config packets
  • routing: fixed labelling on hardware outs after adding routing
  • routing: renamed send type "Post-FX" to "Post-FX (V1 deprecated)", added a new, better "Post-FX" mode
  • routing: fixed i/o windows open when adjusting/removing routing bugs
  • routing: better rearoute labelling all around when audio device closed
  • screensets: added keyboard shortcut column and button to edit shortcuts
  • screensets: autosave wont save anymore when switching to same screenset
  • screensets: added auto saving option
  • screensets: fixed docker issues
  • screensets: added mixer flags saving
  • screensets: added last focused window state saving
  • tempo map: overhaul: simple tempo changes no longer force a new measure
  • tempo map: improved tempo editing behavior when editing tempo changes and time sig changes
  • tempo map: lengths calculated across timesig markers now use the time signature at the start to determine measure length
  • tempo map: more accurate tempo envelope saving/restoring
  • tempo map: small fades are no longer adjusted by tempo changes
  • theming: faster drawing, faster mouseover updating
  • theming: background for faders, window backgrounds, name backgrounds, etc support pink line for unstretch areas
  • theming: docker is now independently colorthemeable
  • theming: new default colortheme (by WhiteTie!)
  • theming: support for when path to theme dir changes on diff systems
  • theming: advanced faders can have zero line set
  • theming: configurable fonts for track panels / volpan labels etc
  • theming: track_fxempty_h and track_fxempty_v
  • theming: window drawing improvements (less screen corruption issues)
  • theming: fixed stopped resize of transport drawing issues
  • theming: fixed some playspeed automation refresh issues
  • theming: fixed some dark custom color issues with advanced themes
  • theming: better background image edge scaling when compressed to small spaces
  • theming: classic theme color tweaks (for mcp send/fx list)
  • theming: bg tinting for track labels in advanced themes
  • ui: most modal dialog boxes now restore window focus on close
  • ui: added option for gap between items on adjacent tracks (defaults to 4px)
  • ui: fixed non-fancy peaks display on muted items/inactive takes
  • ui: better envelope spacing (small gap between envelopes)
  • ui: better item loop indicator drawing
  • ui: fixed edge loop indicators on some items
  • ui: fixed zero line drawing issue on items
  • ui: fixed peaks display at end of heavily looped items at certain zoom levels
  • ui: better record mode display for midi overdub modes
  • ui: fader ctrl+precision modes hide mouse cursor
  • ui: better spacing for transport status state
  • ui: better volume fader ganging at extremes
  • ui: grid/snap boxes will now correctly display smaller fractions
  • fixed some tiny PCM-floating point import/export precision issues
  • better external midi editor support (fixes, open copy in external editor creates .mid file)
  • faster dB unit conversion throughout
  • demo song: updated mix
  • new about screen



6 Comments


September 22, 2007
hoofin..

Listening to an mp3 album and reading Deerhoof's diary (both here).. awesome. Those guys rule.

September 22, 2007
wow i just noticed...


Radiohead (my favorite band) is now selling all of their catalogue online in DRM-free MP3. WOW. This is awesome.

I might have to buy some of the B sides I don't have...

September 22, 2007
four paths to mediocrity


I've just started using my fourth mobile phone this year. They all are lacking, in mostly different ways...

The Motorola MPx 220

This phone I've had the longest. It's a great flip phone factor (which makes it very satisfying to hang up), and while it's technically a smart phone (running Windows CE of all OSes), it has good phone features (the dialing feels nice, and it's easy to look up names in the address book using the number pad). It was a pain to sync with the computer without having to use some shareware backup software, though. There was no pointing device, the data connection was a bit slow, the browser basic, but even though the screen was pretty small, you could play videos using TCPMP.. Also I like how easy it is to charge via the USB cable too.

The Palm Treo 650

I think I had the biggest complaints with the Treo (in fact, I think it's the one I'd be the least likely to go back to). From crashing silently and not answering calls, to the touch screen annoying my face, to it being the largest, the list can go on. The upsides are the huge software library (mmm the VNC client was very usable), and incredibly good battery life.

The Nokia E70

This phone (which isn't really offered by any carriers in the US) was great, and I think I may still use it. It's bluetooth support is by far the best (I used BT dial up networking + GPRS on a 3 hour train ride last month and it was outstanding), the phone has great features (WiFi, fast EDGE data, great keyboard that flips out, a good SSH client that you can leave running and come back to, even after making/receving calls or running other apps, etc). The screen is really high resolution, too, but it's a bit small (so you really have to get very close to read it). I really loved my old Nokia TDMA phones, but I think Nokia needs to reevaluate some decisions they made on the E70's firmware. For example, there's a button on the left side of the phone that opens the voice recorder and starts it recording. It's very easy to hit, and there's no way to override this function! Ack. Also there's no auto-lock after a certain amount of time, so you have to be sure to manually lock the keypad. Oh, and little things like looking up names in the contact list, with the keyboard closed, is much harder than it needs to be. The MPX220's method was far superior.

The Apple iPhone

I just got this yesterday (thanks DB), and there's definitely things to like. I dig the screen. It's about the same resolution of the E70, but oh it's so much bigger and easier to read. The web browser is fantastic. The phone is decent. The homebrew software is getting there (VNC client looked nice, but no keyboard yet? ack). Mmm, real headphone jack, too. Why couldn't they do that on the E70? And it autolocks too. Hello, Nokia? But alas, no BT DUN (sad). The touchscreen keyboard, while as good as I've seen for the type, makes me wish I had the E70's again... Oh well...

So maybe I'll start carrying the iPhone and take the E70 with me on trips (for when I need BT DUN)...

anyway

3 Comments


July 26, 2007
REAPER stuff

We've had a crazy month of development--things like Advanced Themes and a multiband compressor have been added, as well as persistent Undo/Redo, and support for multiple redo paths (!!! This is huge in my mind, and once we build an even better UI for it it will be even more ridiculously awesome).. The mac version is coming along, too... Anyway..

I was able to give a quick (19 minute) presentation to a bunch of people at the TechBreakfast NorCal "Mixing In The Box" seminar. It was a lot of fun and definitely got a pretty good reception, especially considering the audience was mostly Pro Tools users... Here are some videos:

Part 1, Part 2 (YouTube, what gives with the 10 minute limit per file?!)

But with all of this work getting done, I still miss our cat friend...

7 Comments


May 25, 2007
REAPER in Sound On Sound

Martin Walker was nice enough to review REAPER in the UK magazine Sound On Sound.. I think it's a great review and am very proud to see it. Here's a quote from the end:

    ...unless you are 100 percent happy with your current MIDI + Audio sequencer, you'd be a fool not to give REAPER a try. Don't be fooled by the tiny 2MB download: this is a powerful application that does a huge amount, is being improved on a daily basis, and already does some things better than most of the competition.

I put this quote and some others on the REAPER Reviews Page. Woo.

May 25, 2007
you care a lot about your perception when it's all you got


Today I saw a Technology Review article on eJamming, which is a service for people to jam together online. I have tried eJamming a few times, and haven't been terribly impressed (and yes I am biassed towards NINJAM for obvious reasons), but I thought I'd just pick apart what bugs me about this article (and likewise the whole situation).

    First, the eJamming software decreases the file sizes sent over the network. To do this, the company's engineers developed their own compression and decompression algorithms that shrink the file size, yet still maintain an audio quality higher than MP3, a common compression scheme, says Glueckman.
OK so shrinking the size of data does help latency, but it's not the biggest part. What bugs me here is that A) they appear to be using Speex for their audio side, which is an open format, and doesn't scale to high qualities. Do they really need to claim that they developed their own codec? OK so maybe they did develop their own codec-- why isn't this news? If it's so much better than OGG or MP3 or AAC, how come we haven't heard of this?

    Second, each musician is directly connected with the other musicians in a jam session, instead of being routed through a server. This peer-to-peer configuration "results in a lower latency by routing the audio stream directly to your jam mates rather than, on average, doubling that transport latency by directing the audio stream through a remote server," says Bill Redmann, chief technology officer of eJamming.
Wow! Connecting clients to clients! Peer to peer! This is so unique!

But what the article fails to mention here is that while this approach does reduce latency, it also increases the amount of bandwidth requires by each host exponentially. Their stuff is limited to 4 people I believe, but if you have 4 people, each client needs to send its stream to EVERYBODY else, so if they run a 50kbps channel (though it appears they're using a much lower bitrate codec anywa), that'd be 150kbps of upstream for a 4 person jam. Which isn't that bad, but it doesnt scale well and definitely requires some decent broadband.

The following quote, however, is what really bugs me:

    The company is promising to reduce the delay experienced over the network to, at most, hundreds of milliseconds (depending on upload speed and geographic distance between musicians)--a delay to which, Glueckman says, most musicians can adjust with practice.

Hundreds of milliseconds?! Are you kidding me? This is unusable. Their patented "delay monitoring of the local signal to sync with the remote" even makes it worse. I tried it with Christophe, who is on the same ISP and less than 10 miles away, and the latency was very noticeable and made it difficult to play anything remotely complex.

Imagine trying to play synchronized with someone at the other end of a football field. ugh.

Granted NINJAM's solutions aren't perfect either, but I find the increased quality and overall experience to be far superior. And the newer voice chat and session modes are damn usable.

OK OK so I didn't mean to turn this into a big eJamming vs NINJAM thing.. I just am irritated with these people being all "look we're soo innovative" and having lofty claims, yet when we use their software it's miserable (and I didn't even go into how badly constructed their application is-- application development isn't an easy thing, and in this case it definitely shows).

May 25, 2007
mac poo


I hate Xcode. Too bad I have a ton to get done using it.

4 Comments


December 15, 2006
porting frustration

(9/10 on the boring scale)

So I just spent the last day or two (I honestly can't remember) getting Jesusonic to run on OS X/x86. I already had it running on OS X/PPC, so I figured it would be easy. Wrooong...

Jesusonic works by compiling code on the fly into native assembly. It actually does this by glueing together stubs of functions (the most critical which are written in assembly for each platform) into code that it can execute. Overall the code it generates is not terribly optimized, but it's definitely not slow either.

So this is what I found in porting JS.

1) the compiler bitched about my assembly code trashing EBX. Turns out, EBX is used for position independent code (PIC) addressing. So I figured I should probably not be messing with EBX, and that the OS needed it. With a bit of additional work on the compile side I got it to not use EBX, but in the end it turned out that EBX only really needs to be preserved within functions that use it, and for my uses I really could use it. Oh well. Time wasted, but hey kinda useful. Stuff still wasnt working right.

2) Many of the assembly stubs for particular functions needed to call C code, whether it be a C library function like pow(), or some of our own code (FFTs, file reading, accessing memory, etc). Since GCC was generating my functions as PIC, the extended assembly syntax failed to assemble (ending up with assembly like "movl ((symbolname-$LABELBLAHBLAH(%ebx))), %edi", etc. So turns out MY compile step needs to actually go generate absolute addresses at runtime, instead of at compile time. Fair enough, that took an hour or so, and a bunch of testing/fixing to make sure that nothing broke.

3) And this was the big bitch, and it took me a long time to figure out. Turns out, and this is well documented, you have to keep the stack aligned to 16 bytes. I would call pow(), and it would end up trying to do an sse load/store at an unaligned address, and things would proceed to blow up. So I had to go update all of my stubs and functions to keep the stack nicely aligned, which is probably not a bad idea anyway. Once I finally got them all correct, I tried it out, and... IT still didn't work. So I ended up spending a lot of time with GDB (Xcode's debugger won't let me see registers, argh), and figured out that, indeed, the stack was aligned when I called my generated, code, but no, the stack wasn't aligned when it got to pow().

After changing some build settings, I found that with -O0, it did in fact work. So then I did some gcc -S -O0 file.c and gcc -S -O2 file.c and compared the generated code for the assembly stubs, and it seems that with -O2, gcc itself would let the stack get unaligned , as long as my stub wasn't obviously calling another function.

I looked for a long time to see if I could disable this in gcc, and I gave up, so on OS X/x86 Jesusonic will have this code for each stub:

pushl %ebp
movl %esp, %ebp
andl $-16, %esp

(run code)

leave

that way, whenever I call out, I can ensure that the stack is aligned, no matter what kind of crap GCC is generating for the function.

The better way of dealing with this would probably be to write these functions in assembly directly, or improve the code that cuts up the stubs to have it filter out the stack frame setup that GCC produces anyway, but hell I'm too lazy and this works and it's reasonably fast enough as it is. And most importantly, I get to get back to the fast, satisfying building of UI and porting of easy things.



4 Comments


November 18, 2006
back

I wish I could say that this whole time was spent on vacation, but unfortunately it wasn't. We did have a fantastic time in England for our friends Jonathan (ha) and Catherine's (ha ha) wedding, but when we got back, after a few days rest, I got hit by a nasty something, so I've been out of commission this past week. I seem to be coming back to normal, finally...

It's been nearly a week (if I get through tomorrow it will be a full week) since I've had coffee. What should I do? I like coffee so much, but I often feel so at its mercy. It also pains me that one of the top coffee establishments in the city moved into our block. I can't live here and not get their delicious nectar! Can I?

A year ago today I started at full speed on REAPER. I had done about 5 hours worth of stuff a couple months before, but decided at this point last year that it was time. Whee. It keeps getting better and better. We'll have to do something special sometime, maybe around Christmas since that was the first public release.

Umm what else? I should update this more. Oh yes my coding guide, well, I may just do a little chapter at a time, cause I wrote a bunch of it and it's all pretty incoherent and wordy, so I better spread it out a lot. Maybe I'll do the first paragraph in a post soon.

11 Comments


June 11, 2006
oops

I guess I let a month go by without updating. I've just been having a good time, what with all of the typing.. I'm still excited about REAPER, so shit's good.

I've been writing FX plug-ins for REAPER lately, too.. ReaGate is nearly done, ReaComp is almost working, ReaFir (FFT EQ) is nearly done, and ReaVerb is underway. ReaVerb will be a convolution based reverb, and will offer support for loading of impulses from files, as well as generating impulses from parameters, and combining and modifying any of those impulses.. I'm thinking of it like an AVS for convolution..

We (Christophe and I) decided that our goal for 1.0 release is sometime in August, which shouldn't be too hard to hit-- lots of work, but relatively straightforward. There are a few things that need to be done that I'm not quite sure how they will get done, but I'm confident enough that we'll figure it out...

14 Comments


April 12, 2006
and here we are.

...where to begin. Tom got married last weekend. Was one hell of a fun weekend. I was a bit worried it would be too uncomfortable, out among the orange trees, but the weather turned out great, Brennan and Isabelle brought an RV, and we all had a good time (and punched oranges).

Got to fly the little RC heli out there too, which was fun.. so when I got back I finally installed the upgraded symmetrical rotors, new motor and heatsinks, and LiPO battery and voltage alarm. Flew it inside today, though didnt do anything fancy since I'm not that good yet.

April 12, 2006
REAPER news


I heard back from Mackie, with a response that stupified and angered me. They only license documentation for the MCU under NDA to select companies (as in, not us). They don't seem to care about their customers, just their own (less than obvious to me) interests. I can only hope I don't get the same nonsense from Propellerheads, because I think people using REAPER will want Rewire more than full MCU support anyway (REAPER already supports the MCU somewhat, but without doing a lot more research it can't do all the fancy things that the MCU is capable of). Sigh. The pain of trying to enter a market that is very established and saturated. But I'm only mildly deterred. If Propellerheads *does* dick me around, I will do one of two things-- either go to Stockholm and try to convince them with beer (though don't get any ideas, guys), or just do what I've been meaning to for a while, and port JACK to Windows.

April 12, 2006
MacBook Poo


Speaking of Windows, after BootCamp was released, Steve convinced me to get (at a discount at least) a MacBook Pro. So I did. For running OS X it's pretty good, but as a Windows XP laptop it really kinda sucks. There's a few driver issues that need fixing (no backlit keyboard in windows, sound always goes out speakers, using the built in camera causes BSoD, etc), but the big hardware issue is that the Mac keyboard is lacking keys. Specifically: insert and backspace(delete). I did find some good 3rd party utility that does help a lot allows all sorts of remapping, and enabled the mac's FN key. And finally, the thing gets HOT. I guess that's to be expected with 2x 2ghz cores, but still. I got spoiled by my little Sony's 1ghz P-M that runs nice and cool (and granted, slow).

Oh yes, and southpark this week was SO awesome.

Recordings:

notthefirsttimealone

9 Comments


March 25, 2006
so ronery

...while the MSO (think LSB/MSB) is out of town. As it has been at least a couple of weeks since an update I suppose I shall give updates.

Umm, lots of work on reaper done, lots more to do. Added pitch shifting/timestretch, using SoundTouch, which makes it very nearly done, on a purely feature-based scale, the main other thing needed being MIDI editing.

I went to LA to meet with one of REAPER's biggest evangelists, where it was used in a relatively well known studio:

(to make music which, while I didn't like, I am secretly hoping for huge commercial success, to give REAPER that extra bit of legitimacy. note: the laptop was just being used as a remote display to a beefy dual opteron on the floor. the reason it is there is that while the speakers in the room were great, the studios, for whatever reasons, like having the computers in places you can't hear the speakers. duh.)

When I added SMP support to REAPER I discovered the the Waves plug-ins (at least version 5) have real issue with running separate instances on multiple processors simultaneously. All of the other plug-ins I've tried work great, but when running with Waves on an SMP system, if two instances end up processing at the same time, BOOM, it crashes. I even narrowed it down to what the code looked like (it was a function that seemed to just convert double to float), and sent them an email asking to see if they had any ideas or if they would fix. That was 10 days ago or so, and they haven't responded. I ended up just detecting "Waves" and doing a critical section around that, as a hack. LAME.

Which brings me to my next bitchpoint. People expect support for software they pay for, yet software people pay thousands of dollars for, they get crappy ass support. WTF?

Spent some time debugging problems relating to some systems (some versions of MSVCRT?) enabling floating point exceptions that are supposed to be off by default. So now I turn a lot of them on when debugging, and off on release builds. Ugh.

Have a request in to Mackie to get the real MCU documentation so I can add full support for it, waiting (though it hasnt been THAT long).

Have a request in to Propellerheads for the Rewire SDK. Been a week or two, still waiting.

anyway, now to go see why SoundTouch has to require MSVCP60.dll, assuming it is STL or something. (update: yep, updated in .931, bla bla bla)



Recordings:

brenbidernewtonmayor - 1 -- [11:55]
brenbidernewtonmayor - 2 -- [113:38]
brenbidernewtonmayor - 3 -- [72:21]

4 Comments


March 8, 2006
wheeeeeeeeeeeeeeeee

So I managed to hack SMP support into reaper today. Turns out the initial getting-of-it-working was easier than I once feared, since I had a nice track buffering system already built for the send system. Now the tedious part, making everything work as expected, I just know there are going to be tons of very small things off that will make everybody very unhappy at some point or another. I could go off on a rant on how you give people millions of bits, and if only one bit is wrong...

I've been busy as of late, moving my office/workshop to a new place here in SF, but as it settles down I think I'll be getting back into the groove more (though in all honesty I do seem to end up programming way more than is probably good for me).

At this point I'm still excited about reaper, though I am also getting a touch burnt out. We're coming up on 4 months of work! Let's see, aside from fixing tons of crap, the real things left for 1.0 are midi editing and event pitch/stretch. mmmm. How long will it take? Another 3 months? MIDI editing is a problem I've only gotten far enough in thinking about to fear it, since a good MIDI editor is going to be a very extensive bit of design...

Before I go, here's an mp3 that I just rendered, that was me piling on as many effects as possible, to test how great SMP is. What was particularly enjoyable is that I went to render it to disk (which is still single-threaded), and it went at 0.7x realtime. Yay, this makes me REALLY love my Athlon64x2.

Recordings:

freeform jam with brenchr

10 Comments


February 4, 2006
suppose it's time for an update

I woke up early this morning, after Allison left with her stack of cake, due to the PG&E guy reading the meter. Couldn't fall back asleep, but I didn't try too much. So today will be a long day, of which I suppose I don't have enough.

I did some arrangment/editing of this song last night with REAPER (Dave Wiener sent me those amazing vocals to work with). It really worked well. It's exceeding my expectations as far as what it can do. There's still so much to do, though. So so much. I'd say 1.0 in june would be plenty of time, though. if I don't get too tired.

5 Comments


January 24, 2006
me brain is so fride

... but I posted REAPER 0.50, which has some pretty awesome auxiliary send functionality, as well as hardware output support, that I dig. and there's still so much to do! sigh. the todo list grows faster than I can keep up.

It will be interesting to see Acid 6.0. Before I started writing REAPER I wished Acid did multitrack recording well. But now it's too late, I'm committed to this. It's been 9 weeks. I'm so tired. But happy.

I ordered a real Mackie Control Universal, so I can support it. REAPER works great on my BFC2k in MCU mode, but apparently a real MCU doesn't like it. lame.

Everybody who has been sending in suggestions has been so helpful. It's really a lot like the old Winamp days, except people are REALLY passionate about what they want, which is even better. I just have to sort through it and find the best ways of pleasing myself (that sounds naughty) and others equally.

At any rate, REAPER v1.0 seems so far away now, but the prospect of making literally HUNDREDS of dollars, ~$20 at a time, seems so exciting. That's a lot of burritos. Why did I say I'd go to 1.0 before going shareware?

2 Comments


January 12, 2006
control surfaces and REAPER

So the control surface support for the Behringer BCF2000 was easy to do, now I'm doing modes for HUI and Mackie Control (using the BCF2k in emulation modes for it for testing).. if anybody has any documentation for HUI/Mackie MIDI protocols it would be helpful, for now I get to do lots of sniffing of the protocols and whatnot, which is less than ideal...

In general it works really well, and I'm very impressed with the quality of the $200 BCF. If any other manufacturers want to send me units, it would help too, haha.

I'll probably post 0.45 by monday or so which will have support for surfaces.. and maybe a few other things (depending on how much time I make to do them).. ogg (and maybe lame) encoding is a big one I'm planning on doing soon. Does lame_enc.dll support multiple simultaneous encodes yet? last I checked it did internally, though the bladeenc api didn't support it...

The biggest thing I'm planning now, though, and almost have figured out, is the automation recording, so you can use sliders and/or control surfaces to record envelopes. The code for this will be relatively straightforward, the UI for how to present it in a sensible way is the most difficult, I think. That and I gotta do DX/VST/JS parameter envelopes, too.

Anyway. Brennan and I saw that crazy (in an amazingly good way) 11 string bass guy at Guitar Center last night. I am still totally in awe.



2 Comments


January 10, 2006
and 0.44

(of REAPER)... is up.

The biggest single thing in it is that I made a nice system that buffers all source material in another thread, so the audio thread doesnt have to wait around for a slow network device or disk, etc (well, it still might have to, but it's a lot less likely). All of the effects and mixing of tracks still run in the audio thread, though that may change eventually, but for now it makes sense (since you may be monitoring an input on those channels, and would want to have the effects applied on there with as little latency as possible). At any rate, playback is now a LOT more reliable, with less little dropouts. It took me a few days of thinking to come up with this compromise, and a few hours to code it, but I'm pretty happy about it, thus far.

The other thing of interest is I made a separate position and playback cursor, so you can see where actions such as splitting will take place (or where you will start playback if you hit play and you were stopped). Makes a lot more sense now.

And there's a bunch of other small things (MIDI peaks now show the approximate notes/durations/etc), VST latency compensation, bla bla bla.

I picked up a $200 Behringer midi/usb control surface, going to add support for it tonight I think. Initially the faders will just map to volume sliders (and be controlled by them), but eventually there will be automation modes, I'm planning (automation will be supported with or without a real surface, that is, mmmm).

So much to do + no deadline = happy justin.

Comment...


January 7, 2006
too much data (and cpu)

Got a bit frustrated this evening with the amount of data that I've made myself deal with. There's just so much of it. The mp3 collection and photos are so small and manageable, and the full recordings of all of our jams and rehearsals are somewhat tolerable, but in keeping all of the NINJAM recordings that we host, too much data gets created. And for some extremely stupid reason, I insist on trying to keep it all. And what's the point of keeping it unless you do it redundantly. and I don't just mean on RAID. I mean on RAID, and on another drive, preferably one that doesnt spend all of its time over 100F, etc. So much data, bleh. Nevermind the data that is less big, but scattered around (backing up web servers like this one, cvs databases, etc). There's a lot of irreplaceable bits out there.

Oh yeah my other complaint was that in processing the NINJAM autosongs it ends up using alittle of CPU on my main workstation (which has plenty of CPU to spare), but uses way too much disk bandwidth. So I'm setting up a box just for that processing.

Back to my first paragraph, perhaps it just makes sense to say fuck it. You can't keep information forever. Or if you can, it's not worth bothering. If only we had our 100gb blu-ray recordable discs. if only I can hang on til then, I'll be able to put everything I will have by then on 20 of them or so. times two. plus the online (RAID) version. sigh.

I guess it's not really that much data.. I mean, everything fits within my 1.2tb array. so maybe I should just get another, and keep them synchronized. and set up rsyncs to backup other stuff to them. or just keep getting more firewire drives for the seocnd copies. rOn got one of those usb->IDE cables, that might be a good way to go, and just buy a few 400gb IDE drives..

4 Comments


December 21, 2005
Friday should be the day

El nuevo screenshotto (I know, I know, bad):

Won't be long now. The general todo list is still quite large, but the number of items that need to be done before releasing is quite small (really just a few).

It's so satisfying working in an environment where doing new things is easier than I expect; it makes me happy to get things done quickly, and happier that I created the workable environment to begin with.

I'm hoping I can keep REAPER feeling as sparse as I feel it is now. I might be biased, but it feels less cluttered than a lot of other audio software, and I think that's a really good thing.

Steve kept comparing shit to garageband and telling me how I could probably take ideas from it. I'd used it some before, but today I fired it up (well, spun it up is more like it, since I have an ancient 667mhz mac), and was thoroughly disgusted. I honestly don't know where to begin. Basically, everything UI about it sucks. The audio end of it seems decent, though it's painfully slow on my G4. Anyway. Back to bitching about the UI-- It has a ton of buttons that have tiny little icons that it isn't really obvious what they do, and there are no tooltips or anything to help you learn, you really have to click, figure out what happens, etc. So lame. And when I drag a nice loop into the project, I can't just resize it larger and have it loop, it makes me go drag a second copy of it. lame x10. anyway.



Recordings:

satanslovesong

6 Comments


December 4, 2005
things progressing

The new project (REAPER) is coming along nicely, getting very useful. Hopefully something fairly complete will be ready before Christmas, that's my goal at least. Christmas presents for all. It seems the fall is a productive time for me, often. Though I think I need to take a few days off of it, having spent about 2 weeks of solid work, well, has taken its toll.

Flew a new collective pitch R/C heli for the first time today, woot. It's really amazing how the technology has come along since I was a teenager. Also, Brennan got me RealFlight G3 for an early christmas present, and it's pretty awesome (aside from the complaints I do have, it's a tremendous amount of fun).

Brennan and Biderman and I had a nice jam today. It's so much fun, especially when we are able to pay attention to what everybody else is doing and adapt and coordinate stuff. Coffee seems to help a ton, too. In general, finding myself more able to play lots of different things is very satisfying and fun..

Recordings:

freeform jam with brenbiderman

9 Comments


November 27, 2005
a new project: multi-track audio editing

OK so I've been spending the last 9 days or so writing a new program, called REAPER (which stands for something along the lines of Rapid Environment for Audio Prototyping -- but I just like to think "don't fear it" or "reap your harvests" or whatnot).

Now I know, there are many products that fall into this category, ranging from crappy open source to not so crappy open source (requiring linux) to crappy closed source to super insanely expensive hardware-dongled closed source. So why am I writing yet another editor? Because I'm making something that fits the category of being exactly what I want to use. It's mostly like Vegas (without the video capability), but with features that I always wish Vegas had.

I will be posting some alpha builds soon, but in general I haven't decided on how to release it. I'm really tempted to do some nag-free shareware again. At the very least it will have very sensible public plug-in APIs that make it easy to extend, and maybe it'll go open source too, I don't know. We'll see. For now, here's an image:

There's a lot to do, which I'm excited about, but it's already quite usable, and already does things well that other software I've used does poorly. But now, I need to go do everything else. Fun fun fun. Stay tuned, I'll be posting the alphas in here, and hopefully a v0.9 beta type release by Christmas. The biggest obstacle I face is DirectX and VST plug-in support, since the APIs for hosting them seem to be a pain (well, DirectX, anyway, I haven't looked at the VST hosting API yet) . At the moment I just have Jesusonic integrated, which is super easy (since it has a reasonable API that doesn't require the disgusting monster that is DirectShow). Keep an eye on the comments of this article if you are interested, I'll likely just post links in there...

Finally, NINJAM users, expect a new release of the Windows client in the not too distant future, with some of the improvements to the audio system I've been making for this. Specifically, increasing the accuracy of the timing of the recorded loops (currently it's not too far off but it could be a lot better).

8 Comments


November 4, 2005
so ronery

...but had some fun when I got a small cheapo R/C helicopter, and made this little video. Now if I can just learn to try not to impress the camera...

1 Comment


October 31, 2005
coming back to life

Had some weird terrible nastiness that I don't what it was. Some sort of flu or food poisoning or some shit, bleh. There went the weekend. At least I had a wonderful wife(!!) to take care of me.

The video from the show is up, currently in three formats (CAUTION: if you lack a sense of humor your probably don't want to watch these): high quality xvid/mp3 AVI, low quality xvid/mp3 AVI, and as a flash video on youtube. Thanks to Newton and Penny for videotaping it. Overall it went pretty decently, we all fucked up a fair amount, but nothing too catastrophic. Forgot to play a Led Zeppelin cover, though.

10 Comments


October 11, 2005
tastes etc

After reading this comment (from this page): "Dungen were great 60's fun when playing their "proper" songs, but again jumped into too many instrumental jams with flute solos and the like. They need another album of actual tunes to round out their set, IMO."

Funny how different tastes can be.. When I've seen Dungen live, I liked the album songs fine, but the instrumental freakout jams with flutes and everything were JUST INSANELY GOOD. They would stop playing at the end, and I'd want more. MORE!

In other news, I did some more flights of my R/C plane, and recorded this video. I can feel the novelty wearing off (of the video aspect), I wonder how long until I am flying and not videotaping it... Oh yeah, here's my self portrait...

Let's see, what else? I fixed the sustain pedal on the Rhodes I got, seems one of the pins holding the long thing that pushes the dampers down was missing, so I just cut a bolt to fit and reinstalled, and it works like a charm. Woot. Tsk tsk Darren or whatever your name was for selling me this without the sustain rod, so I wouldn't know (just kidding I'm sure he didnt know anyway).

OK so here's something that might actually be interesting to people who read this: I'm planning on GPLing Jesusonic. It's about that time (if anybody has any question as to why I would choose the GPL instead of a BSD license, see my previous article).

Finally, here's a little (extremely rough) take of a song that Dave Wiener and I made back in August, using a poorly maintained (but still lovely) grand piano.



3 Comments


October 9, 2005
(Perhaps Obvious) Thoughts On Being an Individual Software Developer (Part II)

Part II - Making Open Source Work

From my experiences, there really seems to be a right way and a wrong way to begin an open source project.

The Right Way

    + If you haven't already, write a usable working proof of concept of your software.

    + Do NOT create a sourceforge.net project for your software (see below).

    + Make a simple web page for your software. Provide downloads for the source and (if it runs on Windows or Mac) binaries. Perhaps even bundle the source with binaries, if it's not too big.

    + Put an email address on the web page with a link that says "send updates/patches/requests/etc to ". It often is also useful to put a list of things that you are intending to add, i.e. a "todo" list.

    + Continue to update and USE your software.

The big push here is that a sourceforge.net project should only be created for a project once it has enough people working on it to warrant it (i.e. more than a few).

From my experiences it is much easier for developers to get involved with a project if they can download a source tarball or ZIP file, make their changes, and send them back to the project owner, who can then merge changes appropriately. While the project owner should definitely be using some sort of version control, setting up a CVS server for other contributors isn't really that important, at least until other people start doing a very big percentage of the work, and having it as the recommended mechanism for access initially is a really bad idea, because the barrier of entry is higher.

The other things I suggest are:

    + If you use other SDKs/libraries, include a text file with the names, versions, and (preferably) download links for those SDKs/libraries.

    + Try to use only the most common libraries, to make it as easy as possible for other people to run and build your code.

The ideal scenario is, you create the initial version of software and thus begins the cycle:

    + Someone finds out about your software

    + That person wants a particular feature or functionality, so they add it

    + They send you a patch, you merge it into the main release

    + Repeat.

That's really all there is to it. Later on, if you have many people actively working on your project, you might want to consider public CVS etc, but even that isn't really that helpful, as you'll only want people whose code you trust to have commit access.. anyway, hope this helps people! I know it might obvious, but hey, that's why I named this post what I did.



1 Comment


October 7, 2005
I love it when shit works

So I built my power filter for the camera in my plane out of a 1000uF cap and a 2.2ohm resistor, and behold, it worked like a charm. It was extremely windy today (really bad), but I couldn't wait, so I found a field that was at least mostly empty (Balboa Park), and did a couple of test flights. I had to fight to keep the plane in control, the wind was so great and gusty, but I managed to (most of the time). Using this recording setup, I managed to take this lovely video (about 15mb, XVID/MP3 AVI) of 2 of the flights. Tomorrow I hope to do some longer, more controlled flights, if the air is calmer. Woohoo! So much fun.



13 Comments


October 6, 2005
plane stuff

Test flew my RC plane with camera mounted in it today, was fine. Balance good, weight not too bad, added power draw seemed OK, etc. Didn't have the receiver for the camera, though, so I don't have any video footage of it.

The main thing left to fix is that when the motor is on, the power gets so noisy that the camera starts fucking up. So after researching online, I've decided to go to Radio Shack in the morning and buy the appropriate resistors and capacitors (well, just one of each really), and build a lowpass filter. Judging by how the video looks when the noise is there, it appears to be correlated to the speed of the motor (the motor probably spins at upwards of 2000 RPM), so it seems relatively easy to build, say, a 30Hz lowpass (which using a 2.2 ohm resistor and 2200microfarad cap will give me a (workable) voltage drop of 0.2 volts, at 80mA load), which will hopefully take care of it. I'll buy some variety of resistors and capacitors to tweak the filter once I see how it works, too. Fun fun, math meeting electronics, mmm. I'm not sure what the frequency response curve is for a lowpass like this, so I'm shooting really low. Anybody have any experience with doing this? :) I guess I'll find out if I'm completely wrong...

Comment...


October 6, 2005
(Perhaps Obvious) Thoughts On Being an Individual Software Developer

Part I - Choosing a License

Disclaimer: I am not a lawyer, these are my thoughts as a software developer.

For me, there are three basic licenses I consider when I'm releasing a piece of software.

1. A Proprietary License

This often seems like a safe first step--keep the source code to yourself, let people use binaries, etc. I'm not aware of any "standard" closed-source licenses one can use (are there any?). So it seems a lot of people end up copying other peoples (expensively crufted) legal text, which may or may not be that good, and raises copyright questions for the license itself.

At any rate, releasing software with a proprietary license has benefits, especially since you can completely monopolize the software, giving you potentially more opportunities. You can always open source it later, too.

The drawbacks to keeping source private are obvious, though. You can't get people to work for you for free! (See Part II, below)

2. General Public License (GPL)

When I want to open source my software, and also want to ensure that any derived versions of my software remain open source, I'll usually choose to use the GPL.

Contrary to what many people seem to mistakenly believe, by releasing your software GPL licensed, you do not give up any ownership or other rights. While you grant other people limited permission to your code, you still have rights including the right to license your code under other (potentially lucrative) licenses as well.

Licensing the software under other licenses does get more complicated once other peoples contributions find their way into your codebase, though. If you intend to license your GPL software under other licenses, you will want to control who can contribute to the codebase (See Part II, coming soon), and work out agreements with them.

3. BSD-like license

Using a BSD-like license on code makes it available for everybody to use, with very little restriction on what they can do with it or how (usually the main stipulation is how credit is attributed). It's really not too far from making the code public domain.

The upshot of a BSD-like license is that you (and everybody else) can do just about anything you want with the software. When other people contribute code, they're giving you that permission as well.

The downside of a BSD-like license is that someone else can take your software, and go make it (via big modification, or slight modification and promotion) into something huge-- and all you will be entitled to is a small credit. Now, the reality is that this could happen if the software was GPL licensed as well, but at least then you'd get access to the modified source code.

Conclusions

Ultimately whatever license you choose someone can always go and (rewriting if necessary) make something big out of your software, so (I keep telling myself to) worry more about the upsides and less about the down.

Proprietary licenses are really good for software where you feel you (or your close associates) will be working on the software a LOT, and want to maintain complete monopolistic ownership and control. This is very attractive to many people (myself included) for a lot of projects. It is completely respectable in my opinion, as long as you feel it is justified.

If however, you feel like a project would benefit greatly from having other people contribute, and the project has potential to be bigger than you've made it already, using the GPL can be a good choice.

I find BSD-like licenses to be good for licensing of libraries (or any other software that you generally want to be used as widely as possible), since people can link (and optionally compile) them with their projects, and not worry about the terms. Take zlib, which is used everywhere, or jnetlib, which isn't used as much but I'll mention for selfish reasons.


Coming soon: Part II (or: how to get other people to work on your open source project)



4 Comments


October 5, 2005
musica es muy divertida

Tuned the piano some more today, most everything had gone flat, no doubt due to the wood adapting to the new pressures of being in tune. Lather, rinse, repeat. Here's me and Biderman jamming with the piano and drums a couple of days ago. mmm. And here's me by myself today.

I'm starting to write a individual software developer's guide to software licensing and open sourcing, at least thoughts and tips from my experiences. I should be posting Part I (choosing a license) tomorrow, and Part II (how to make worthwhile open source software, i.e. how to get people to contribute etc) soon after. I know there may be other guides, but this will be my take (AND I AM RIGHT, DAMMIT! JK).



Recordings:

freeform jam with bren

1 Comment


October 4, 2005
bleh

Feeling oh-so-assy.

Here's the halfway done Tunnel Vision app. Need to do the background image modes and an installer and I'll be pretty happy overall.

Got the piano fully tuned, though it's pretty off (I guess tuning strings flattens the others, when it was used to being so far out of tune), so I'll probably go tweak it again soon. Biderman and I managed to record some stuff with it, but I fucked up and haven't put it online yet. It sounds approximately halfway decent, which I'm happy about.

On friday I also cleaned a couple years of gunk from the fretboard of my guitar and bass. Yuck. I guess playing in a dirty garage has its downsides. Anyway...

Once I finish the tunnel vision app, going to make my Jesusonic/MT (multitrack)... a Jesusonic that's good for doing live performance, setting up loops etc. For making crap like this or this.

Comment...


October 2, 2005
logo, music, etc

Saw Dungen last night, for their second SF show. Totally ruled. Wish I had a bootleg.

Also got the piano almost tuned. Tomorrow I'll spend another hour or so and it'll be in rough tune (then if I'm feeling it I'll go tweak it into even less bad tune). Yay. Sounds like a piano now.

I ended up using that last Cockos logo for the web site. Yay. I prefer it white on black, too.

And finally, decided to go ahead and finish the old TunView proof of concept I made over a year ago into a more complete application. Woot. Should be a day's work, and it's kinda useful (paranoia, mmm).



1 Comment


September 24, 2005
piano workin

Spent a few hours carving/painting/attaching new black (sharp) keys for the piano today, woot. Also started tuning it. I ended up killing my fingers (blisters and whatnot) since I lacked proper tools, but it started to take shape. I didn't break any strings, even (though Biderman did, haha). So this evening I ordered a tuning kit, to aid in this venture. I know, I should just hire a professional, but A) I'm not sure if this piano is worth it and B) I'm going to wait until the piano is in a (more) climate controlled environment. Tuning wouldn't last long where it is now. But tuning it myself is proving to be very fun, and you get some really weird sounds at different times, when you have each of the strings for a note off the right amount, the harmonics are really fascinating. Anyhoo...

Recordings:

crapaloneacoustic

2 Comments


September 7, 2005
busy day

Somehow I managed to get up at 7am today, drink some coffee, and do a bunch of
things.

A year ago I bought little foam R/C ready to fly parkflyer from parkzone, 
called the F-27. Today I finally got my shit together and went to fly it. 
And much to my relief, I still had it (it being R/C flying skills, heh). Was 
quite a bit of fun, and that plane is so light and has so much surface area
that it's really quite entertaining, you can get it moving and then burn off
so much speed nearly instantly. So after my first couple of flights (at a 
baseball field in Potrero), I cranked up the control throws and went to 
Golden Gate Park, in the wind, and flew it some more. Fun fun yum yum. When
parkzone's 3D flyer comes out, I'm so getting one.

We had a pretty good rehearsal/arranging session today, too.  A big difference 
from the nearly 4 hour drunken jam on sunday.  I have to say, I've found that 
after playing a lot in NINJAM, playing in person is so much easier. In many 
ways, NINJAM makes for good practice (like training at high altitude, etc).


Recordings:

freeform jam with brenchr

5 Comments


August 12, 2005
mmmsmp

So I finally got an Athlon64 X2, and whoa, I love it. I had to get a cheap
PCI-E video card, though, because the integrated video didn't like the dual
core chip AT ALL. Was sorta a pain in the ass, but it's all good now (though
I'm out another $60 for a crappy X300SE). Whenever I'm running lots of stuff
(including autosong which loooves to chomp CPU) and I see the combined CPU 
use go above 50%, it makes me giddy. And everything UI stays so reponsive.
The other big thing that I appreciate is when some buggy application with
a high priority thread chews 100% CPU, I can still kill it trivially. This
has already saved me a couple times today. On a sour note, it seems my little
ST20G5 is slightly noisier with the added load of the second core and the 
video card (which is passively cooled, though), but is still quite quiet.
I've just gotten very spoiled.

August 12, 2005
songwriting

I started writing some lyrics for some music I wrote a month or two ago ("sparseish") today. Once I have inspiration for a song, and the music done, I find it pretty enjoyable to write the lyrics themselves. Now if only I could sing. Oh well, I'll enlist other people to help. Or wait, tons of people, maybe even. Here are my two initial versions crappy and crappier. Here are the lyrics as a text file. If you want to sing on them, go for it, just send me a copy. :) Just note that you should take liberties with the timing, melody, and the lyrics themselves (I'm really interested in what other people will do).



3 Comments


July 19, 2005
funny

Terrible is this. Not only is it stupider than stupid, they 
misspelled Shawn Fanning.

Saw some of Beck's show last night at Bill Graham Civic. I guess I've been 
spoiled by bands like Dungen, The Pixies, and Radiohead. Bands that know how
to do a proper live show. Beck's was just uninspiring, which I should've 
predicted, having seen him play SNL recently. And what's with the useless guy,
anyway? I can see the humor in it, but only to a point. What a lot of crap.
And all of the music, at least the parts not just played as samples by a guy
hidden way in the back, was a bit lacking in energy and execution, compared to
the album versions. It seems either Beck isn't that great of a guitarist, or
just doesn't try when playing shows... (OK so the tons of drums up on stage was
cool, but I didnt feel like they were properly used, and Beck doing his own 
little playing of them at the end of a song was kinda pathetic.. ugh)

Anyway. We've released NINJAM as GPL software. Yay. Rejoice.

The power supply for my Shuttle ST20G5 died. Their tech supprot number won't call
me back, so hopefully I can manage to order a new PSU for ~$60 from their sales
office sooner rather than later. They were supposed to email me a order form, 
but I'm still waiting for it (hoping it's taking its sweet time coming through
the spam filter).

Bleh.


Recordings:

how i feel now

7 Comments


June 13, 2005
recovering from an extraordinary weekend

Ah, the two day hangover, ouch.
Note to self: quit trying to reclaim your teenage yaers of not drinking by 
shotgunning MGDs. Although it's funny as hell, there's just nothing right
about it. Nothing. And although it all got consumed, one 30 pack would probabably
have been enough. Really.

We just had a lovely ninjam (my favourite parts are at about 30:00 and 
42:00 or so). I can't help but feeling very elite due to having so much code in
there that made shit work (specifically, the idea that I wrote the drum 
sequencer, ha ha). 

Anyway, gonna take our time a little before releasing NINJAM, but if you can't
wait try coming to irc.cockos.com, #ninjam. and you might get involved. If
you have windows, make sure you have ASIO drivers that Jesusonic works with,
and if you're on a mac, try out the Jesusonic version on it and make sure it
works, too.


Comment...


June 6, 2005
woot

Yay for Apple and the x86 announcement.

So I think it's about time to share info about the new project (for a while
I was unsure if it was going to even be useful, but after this afternoon's 
playing with it, I'm completely hooked). It's sort of half multiplayer game, 
half music production tool:

Brennan and I are working on software called Ninjam*, which allows a small
group of geographically challenged people to play music together. Because
latency is so important in playing music, existing voice conferencing 
over IP really wouldn't work. So instead, we decided to just make latency
bigger, not smaller. Latency in Ninjam is measured in measures, and that's
what makes it interesting. When you play, you're playing along with the
previous intervals of everybody else, and they're playing along with your
previous intervals. If this sounds pretty bizarre, it sort of is, until you
get used to it, then it becomes pretty natural.

We'll go into the architecture of Ninjam soon, and describe some of the 
more advanced upcoming features as they get implemented. I suppose this should
actually go on the Ninjam web site, but I'm too lazy as of yet.

Here is a little jam we had today with people from IRC (it comes together 
towards the end).

* Perhaps it should be NINJAM: 
     Novel Interval-based Network Jamming Architecture for Musicians


16 Comments


June 5, 2005
more on codecs, and maybe some mention of cats

So after spending quite a lot of time getting LAME/mpglib tuned for my
app, it turns out mpglib doesnt handle having multiple decodes going
at once (despite having a context pointer etc). LAME. REALLY. So after
looking around for any good solid (<=LGPL) mp3 decoders, and not finding
any, I started trying to use Vorbis again. My main problem was with creating
a Vorbis encoder taking too long. Well, when I went to get a burrito tonight,
I realized that I shouldn't be encoding samples as they come in, but rather
just when I get a chance. So with a mild architectural change (that took about
30 minutes), I got it all working nicely. Vorbis is really ideally suited for
this app (which you will be seeing shortly), on many levels, and above all
the fact that it's free goes a long long way.

Now I've been talking shit about APIs some, lately, and I just want to 
state that while I don't think I'm an expert on making great APIs (god
knows Winamp's API is a handfull), I do know a good API when I see one. :)
I managed to do a good one for Jesusonic, that allows me to integrate 
Jesusonic processing with other apps extremely easily (including the new
app)-- in making the DirectX plug-in the only challenge was making the
DirectX plug-in. Not integrating Jesusonic into it.

I'm very tempted to go make a version of LAME that has a very clean and
sane encoding and decoding API, as well as tuning the mpglib that comes with
it to support multiple decodes, much better frame synchronization (Winamp's 
got as solid as it did from just a few good tweaks).. it's very tempting, 
cause I often find myself wanting to support these things. Then again, maybe
I should wait until the MP3 patents run out, since I live in the USA...

Yay for Vorbis...

The other thing to note, is that the feral cat who adopted us rocks. Last night
we were watching a movie, and we heard this noise. I went to look into her 
little doghouse, and it looked like she was shredding the crap out of her bed.
I was thinking  "wow she must be restless or something", and I went out to 
survey (and perhaps clean up) the damage (scaring the cat off in the process),
only to find that she was just pulling her shedded hair from the bed, cleaning
it. IT made us feel bad that we didn't clean it sooner, but all was well once
we cleaned the hair off, and ran it through the washer and dryer, to give the
kitty back her clean bed. It just really impressed me, that's all.

And one final thing, with all of the rumour going around about Apple possibly
announcing switching to Intel architecture chips tomorrow, I'd just like to
point out the following:

Whether or not it makes business sense for them to switch, the actual process
of switching won't be that bad. Porting applications from OSX/PPC to OSX/x86 
wouldn't be that big of a deal. Getting everybody to use the updated APIs, 
and gcc for compiling, was the huge step. Apple may even have planned it, for 
all we know. API changes are a much bigger headache than instruction set/
endian changes. At least from my experience in porting software. Then again, 
99.99% of the code I write is endian-nuetral on the first take, so maybe I'm
smoking crack (but I doubt it). I'd really like to hear that Apple announced 
that they were going to use Athlon64s. AMD has really blown me away. And I'm 
going to order my A64X2 4400+ soon (HELLO, BIOS UPGRADE).



1 Comment


June 4, 2005
Burgers, APIs, and processors

In reverse order. My 2.4ghz Athlon64 will encode 48khz stereo WAV to 192kbps
MP3 at about 15x realtime. My 2.8ghz P4 does it at 11.5x realtime (both using
LAME). Sweet. That's 130% the speed at 85% the clock rate. Or about 1.5x more
shit getting done per cycle. Yay, and dual core A64s come out in a week or two,
I can't wait.

I spent some time integrating OGG Vorbis support into this new app that 
Brennan and I are working on, and it is sorely lacking in one respect--
the API for using it. Complete pain in the ass. They need to have a simple
encode/decode API, much like LAME (though I have a beef with LAME's API, too,
see next paragraph). Instead you have to deal with the gory details of the 
OGG format (OK so you can use the VorbisFile API, but it has its own complexity
issues, especially if you are dealing with streamed content). 

So then I also did some stuff with LAME, and they need to (at least on the 
Win32 side) provide a nice clean API as well as the old BladeEnc compatible
one. And lame_enc.dll includes mp3 decoding support, yet they don't expose 
any of it. So instead I have to do a 10 line patch to lame_enc.dll and have 
a custom dll to get it to work! (I will be sending them the changes for 
hopeful inclusion shortly)...but once I do it's good times and works.

There's a place down the street from here that I go to from time to time for
drinks and burgers, and I used to think that their burgers were really good,
but now I'm realizing they are only good if you have exactly the right amount
of alcohol-- too little, and you realize how overdone they are, or too much
which leaves you like I feel now-- bloated, nauseous, and feeling like you 
want to die. With burps that remind you why. Ugh.

Finally, I'm happy to see AOL open source AVS/Milkdrop/NSV/Ultravox. Woot.


1 Comment


May 19, 2005
christophe, however, can sing

As evidenced here.


1 Comment


May 4, 2005
show videos

Our show last night went pretty well, we had a very good time. We were lucky
enough to have two friends (ok ok more than two) there to videotape, so we
edited together this little video.



4 Comments


May 1, 2005
h2g2 and MORE!

Woot only 2 days til our band plays. Excitement in the air!

Saw The Hitchhikers Guide to the Galaxy movie today. Was pretty good.
I understand that some of the changes were necessary to make a good movie,
and that's fine, but I do have a few gripes over particular things. But in 
the end, I think it's a good movie for what it is, and definitely enjoyed it.


2 Comments


April 14, 2005
the skulr is almost done

It works now! All that's really left is to build the detachable footboard!
Yay. Here is a picture of the internals (what a big mess of wires, I know!):

...and the front:

...and here is an MP3 I made quickly with it.


Recordings:

onetakecrap

4 Comments


April 2, 2005
it's late (or early)

It is quickly approaching 5 in the morning, and I just got home. After seeing
a midnight showing of Napoleon Dynamite, and a spirited rehearsal turned jam,
I decided to ride my bike the mile or so home. San Francisco SoMa and Mission
is awesome at 4 in the morning on a bicycle. Nobody around, quiet, concrete 
playground. yum.

Also, I got some Etymotic 6i headphones for free (SV100 or whatnot), and while
I'm not completely sold on their everyday use for me (a bit itchy at times),
they are fuckin perfect for band practicing. They block out so much sound,
and when you mix in the monitors, feel really natural. OK they are good for
planes too..

The highlight of the jam we had is this song of epic proportion (or should that be 
plural?). Listen to the whole thing (start to finish) if you want to get it. 

Really.



Recordings:

freeform jam with brenchr

1 Comment


March 27, 2005
the Jesusonic SKULR is born (name pending)


As a followup to the last post, here is a picture of the new Jesusonic model in development. 
It's considerably smaller than the CrusFX 1000, and has plenty of room to shrink even more 
for the production model. This is the secular alternative to the CrusFX, and has other 
advantages. This one measures about 21" wide, 9" deep, and 3.25" high. I am pretty confident 
that will be able to be more like 8" deep and 2.5" high soon.

On a personal note, it's very satisfying going through an interative design process, learning as
I go, and realizing "hey, the next model I can make it even smaller." 

I think this model is going to get stained, as well. yum. The screen and keyboard will be recessed
into the top of it, the knobs will be along the front of the top (and they will be protected if
I get my way), the CF slot will be on the right side, all the power and audio i/o will be on 
the back, and the right side will have the footboard and expression pedal ports.

Soon I will be building the custom boards for this model. I set up a new little desk just for 
soldering and testing. fun.
 
I still need to find a nice compact backlit keyboard. help.


4 Comments


March 25, 2005
jesusonic updates

What's going on with Jesusonic:

  + jesusonic.com was down for a bit, but is back up now. the forums will
be back up shortly. the user submissions database was restored from an old
copy, so submissions that were from the last 2.5 weeks are not up, but they
will be back in the next few days too.

  + I've decided to use the Jesusonic prototype #1 (pictured on the web
site and whatnot) for our band's second show, which should happen in May 
here in SF. This will be the Jesusonic's stage debut! I'll post details of the
show once the scheduling is finalized.

  + I've begun construction of a secular Jesusonic prototype, which will be
slightly larger than the Pod XT Live, and will feature a detachable footboard,
8 assignable knobs (4 rotary encoders and 4 pots), balanced outputs, two inputs
(both hi-z and lo-z) and other refinements. For this prototype I'm moving 
from Basswood to 1/4" cabinet grade plywood, but I'm thinking I'll get 
some ABS cut from TAP plastics if this design works well. In the mean 
time, I've been reading up on my scrollsaw technique, so hopefully
I can go make some nice clean straight cuts. Pictures will follow shortly.


Comment...


March 18, 2005
getting our band practice on

So Brennan Christophe and I decided that we're going to play a show in May,
so we've started practicing, and here are the relevant cuts from the practices
of our songs, in case anybody wants to hear:
  + from today (m3u playlist)
  + from 3 days ago (m3u playlist)
We have a long way to go, but I totally dig these so far. I'm not sure I know of
any other bands who make everything they ever do available for people to stream
as it is produced.. kinda fun, not sure what it really means though..

Congrats Tom, too, if you ever read this (doubtful).

Got a $329 Dell 420SC server (paid the extra $99 for the P4 instead of a 
Celeron), getting a bunch of RAM for it, so it'll be like $500 for a 
P4 2.8 ghz server, 160gb SATA disk, 2GB RAM, and GigE. Not bad. Oh what
will I do with all of the power?? I'm so used to this P3-500 with 512mb...
(this is for a name/mail/web server, in case you're wondering)


Recordings:

freeform jam with brenchr

6 Comments


February 27, 2005
poo

OK so last week I updated Jesusonic to 0.99, it's up and has a few nice little
improvements and a bugfix or two.

The other thing I want to note that I wasn't going to type out on my phone last
night is that I was lucky enough to receive additional screening flying back 
from Vegas, and they had some new thing I hadn't seen before, where I walk into
this little chamber, and maybe 30 air jets blow air on me, and I gather it 
sniffs the particles that came off me and decide whether or not I should be
trusted. Anyway, strange thing, in my exhausted state it was a little scary.
Well, not so much scary, just a little abrupt, that's all.


6 Comments


February 9, 2005
the baroque cycle

So I just finished reading the third (and final) book in Neal Stephenson's
Baroque Cycle series.. I must say, it was quite the 3000 page ride. Although
it took a good few hundred pages to get sucked in, I really ended up loving
it. The storyline was so decadent, so epic, it just blew me away. I feel like 
I learned a lot (though am constantly questioning what was historically 
accurate and what was not) from it, too. Anyway, I'll quit rambling about 
it, but if you're looking for a long series of books to read, well err, go for it.


4 Comments


January 31, 2005
another ditty

Made this ditty a couple days ago, liked it so much I decided to adjust the 
mix a little bit, so here it is now. Somewhat sad feeling, but in a good way.
Or something. Who am I kidding?


2 Comments


December 6, 2004
big update

So let's see, stuff that I've gotten done recently:

+ Ported Jesusonic to OS X. This involved mostly spending time
retargeting the internal script compiler for PPC instead of x86.
It wouldn't have been hard, except for stupid mistakes 
(particularly pertaining to loading 32 bit immediate values to
registers, and not taking into account that addi treats values
as signed (doh!)). What made it really frustrating is that _some_
pointers would be loaded right, and others wrong. Took a bit to
figure that one out. Doing the UI was a breeze, since it just uses
ncurses, and Core Audio support was pretty easy too, just read the
PDF and boom it worked. Supporting multiple simulaneous devices, 
however, looks like it will be a pain in the ass. Some notes:
on my old 667mhz G4 powerbook, it works decent, a little bit
better than an 800mhz Via C3. The latency when using a firewire
MOTU 896HD with it, was great. 8ms or so, I think. Feels really 
nice when playing the guitar through it, even with effects that 
add latency (such as high speed convolution amp modeling). The
main remaining issue left is that pageup/down don't work, since
the Terminal app hijacks them for the scrollback buffer (any way 
to turn this off perhaps?). Anyway, I think we'll be releasing 
the mac version along with the windows one by christmas. at least
in some beta/preview form.

+ Been building the Jesusonic packaging app. This little bugger
lets you package up effects/presets/data files, and resolves 
dependencies for you. Once they are packaged up, you can decide if
you want to upload to jesusonic.com, etc. The other side of the app
is one that lets you install packages, and choose which elements to
install, handle if you already have some on your system, and whatnot.
I want to make it very easy to both make packages and install them.
This tool will probably be Windows only initially, but have no fear
the format is just .ZIP so you can create/install these packages on
pretty much any OS.

+ Added OGG Vorbis support to Jesusonic. Which means you can store
whatever audio you want, and have effects stream it back as needed.
Decoding OGG from disk is extremely simple from script -- it's 
transparent. Whenever you open a file that ends in .ogg, it tries
to use it as a decompressor.

+ Upgrading my pre-prototype hand-made Jesusonic box to a new CPU and
motherboard. Went from a 800mhz Via C3 to a 1.6ghz Pentium M. I have to
say, I am extremely impressed with the Pentium M. Amazingly fast, the 
HSF is tiny and quiet, and it doesn't even get that hot. Now if only the
price would come down. With the new board, I really have to try hard to
max the CPU out (i.e. getting 20 effects in there at a time), and I can
even crank the latency down a bit more.

+ Managed to order a Geode NX eval board from Arrow Electronics. In 6 short
weeks I should be able to see if those will work well, too. They are a bit
too expensive, too, though. 

So I guess I've been only really doing shit with the Jesusonic lately. I 
guess that's ok, too. 

Oh yes, actually last night I watched the director's cut of JFK last night.
So relevant to today. Argh. 


Comment...


December 2, 2004
hate apple much

Getting so frustrated, porting stuff to the mac, and getting
the powerpc assembly portions to work right, but now it seems
like there's some other bug in my memory allocation code, ugh.
Been hunting it for so long, and it's compounded by the fact
that the only mac I have access to at the moment is on the other
side of some terrible DSL that disconnects me after every 5 
minutes (thank god for screen), bleh. I better get my old powerbook
back from Brennan soon, or I'm gonna go insane with it.

December 2, 2004
i rule, really.

What do these two URLs have in common? http://web.archive.org/web/19990420022838/www.winamp.com/ vs http://www.digisette.com/en/products/DUOdx.asp. You're welcome for the idea, haha. Not that it appears to have been particularly successful...



Comment...


November 29, 2004
jesusonic video

hee hee.


Comment...


[ older results... ]



Search comments - Ignore HTML tags
search : rss : recent comments : Copyright © 2024 Justin Frankel