Jul 2, 2007

Custom Sounds for the NXT

I realize that sound files eat up memory in the NXT Brick, but if anyone out there is creating custom sound effects for their robots, I'd like to hear about how you are doing it. What software do you use? What equipment is required? Is there a way to minimize the size of the files? How do you download it to your Brick? Any other advice?

25 comments:

Maniac of Mayhem said...

Well, Audacity is a pretty good (and free!) sound editing program that can handle pretty much everything except Windows Media files... and it can export as a wav. I haven't had opportunity to try file compression though.
http://audacity.sourceforge.net/

Kirk Backstrom said...

I think the Dialog OS software would be a solution for speech as the software only needs text, which is converted to speech.

As far as I know, the Dialog OS software generates speech from a computer, which is outputted from the computer via speakers. The NXT is used here for applications such as outputting movements controlled from the software, but the NXT is not used to generate speech from the software.

However, I haven't yet tried the software, but I think I will buy it. Has anyone purchased it yet? If so, how does it work for you?

Kirk

David said...

First of all I find some shotr wav (or mp3, but they need to be converted to wav) files and use Wav2Rso application found here: http://bricxcc.sourceforge.net/utilities.html
Then I shift one of the defaul tound files in NXT-G with the new one. =)

Christopher R. Smith (Littlehorn) said...

I'm making a bunch of custom sounds and I'm finding new ways to squeak any space savings possible. I'm also looking for the best WAV to RSO compactor that will not reduce the quality too much. Mainly because the BenderBot (featured in theNXTstep Idea Book) will use sound files and I hope to have a bunch of good ones by the time the book is released. I cover some of this topic in the book also. I using a great guitar signal effects processor and I'm recording some very cool sounds.

Here's some tips:

Once you have created a RSO file you need to copy it to the proper directory to use it with NXT-G. The directory is: C:\Program Files\LEGO Software\LEGO MINDSTORMS NXT\engine\Sounds

Once the file is there you can choose it in your sound blocks.

Most music programs will be complex or at least require large sound file sizes. The NXT brick contains a number of programs and files preinstalled which take up about half of the available memory space. These files can be removed and reinstalled with no consequence. Reinstalling the NXT Firmware will completely restore the onboard software.
I recommend maximizing onboard memory space by:
• Downloading the newest firmware using the NXT-G software.
• Deleting unused programs.
• Deleting unused sound and graphic files.
• Deleting preinstalled files and programs. You should try to remove all of the Demo programs and unneeded sound files (NXT pwr on sound, click, etc.)
• Create subroutines to reduce the number of programming blocks needed.
• Create programs with Mini Blocks when possible.

For detailed information about deleting files from your NXT brick as well as how to manage NXT memory and firmware downloads please read the LEGO MindStorms NXT Users Guide or by activating the Help functions within the NXT-G Software.

Chris

Christopher R. Smith (Littlehorn) said...

Fay, you're beating me to the punch lately. I was going to preasent this topic in the Blog or the forums soon when I got a little further down the road. I'm glad you're opening these topics for me! It helps me and everyone else find the best solutions.

Chris

Christopher R. Smith (Littlehorn) said...

Oh, I have mostly used Windows Sound Recorder to make small WAV files. I'm experimenting with other programs but since this is on every Windows PC it will be convenient for most of the readers out there. I'm making some instructions noting settings for usable quality/size ratios.

Chris

Christopher R. Smith (Littlehorn) said...

There is an inexpensive program called Text To Wave which converts any text (email, e-books, words, etc.) into WAV (or MP3) files...$16 USD! I haven't given it a spin yet. Though, I tried similar s/w a long time ago which worked pretty good and was a lot of fun to play around with.

Find it here.

Make your NXT Talk!

Or, just record your voice as WAV files with Sound Recorder.

Chris

Anonymous said...

When I recorded my voice, it turned out really low and slow on the NXT.

Fay Rhodes said...

What I'm really interested is how someone could imitate or record animal sounds to use with animal robots.

David, how would you describe the process to one of your students or parents?

Does anyone know anything about doing this on the Mac?

Rick Rhodes said...

Although I haven't used wav2rso in a while, I think you could do the following for animal sounds:

1) Get animal sounds off of iTunes. (There are lots of them).

2) Since the sound files on iTunes are AAC/MPEG 4, put your iTunes files on a disk to convert them to mp3, then to wav.

3) Convert your wav files to .rso files using wav2rso or some other utility.

There are probably more efficient ways to do the above, but it's possible.

Recording just a snippet of the animal sound saves space on your NXT, although wav2rso is notorious for making large sound files.

Chris, I'd be real interested in any sound compression utilities that you discover.

Rick

Rick Rhodes said...

Version 1.1 of NXT-G will have 30kb of extra space (via compression). And "most" sound and data files on 1.1 will be more compressed than they are now, according to LEGO.

This means that a little more space will be freed up for animal sounds, musical sounds, etc.

Rick

Rick Rhodes said...

Fay,

I forgot to mention that wav2rso is for the Mac as well as for the PC. :)

Rick

Christopher R. Smith (Littlehorn) said...

From my memory...after deleting most of the "Try Me" and demo programs, system sound files (!Click, intro sound, etc.), etc. you'll find that there will be over 125 kb of free space in the NXT memory.

I'm writing a good tutorial and will map out everything from freeing NXT space (and returning the NXT to "as new"), creating sound files, converting, resampling, loading sound files, etc. I'll cover everything and even compare s/w and process choices.

Rick, et al...There is a MAC OS version of Wav2Rso available Here. Scroll down and you'll see it.

Chris

Rick Rhodes said...

Thanks, Chris!

Awhile back, my son and I were making rso files using wav2rso.

We noticed that the files were much softer in volume than the sound files that came with NXT-G. (Someone else in this thread mentioned this problem, too).

Is there a way to make these converted files as loud as the ones native to NXT-G? For example, do other sound conversion programs (other than wav2rso) produce louder files?

Rick

Anonymous said...

If your original source material is 8 bit, mono, with an 8k sampling rate then wav2rso makes no changes at all to the actual sound samples. It just copies them into a .rso file with the required header information. In this case it could not possibly be affecting the loudness of your sample. But if it has to convert to a single channel and convert samples from 16-bit to 8-bit and down-sample to a lower sampling rate then it may affect the overall amplitude of the waveform.

You may want to try using commercial tools that can change a stereo, 16 bit wave file with much higher sampling rates into the required 8 bit mono 8k format first and then use the output of that conversion as the input to wav2rso or wavrsocvt. Commercial utilities may do a better job of that part of the conversion process.

All versions of this utility will support compression in conjunction with the upcoming 1.1 software release. Version 1.5 of the standard NXT firmware supports compressed .rso files.

John Hansen

Rick Rhodes said...

Thanks John,

The "1.5" firmware update you mentioned is the yet-to-be-released "1.05" firmware update, correct?

I assume this 1.05 firmware update will be released simultaneously with the 1.1 NXT-G software release. Is this correct?

Rick Rhodes

Christopher R. Smith (Littlehorn) said...

Thanks John! I'm glad you rang in... I had not noticed the loss since I was always feeding Wav2Rso 8 KHz (to 16 KHz), 8-bit, Mono source files. I was in the process of trying to recreate a volume loss. It is good to know that only the header changes when straight converting with Wav2Rso. I have just yesterday used the compression options within Wav2Rso and had not yet tried to compare the volume levels when played on the NXT.

John saved me some trouble. But I think I'll compare it a little.

Chris

Fay Rhodes said...

I just did some sound effect conversions and the 176 KB WAV files were reduced to 44KB RSO files. That's better compression than I expected.

Anonymous said...

Pn the topic of sound, does anyone know how to download things like music on to the NXT?.......HELP

Anonymous said...

Sorry, I accidently wrote "Pn" instead of "On"

tamilphoenix said...

I don't know, but how do you download "Try Me" onto the NXT? I accidentally deleted it in need of space.

Zachary said...

Do anyone know how NXT-G program can pick-up a compressed sound file.

Anonymous said...

tamilphoenix you can do a full recover and they will all come back.

Alex Stojda said...

Hi people, i need to know how to convert .WMA files to .RSO file format. HELP its for my science project.

Alex S.

Jimmy Hill said...

Hi.... I am working on my final project for introduction to robotics and I am trying to import real guitar chords to my NXT... what Im trying to do is record the chrods with garage band and then somehow import the files into the sounds file in the Mindstorm program... Im a real noob at this so please someone help me out...

Related Posts Plugin for WordPress, Blogger...