The found file ends with .rsf extension (probably standing for Robotic Sound File). It has the following format:
[ 8 bytes of header]
[ raw sound data ]
The first 8 bytes of the file are meta data with the following meaning:
byte 0, byte 1: 0x01 0x00
byte 2, byte 3: length, in big-endian, of raw sound data.
byte 4, byte 5: 0x1f, 0x40 (demical 8000, the sampling rate)
byte 6, byte 7: 0x00, 0x00.
raw sound data
The raw sound data is 8-bit of PCM data, with sampling rate of 8000 samples per second.
Example Script
On a Mac OS computer, one can use the following command to generate a audio file:
say "hello world" -o hello.aiff
Then you can use "ffmpeg" (you need to use brew to install it) to convert it to raw audio
ffmpeg -i hello.aiff -acodec pcm_u8 -f u8 -ar 8000 hello.raw
Then you can use the above mentioned tool "raw2rsf" to conver the raw file to .rsf file
raw2rsf hello.raw > hello.rsf
Then you can copy the hello.rsf file to your Lego Programmer sound file directory and then use it from the programmer software!
raw2rsf.c: a simple C program to convert a .raw file to .rsf file.
No comments:
Post a Comment