Jump to content

LIME (LEGO Island Music Extractor)


le717
 Share

Recommended Posts

It's amazing what you can find on the Internet. e342175.png

I was browsing Sourceforge yesterday to download a program I found the day before but didn't bookmark it. And you know on then SF search results how the program icon will be displayed if the developer added one? Well, while looking for that program (which didn't have an icon), I saw a green, 2x2 brick surrounded in a blue circle], and it was called LIME. Intrigued by this combination of icon
and name, I clicked the project, and found may be the biggest update to LEGO Island modding ever:
 

LIME (LEGO Island Music Extractor)


 

This small project (also hosted on GitHub) consists of single Python file that claims to extract the music
from JUKEBOX.SI (and any other SI files with music/audio from them). It has had only three code commits, and according to a blog post written on August 19, 2011, it is a stable release, ready to be used.

I downloaded the .py file, and after contacting for a copy of JUKEBOX.SI ("Muffin for you for reading the credits e342175.png"), figuring
out what version of Python to use, and record a video about it 4 times (Afterburner would not create an AVI), I am ready to surprise the forum with this amazing piece of software that was already on the Internet for a year and was not written by me! gallery_254_22_254.png
 

 

 


A few notes here:

 

  • After much testing, I found that LIME will works with Python 2.7.3. It will end in a syntax error when run with Python 3K. I did not run it on anything lower than Python 2.5.
  • Since it is written in Python, it can be re-purposed to extract the other, non-audio SI files, or extract JUKEBOX.SI without converting them to WAV.
  • It currently spits out an error because it cannot pull the WAV audio from a Smaker video, and it will not extract anymore after it hits the block.

Basically, this small script changes the future of LEGO Island modding. And we have Matthew & Nick Thompson to thank for it. e342154.png
 

O.T. Segatendo, I hope this helps boost your BDay up to a 11! gallery_254_22_254.png
  • Like 7
Link to comment
Share on other sites

My extraction ended with an error too. I used the file copied from the disc.

The next logical step would be extracting textures. Then, extract ALL the files!

EDIT: It's not extracting the Infomaniac's speech. :(

Link to comment
Share on other sites

Mr. Eight-Three-One

*sigh* This is where being a 90s computing enthusiast knowing a little something about DOS can come in handy...

Anyway, install Python 2.7.3 first. Just Google it, you'll find it. Now, put it in the directory with the SI file you want audio from (doing the discless trick comes in handy here, unless you want to type the file path along with it). Now, go to the command line and navigate to your Lego Island directory (keep typing "cd .." until you make it to the root of your CD drive, and keep typing "cd (Folder Name)" until you make it to where you want. Type "dir" to see a list of the files). Assuming you want to extract the music, you'd want to go to C:Program FilesLEGO IslandLEGOScriptsIsle. Type "lime.py jukebox.si". There you go.

Anyway, I just found a weird 22 KHz version of the jail theme -- has this been discovered yet? I don't remember it ever being used, and instead of just being enhanced to higher quality, it's also a bit remixed too. It's in there as MusicTheme3.wav.

Link to comment
Share on other sites

Now, go to the command line and navigate to your Lego Island directory

It keeps giving me a syntax error :/

EDIT: Now it says Jukebox.SI doesn't exist when it clearly does.

EDIT 2: I got it to read the WAV files, but it didn't extract them and gives some weird error.

EDIT 3: IT WORKS

Link to comment
Share on other sites

keep typing "cd .." until you make it to the root of your CD drive, and keep typing "cd (Folder Name)" until you make it to where you want.

I did it an easier way. You know, you can right click and paste the whole file address in cmd.

I copied the .si file into the script's directory then did the following:

cd "C:\Path\To\Folder\With\Script"

lime.py jukebox.si

Link to comment
Share on other sites

I just found a weird 22 KHz version of the jail theme -- has this been discovered yet? I don't remember it ever being used, and instead of just being enhanced to higher quality, it's also a bit remixed too. It's in there as MusicTheme3.wav.

Yea, I heard that file. I played it in the video. It is the only file in the SI with that format (that what I was doing with ffmpeg in the vid, showing off the audio format).

My extraction ended with an error too. I used the file copied from the disc.

The next logical step would be extracting textures. Then, extract ALL the files!

EDIT: It's not extracting the Infomaniac's speech. :(

Hm.. Now that I look at the error message, it seems the extractor is failing (for me, at least) on Helicopter_Movie.wav. It's probabaly having trouble writing a WAV file for a movie. It's a good reason for the LIME code to be improved to not convert the stuff to WAV and extract it as-is (and extract all the other SI files too).

. Now, go to the command line and navigate to your Lego Island directory (keep typing "cd .." until you make it to the root of your CD drive, and keep typing "cd (Folder Name)" until you make it to where you want. Type "dir" to see a list of the files)

Or if you're on WinVista or 7, just hold Shift while right-clicking on the folder and click "Open command window here". You can install a Powertoy to do this on WinXp. :)

Link to comment
Share on other sites

it seems the extractor is failing (for me, at least) on Helicopter_Movie.wav

Same, my HelicopterBuild_Movie.wav is 0 bytes.

Or if you're on WinVista or 7, just hold Shift while right-clicking on the folder and click "Open command window here".

I never knew that, and I use 7.

Link to comment
Share on other sites

Fluffy Cupcake

Or if you're on WinVista or 7, just hold Shift while right-clicking on the folder and click "Open command window here".

I never knew that, and I use 7.

Same here.
Link to comment
Share on other sites

Yea, I heard that file. I played it in the video. It is the only file in the SI with that format (that what I was doing with ffmpeg in the vid, showing off the audio format).

wait...what video? O_O

Link to comment
Share on other sites

Yea, I heard that file. I played it in the video. It is the only file in the SI with that format (that what I was doing with ffmpeg in the vid, showing off the audio format).

wait...what video? O_O

The one embedded in the first post, your school blocks YouTube right? That's probably why you aren't seeing it.

Link to comment
Share on other sites

Yea, I heard that file. I played it in the video. It is the only file in the SI with that format (that what I was doing with ffmpeg in the vid, showing off the audio format).

wait...what video? O_O

The one embedded in the first post, your school blocks YouTube right? That's probably why you aren't seeing it.

They blocked RRU too :(

I thought he meant a video he extracted. +1 derp for me.

Link to comment
Share on other sites

On Friday, September 14, 2012 at 7:49 PM, Lair of Rockwhales said:

They blocked RRU too :(

I thought he meant a video he extracted. +1 derp for me.

No, I haven't extracted a video. If LIME would not abort in an error upon extracting HelicopterBuild_Movie.wav, I would have already extracted one!

If you or anyone else can't see the video, try this link:

 

 

Yes, that is a "V" trick URL, but it redirects to googleapis.com, which is known to let one watch YT videos if youtube.com is blocked. Of course, if that place has blocked googleapis.com too, you're out of luck. ;)

I've been working on a video using some of the extracted audio all day. It just finished rendering, and I'm uploading it ATM. ;)

O.T. Oh my. The video is 11 minutes long. I have never made a video that long. What was I thinking? :P

EDIT: Video is uploaded.

Spoiler

URL for those who have YT blocked. ;)

Link to comment
Share on other sites

"Embedding disable disabled by request"

Have no choice but to view link. :P

Whoops. Sorry about that. I usually disable embedding unless I plan to embed it somewhere, and I forgot to re-enable it. ;)

Link to comment
Share on other sites

  • 2 weeks later...

Alright. I just contacted the writer of LIME asking him to expand LIME to extract the other SI files. Transcript of my message:

LIME (LEGO Island Music Extractor)

Hello! I am le717, and I would like to talk to you about your project entitled LIME (LEGO Island Music Extractor).

I belong to a community (rockraidersunited.org) that specializes in the modding of LEGO video games 10 years and older. One game in particular, LEGO Island, is a hot topic for modding, as it is deemed one of the

best video games LEGO has ever made. Unfortunately, nobody has been able to figure out how to extract the SI files in which everything is contained. Therefore modding has been non-existent,

and recently we were forced to import JUKEBOX.SI into Audacity and try to rip the audio out from that.

Two weeks ago while browsing Sourceforge for a program, I came across your LIME project, read the .py file and your blog post stating that it was stable, and reported it back to the

community. It has been greatly praised, considering it extracts the LEGO Island JUKEBOX.SI file, and does so very well.

I am writing you to ask if you will expand LIME to extract every LEGO Island SI file, not just JUKEBOX.SI, so we can use it to mod LI. Our Python programmers are few and wide, and are

already swamped with other games and projects. That is why I am asking you to expand your LIME project to extract everything. I'm sure you already understand this, but game modding takes a

while. We have to extract the files, figure out what they are and how to duplicate them, then recompress the archives to make the game use our modded stuff. LIME is the first step to modding

LEGO Island, but we can't do it since LIME was written just to extract JUKEBOX.SI and converts everything to a WAV file.

Here is the link to the forum topic I created on Rock Raiders United telling them about LIME. If you would like, please drop by and talk to us about LIME. We will be very happy to answer your questions.

Thank you for taking the time to read my message, and I look forward to hearing back from you soon.

-le717 (http://triangle717.wordpress.com)

On a different note, I commented out a bunch of code that I thought controlled the WAV file creation, and it still extacted and wrote the WAV files. Oh well. :P

Link to comment
Share on other sites

Yes! Yes! Yes!

I have already gotten a reply from the creator of LIME. And I have good news!

Transcript of his reply:

Hey,

Thanks for your interest in LIME! I actually wrote this at the request of my brother - he's a big Lego Island fan. We did some work to reverse-engineer the package format and once I got the music we wanted I called it done. I'd be glad to look into extracting other kinds of files or making a more general extractor, though.

I'll write more after I review the code after work tomorrow (it's been about a year, I think). Also, I've since cloned the project on GitHub, which makes it easier for people to contribute and share code: https://github.com/mathom/LIME

Talk to you later,

Matt

I got the message today at 2:08 AM (EST), so it will be tomorrow afternoon before he takes a look at it (at least, that's what I gather).

LEGO Island modding, here we come! :D :D :D

  • Like 3
Link to comment
Share on other sites

Yes! Yes! Yes!

I have already gotten a reply from the creator of LIME. And I have good news!

Transcript of his reply:

Hey,

Thanks for your interest in LIME! I actually wrote this at the request of my brother - he's a big Lego Island fan. We did some work to reverse-engineer the package format and once I got the music we wanted I called it done. I'd be glad to look into extracting other kinds of files or making a more general extractor, though.

I'll write more after I review the code after work tomorrow (it's been about a year, I think). Also, I've since cloned the project on GitHub, which makes it easier for people to contribute and share code: https://github.com/mathom/LIME

Talk to you later,

Matt

I got the message today at 2:08 AM (EST), so it will be tomorrow afternoon before he takes a look at it (at least, that's what I gather).

LEGO Island modding, here we come! :D :D :D

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.