diff options
| author | Author Name <[email protected]> | 2023-07-07 12:20:59 +0930 |
|---|---|---|
| committer | David Rowe <[email protected]> | 2023-07-07 12:29:06 +0930 |
| commit | ac7c48b4dee99d4c772f133d70d8d1b38262fcd2 (patch) | |
| tree | a2d0ace57a9c0e2e5b611c4987f6fed1b38b81e7 /misc/raw2h.c | |
shallow zip-file copy from codec2 e9d726bf20
Diffstat (limited to 'misc/raw2h.c')
| -rw-r--r-- | misc/raw2h.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/misc/raw2h.c b/misc/raw2h.c new file mode 100644 index 0000000..cb17f7c --- /dev/null +++ b/misc/raw2h.c @@ -0,0 +1,45 @@ +/* + raw2h.c + David Rowe + 10 April 2013 + + Converts a raw sound file to a C header file. Used for generating arrays to + test Codec2 on embedded systems without disk I/O. +*/ + +#include <assert.h> +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +int main(int argc, char *argv[]) { + FILE *fraw, *fheader; + int i, samples, ret; + short sam; + + if (argc != 5) { + printf("usage: %s inputRawFile outputHeaderFile arrayName samples\n", argv[0]); + exit(1); + } + + fraw = fopen(argv[1] ,"rb"); + assert(fraw != NULL); + fheader = fopen(argv[2],"wt"); + assert(fheader != NULL); + samples = atoi(argv[4]); + + fprintf(fheader, "short %s[] = {\n", argv[3]); + for(i=0; i<samples-1; i++) { + ret = fread(&sam, sizeof(short), 1, fraw); + assert(ret == 1); + fprintf(fheader, "%d,\n", sam); + } + ret = fread(&sam, sizeof(short), 1, fraw); + assert(ret == 1); + fprintf(fheader, "%d\n};\n", sam); + + fclose(fraw); + fclose(fheader); + + return 0; +} |
