Monday, May 12, 2008

Beats Off v0.1

Note: Despite the screenshot, Beats Off (if you have a better name, please let me know) is cross-platform!
Windows and Linux binaries included in the download.
I need to make more VAGs.

After a brief crash-course in REALbasic (I probably should have used something better, but it has easy GUI support, is cross-platform, and has easy file I/O functions) I've made a simple application that will allow you to organize VAG files into tracks and pages. The app will then build a working BJS file and minimal BAR for use in Beats.

Limitations (in order of severity/annoyance) include:
  • The BAR file created must replace an already existing Jam BAR.
    This is due to a single damn value in the header that I can't figure out how to generate. JAM_0002 is the victim right now, though I quite like this Jam, so I might change it later.
  • User needs to convert audio files to VAGs themselves.
    I'm not about to get into the business of file conversion, so I recommend Awave Audio for batch converting the dozens of files you'll need to make a decent Jam. Once this is done, however, my application includes a tool for batch modifying the VAG headers for use in Beats.
  • User must know how to unpack, modify and repack the Beats ISO.
    If you've purchased Beats (please do), you can convert it to an ISO using NP Decryptor. From here you must extract the contents of the ISO, replace the proper folder, then repack the ISO and copy it over to your PSP. I use Prometeus for OS X to do the unpacking/repacking, but I'm sure there are other apps for other platforms.
  • All loops must be 4 bars long.
    Beats allows for use of various sized loops, but right now it's locked in at 4. The duration of the main loop and time signature are also locked in at 4. This is an easy enough fix, I just need to create a better UI.
  • XML is not generated yet.
    More laziness on my part: While the names created in the BJS will show up in Jamming mode, they will not show up in the menu; there will be a blank (but selectable) entry.
  • No samples yet.
    At first I didn't think much of the samples in Beats, as they seemed to lag when you triggered them (either that or I have less rhythm than I thought). A little more complicated to add, but might be worth it for triggered effects.
  • No cover art yet.
    The image format used by Beats is slightly different than what's normally used by, say, the XMB. My few attempts to create a custom image have failed, and at the moment this isn't my highest priority.
  • I'm not a programmer.
    Other than the mess of amateur code under the hood (source available soon), there are probably some bugs, as I haven't thoroughly tested this. In fact, the Linux build is completely untested.
With that said, use at your own risk.
I'm not responsible for any problems that may arise from using this program.

See readme.txt for instructions, as the UI isn't all that intuitive.
Good luck, and enjoy!

3 comments:

FreePlay said...

woot.

Anonymous said...

Hey. I got an idea. If you could take traxxpad "sequences" and assign them to the buttons as a beat. Since u can choose bpm and bars in traxxpad, it would be really easy in that way. Then output as mp3. Then convert to vag. Then assign. Just an idea. May be impossible, but I've been itching to tell someone. Anyway, waiting for updates to beats off, since i love the jamming mode. I'm also a programmer, so if u need any help contact me at adrian_2002ca@yahoo.com or add me to msn(adrian_2004ca@hotmail.com). Although, I didn't put in the effort of trying to program for the psp, I have some experience with c++( i assume that's what u use) and java(and Perl, and VB--unfortunately).
Cheers,
Adrian

Anonymous said...

I don't know what I do wrong, but when I want to load a VAG file to the program It says I should try to patch it, but when I try that, I receive an error message:

"An exception of class UnsupportedFormatException was not handled. The appication must shut down.

Exception Message: Passing non-absolute shell paths is not currently supported"

I used only one file, just to learn how to do this...

I think it has some problem with the speed/length of the file

but I didn't really understand the required parameters for them so I have a few questions [I use audacity for editing the original sound file]

-how long is a 4 Beats file in seconds?
-what do you mean by "time signature is 4". 1/4 or what?
-again with the time signature, how much is a 4 time signature in BPM?

Otherwise my file is 8 seconds long..

sry I really don't understand all these stuff, but jamming Bomfunk MC's Freestyler would be so much fun :P