script to automate sample.h creation
commit
b31459f962
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# Prepares a sample.h file
|
||||
# sed not used, should just werk (TM) everywhere
|
||||
# Usage: ./samplify.sh my_sample.wav
|
||||
# Or you can install samplify.sh in your ~/bin and call it
|
||||
# from anywhere you like
|
||||
|
||||
# Convert original soundfile and create sample.h
|
||||
# A temp file is needed otherwise xxd is unable to generate
|
||||
# sample length information?
|
||||
# Need to fix that later...
|
||||
sox "${1}" -t u8 -c 1 -r 8000 /tmp/sample.wav
|
||||
xxd -i /tmp/sample.wav > sample.h
|
||||
rm /tmp/sample.wav
|
||||
|
||||
# Extract sample length
|
||||
SAMPLE_LEN=$(tail -1 sample.h | cut -d ' ' -f 5 | tr -d ';')
|
||||
|
||||
# Inject SAMPLE_LEN in new file header
|
||||
NEW_HEADER="#define SAMPLE_RATE 8000
|
||||
const int sound_length=${SAMPLE_LEN};
|
||||
const unsigned char sound_data[] PROGMEM= {"
|
||||
|
||||
# Remove first line of sample.h
|
||||
echo "$(tail -n +2 sample.h)" > sample.h
|
||||
|
||||
# Prepend new header to sample.h
|
||||
echo "$(echo "${NEW_HEADER}"; cat sample.h)" > sample.h
|
Loading…
Reference in New Issue