Monthly Archives: September 2006

We Are The Music Makers, And We Are The Dreamers of Dreams

When Danielle informed me that she had booked me as a singer at The Gin Rummy, I approached the idea with no little trepidation. After all, I’ve never really done this sort of thing before. But that means I have to come up with an hour of material somehow…so I applied myself to the task, and hopefully the end results will not feature me falling flat on my face.

Danielle and I differ somewhat in our methods for producing our “live” vocals. She scouts out karaoke tracks on the Net (as MP3 files or similar) and then sings the lead vocals to them. I work with MIDI files, which is a technology I’m quite familiar with, as I used to do arrangements of pop songs as MIDI as a hobby. Trouble is, I didn’t have a decent sequencer program on tap. I scouted around, and located the freeware version of Quartz AudioMaster, which handles both MIDI and audio recording, and does so with a user interface that looks and feels quite similar to Cubase, the last sequencer program I used. True, it handles only 16 tracks of MIDI and 4 tracks of audio, but my needs aren’t great…and, when I need audio tools the freeware Quartz lacks, I can always export audio and load it into Audacity for further processing.

So…now I have to pick out some songs. Here’s the criteria I go by:

  • The song has to have a good-sounding MIDI file that I can find somewhere. For instance, I’d love to do Aerosmith’s “I Don’t Want To Miss A Thing,” but the only MIDI files I could find for it, quite frankly, sounded like ass. Yes, I know how to sequence MIDI, but I just don’t have the time it would take to sequence my own files right now.
  • I don’t want it to be a song that’ll sound stupid if I sing it. That eliminates most, if not all, songs done by female vocalists…though I could see myself making an exception for Nena’s “99 Luftballons” in the original German.
  • I have to be pretty sure the song’s in my vocal range. That’s why I’m not doing Marillion’s “Cover My Eyes”; I can’t be sure I’ll hit the high notes in the chorus (“Pain, and heaven!”) properly. And if either Quartz or Audacity has an equivalent to the “vari-speed” control on a 2″ tape deck, which is sometimes used to lower the key of a song to where a singer can sing it properly, I haven’t found it yet.
  • I have to have the lyrics down pretty cold, or be able to chart them out correctly. That’s why I had to pass up Oingo Boingo’s “Dead Man’s Party” for now; it would have been too much work to properly chart out the lyrics for that version of the song (which is not the same as the one on the album). Maybe later…
  • And, last but certainly not least, I don’t want to step on Danielle’s toes. I have an excellent MIDI file for the Smiths’ “How Soon Is Now,” and I’m pretty sure I can sing Morrissey’s range, but Danielle wants to do that song, so reluctantly, I set it aside. That’s also why I’m not doing my own version of the Eagles’ “Hotel California,” either.

Okay…decent MIDI files in hand, I set forth to produce some songs, hampered only slightly by the nature of the tools I’m using and undeterred by the fact that about all I know about music recording, mixing, and production is what I learned reading The Daily Adventures of Mixerman.

First, I load up a MIDI file in Quartz, set up an audio track to record, check my levels, and lay down a vocal. (Easier said than done sometimes…at one point, I had Pamela peeking in, flashing the lights at me, and trying to tell me to “keep it down.” WTF? I’m recording here!) I go over the recording, listening to see if there are any egregious screwups. Sometimes, I’ll have to redo the whole take; other times, I can just “clip out” a bad portion of the audio track and record a quick “punch-in” fix for that line or verse. If there are long instrumental sections in the song, I’ll clip out and erase the audio track in those sections, to keep from having excess noise in the recording. I adjust the equalization on that track, too, to kick up the “low end” of my voice a bit.

Then I have to prepare an audio mixdown of the MIDI track, to one of the other audio tracks. I mute my own vocals for this, of course, and, if the MIDI file has a track or tracks containing the song’s vocal line (most do), I mute those as well.

Now I have two tracks of audio, the raw vocals (with some EQ) and the mixdown of the MIDI tracks. I export those from Quartz and import them as two audio tracks into Audacity. To my vocals, I apply some dynamic range compression, to balance out the dynamics and tighten them up. I adjust the gain on the two tracks to make them as loud as I can without distortion (since they seem to lose some gain in MP3 conversion), and give my vocals about a 3 dB edge over the music to make sure they’re not “buried.” (Not a hard-and-fast rule…I just go by what sounds right.) At this point, the track is done, and I export it as both an MP3 file (for previewing and a time check) and a WAV file (for later combination into the final “set” recording).

Lather, rinse, repeat for each song I want to do. (I don’t have to do all the songs in this order…in this case, I laid down vocals for a bunch of songs, then waited until later to mix them down.) And still I’m not done…because, as Danielle keeps reminding me, I have to talk in between songs. So I need to write some appropriate “patter” to go between the songs, record those little bits, and then splice them together with the completed tracks as WAV files to create one monster WAV file for the set, which I will then crunch down to MP3 for transmission.

The performance will be on Saturday at 7 PM, at the Gin Rummy’s new location in South Sunset. Just in case you want to come and throw tomatoes. 🙂

UPDATE: Holy crap, these tracks are loud! I don’t know why Winamp attenuated the volume as much as it did, but the gain on these tracks needs dropping by about 3 dB or so; I only found this out when playing the tracks under mpg123 on Linux. Fortunately, that’s as easy as cranking down the “gain” sliders in Audacity and re-exporting the tracks.

UPDATE: I glossed over Danielle’s techique briefly at the start of this entry, failing to do it proper justice…I understand she employs a similar set of techniques to get her voice to sound right. Certainly it takes her as long as it takes me to get workable tracks…and I think her results sound much better. But that’s what happens when you start with way more talent…she’s an entertainer, I’m just trying not to completely stink up the joint.

2 Comments

Filed under Audio, Business

Budding Relationship Guru

Danielle has had an awful lot to say about relationships in SL recently…most notably this post on committed relationships and infidelity in SL, which got her a nice writeup in Second Life Insider. She followed it up with a good discussion of the Xcite! body parts, their use in enhancing a relationship, and their detractors. She’s probably the Numero Uno expert in SL relationships right now…but don’t take my word for it, look at this:

If there is a more qualified person to speak on the topic of How To Make an SL Relationship Work, then that person probably holds a Ph.D in Marriage Therapy. Until that person decides to drop into SL, go check out Dani’s post and talk amongst yourselves.

How’d she get this way? I think I know, and I told her: She’s involved in a successful relationship in SL, and she’s seen enough other relationships, both sucessful and failed, to know what works and what doesn’t in this environment. That automatically puts her ahead of 90% of the Resis out there…maybe 99%.

So I’ve encouraged her to offer her services as a relationship counselor. IM Danielle Ferguson if you want to set up an appointment. 🙂 Or just check out Ask Dani, and give Danielle a try as your advice columnist.

(Photo: Danielle, myself, and Alia on the swing on the front porch of the new Gin Rummy building in South Sunset.)

3 Comments

Filed under Relationships

Self-Replication

Four times this week the Grid has been attacked by a plague of self-replicating objects, as evidenced by this report on the Grand Unified Linden Blog and these two reports over on Second Life Insider. These objects spawn copies of themselves, kind of like the classic UNIX “fork bomb” that spawns new processes until the system is overwhelmed, and quickly overwhelm, not just the parcel or reagion that they’re in, but the asset server itself, which causes a world of hurt for Residents, breaking Search, the map, and teleportation. (The objects may also exhibit other annoying behavior.) The last couple of times this happened yesterday, LL actually had to pull the plug on every single freaking script on the Grid to be able to stop these things. This causes a hell of a lot of stuff to stop working…and nearly caused Danielle to lose L$1000 in a texture vendor.

So, my question is: What is Linden Labs doing to find the perpetrators of these acts, to get them off the Grid, and to ensure that this sort of thing can’t happen again?

Creating objects that interfere with the functioning of the Grid to such a degree that LL has to disable all scripting functionality in order to clean the mess up…that sounds like a pretty damned clear violation of TOS 4.1(viii) as well as “Disturbing The Peace” under the Community Standards. Any user doing this really ought to be kicked off the Grid, for good. But…will they stay kicked off? Thanks to the removal of account verification on the beastly day of 6/6/06, a user whose account has been terminated “with extreme prejudice” can simply create another account and be back online in mere minutes. LL has supposedly implemented a “machine hash” so they can block entire systems from accessing SL…but I don’t know how well that’s working. Even so–and this is a point many critics of the open-registration policy overlook–there’s nothing stopping a kicked-off griefer from contacting his buddies via AIM (or what have you) and passing along his griefing techniques to ten of his closest friends. Result: up to ten more attacks. Theoretically, this could replicate in much the same way that these objects themselves replicate. Lack of open registration would slow down the onslaught, but would probably not eliminate it entirely.

So…how could LL prevent this from happening altogether? I don’t know if there’s a good way to do so without breaking script behaviors that many existing objects rely on. Some have glibly talked of restricting the use of llRezObject(), or even scripting itself, until an account becomes verified and/or has been in-world long enough. Aside from the fact that it still wouldn’t stop a sufficiently-determined griefer, I think that would add a slowdown to the operation of scripts that need to rez objects, by introducing a whole bunch of extra security checks into the process. Is this a necessary evil? I don’t know.

One thing I do know: Danielle said, in response to news of the latest attack, “The griefers got smart.” Here’s hoping LL gets smarter in response.

3 Comments

Filed under Bugs

Puzzling Limitations

The esteemed Ms. Ordinal Malaprop, of whom I have written here on a number of occasions, has started getting into video in a big way, and is using a hosting service called Vimeo for her clips, such as the two she highlights in this recent blog post. She prefers the service to Google Video (which she finds extraordinarily difficult to use) or YouTube (which she loathes). Unfortunately, Vimeo has a maddening restriction: she can only upload 30 Mb of video to them per week…and when you’re dealing with video, 30 Mb is nothing compared to the output she can generate.

It was a similar restriction that led me to give up on the Ricochet wireless Internet service; they impose a 1 Gb/week bandwidth restriction. While this was no doubt intended to stop people from doing things like peer-to-peer file sharing over their connections, it meant that even upgrading my Debian boxes was a dicey proposition at best…and as for using Ricochet with services like Xbox Live (or perhaps even Second Life, come to think of it): fuggedaboudit! A couple of times, after doing system upgrades, I wound up having to call them up and beg them not to cancel my account. Small wonder that, when the cable provider servicing our apartment got bought out by Comcast and they started offering reasonable cable modem service, I made the switch.

Why do services impose these kinds of arbitrary limits? There can only be two reasons: they don’t have the resources to service all their customers otherwise (disk space, bandwidth), or they’re attempting to protect themselves against possible abuse (P2P and servers in Ricochet’s case, and copyright infringement in Vimeo’s case). With regard to the latter, even I am guilty of imposing limits like that; attachments to posts on Electric Minds are limited to 1 Mb. I set the threshold this low to keep people from uploading an entire full-fidelity MP3 track as a post attachment, as I figured that would be likely to draw negative attention from the RIAA. (Sometimes it gets in the way of people who want to post a large image file or document as an attachment, though.) I would hope that Vimeo’s restrictions are more like the former, and that, as the service gets more popular, they’ll have more resources and can raise that cap.

(Of course, there’s also the fact that Vimeo doesn’t work with Linux, as it requires Flash 8 and Macromedia haven’t seen fit to upgrade the Linux player past version 7, though they say they will…someday. But that’s another matter.)

Now, Second Life itself seems to have an elegant solution to the issue of upload limits; you can upload as much stuff as you want, but you have to pay L$10 for each thing you upload. If those upload fees are earmarked for upgrades to the asset server, that means the uploaded items could potentially pay for the space required to store them. Simple and neat. Copyright issues aren’t as cleanly dealt with, however; the recent fashion thrash involving Torrid Midnight makes that clear…but whenever the law is involved, things can get messy. Just ask the Napster folks…

2 Comments

Filed under Technical

How To Have Fun With The Grid Down

Well, I’m guessing that the 1.12.1 release will go down in history as one of the more memorable fusterclucks* of Second Life. Not to fault the Lindens too badly; SL is one of the most complex pieces of ‘ware you’ll ever work with, and as a professional software engineer myself, I know it’s all too easy to introduce bugs when you’re fixing so many other things. And Torley, in particular, did everything she could to keep Residents informed of just what the hell was going on; I’ll recommend her for the Order of Merit, with watermelon clusters (of course!).

Still…how do you pass the time when the Grid is down?

Well, if you’re me, you get picked up by Danielle on Windows Live Messenger (which I run at least partly due to her influence) and added to a group chat with Bott and Skye. We stayed on that for awhile, riffing on a couple of different topics; it got rather intense when Danielle and Bott were acting like they were playing Dungeons & Dragons, while I was throwing in characters from Piers Anthony’s “Incarnations of Immortality” series of books, resulting in Danielle telling me, “Erbo, you can’t be the DM anymore!” Through it all, I was still trying my Second Life login (“The grid is closed for maintenance; access is restricted to employees only”) and checking with the Grand Unified Linden Blog to see if there was any more info available. Even Star made an appearance, sitting on my lap for awhile as I described her actions to the others. (Danielle, sadly, is allergic to cats…)

I toyed with the idea of firing up Live365 Broadcaster and DJ’ing a stream for everyone else, but we decided on another course of action; we all launched Skype (even though Bott had to download it), synced each other’s names onto our contact lists, and set up a conference call. As Skye predicted, there was a lot of laughter on the line, and in fact Pamela complained that I was talking too loudly (which I sometimes do, it’s hard for me to help that). The call continued even after Skye noticed that the Grid was finally open, and we all hurried to log in. All four of us met up at The Shelter, which was about the only place that had anything happening, then teleported back to the (otherwise-empty) Gin Rummy, where we sat around and shot the breeze for awhile, dumping money into the Sploder as we felt like it. First Skye dropped out (of both the call and SL), then Bott, leaving me and Danielle to bounce around and explore a couple of the more popular areas, despite her lag. We wound up at IceDragon’s Playpen, where I taught Danielle how to play Tringo, much as Keeva taught me some months back (except it was easier with the voice line in place, rather than having to do it through chat or IM). After three rounds, I had to go (it being 2 AM, my usual weeknight cutoff time), so we exchanged our goodnight kisses on the front doorstep of our house, and I logged out and hung up.

Despite SL’s issues, it turned out to be a fun evening. I don’t know if I’ll be doing the voice thing again anytime soon; Pamela complained that she had a hard time getting to sleep because she could hear me. But we made the best of a bad situation here, I think. Now…hopefully LL will get the Grid stabilized before tonight…

* – It’s a spoonerism…think “cluster-“. 🙂

2 Comments

Filed under Downtime

Metablogging: Facelift

I finally got around to fixing the title image (another Signmaker special) and some of the “Destinations” links in the sidebar. You’ll find a direct SLurl for The Gin Rummy there, as well as a link to Bogart Land Management’s group blog. I’ve also modified Danielle’s blog link, as she’s moved to WordPress, and “link title”: “Devoted Wife, Mother, and Businesswoman” pretty well describes her roles at the moment.

One issue: Looks like there may be some problem with the Snapzilla sidebar code; if you see an error message under “Photos From The Road,” that’s not my doing. Hopefully Cristiano and company will get it fixed soon.

1 Comment

Filed under Fellow Travelers, Meta

Actions Speak

I was trying to come up with a response to Mera’s thought stream about how we derive identity from activity, as opposed to from mere appearance or behavior (as explored previously in the “Redux series” that bounced between me, her, and Tateru), but I see that Jacek has beat me to it.

A lot of people in both RL and SL define themselves by what they do, to be sure. Probably the number one most important fact about Tateru, for instance, is not “Tateru looks this-and-such a way” or “Tateru wears these clothes,” but “Tateru helps newbies.” That’s the ultimate source of her influence, and a very powerful one indeed. (I think it may have influenced Mera’s course in SL, for instance.) Similarly, the major fact everyone remembers about Six Kennedy is “Six designs and sells good hair.” And that must be true, else why would Danielle drop so much money over at GuRL 6? 🙂

Some of us do struggle with our identity in this respect. I know it took me a while to let go of defining myself as “the guy that runs the Cutlass Club.” (In some respects, I seem to still be clinging to it. I haven’t updated this blog’s template, for instance, to point to our new venture rather than the old one. Yes, I’m a lazy bastard.) Now I’m trying to redefine my own identity. Danielle, too, seems to be searching for a way to define herself other than as “the spoiled trophy wife of Erbo Evans.” Either Don’t Panic! Designs or the Gin Rummy may very well do that for her (and I give her full credit for starting both of those to anyone who asks). And those of us that are SL bloggers have an additional outlet to express our identity, as I’ve previously mentioned, so one thing that will always be true is, “Erbo blogs about SL.” Is that enough continuity? It may very well be…

Mera asks a very poignant question in Jacek’s comments: “I am, and continue to be *myself*. Moreso in SL than anywhere else. The worry is, is that enough?” I guess the only rational response I can make to that is, “If being yourself is not enough, what is?”

1 Comment

Filed under Identity, Philosophy