Tau ReSpeaker Setup V01
Dependencies: MbedJSONValue mbed
Fork of TAU_ReSpeaker_DSP_Test by
Matlab_Script/wav2sounddata.txt@1:574b54755983, 2018-02-11 (annotated)
- Committer:
- Arkadi
- Date:
- Sun Feb 11 15:13:52 2018 +0000
- Revision:
- 1:574b54755983
Added GUI control for HPF and no filter modes
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Arkadi | 1:574b54755983 | 1 | %Script for preparation of predefined signal code from wav file |
Arkadi | 1:574b54755983 | 2 | % Generates file sounddata.h which should be uploaded into mbed environment |
Arkadi | 1:574b54755983 | 3 | % and compiled together with C++ file |
Arkadi | 1:574b54755983 | 4 | |
Arkadi | 1:574b54755983 | 5 | % this line should be corrected depended on location of WAV file |
Arkadi | 1:574b54755983 | 6 | mainfilename ='C:\Users\Igor\OneDrive\dev\Bats\tests\kuhlii_like_chirp.wav'; |
Arkadi | 1:574b54755983 | 7 | % this line should be corrected depended on desired location of sounddata.h file |
Arkadi | 1:574b54755983 | 8 | sounddatafilename = 'C:\Users\Igor\OneDrive\dev\Bats\tests\sounddata.h' |
Arkadi | 1:574b54755983 | 9 | |
Arkadi | 1:574b54755983 | 10 | [ybat,Fs] = audioread(mainfilename,'double'); |
Arkadi | 1:574b54755983 | 11 | len = length(ybat); |
Arkadi | 1:574b54755983 | 12 | |
Arkadi | 1:574b54755983 | 13 | fprintf('Amount of samples: %d; Sampling frequency %d\n',len, Fs) |
Arkadi | 1:574b54755983 | 14 | num_of_leading_zeros=0; |
Arkadi | 1:574b54755983 | 15 | num_of_trailing_zeros = 0; |
Arkadi | 1:574b54755983 | 16 | count_leading_zeros = true; |
Arkadi | 1:574b54755983 | 17 | count_trailing_zeros = true; |
Arkadi | 1:574b54755983 | 18 | for i = 1:len |
Arkadi | 1:574b54755983 | 19 | if (ybat(i) == 0.0 && count_leading_zeros) |
Arkadi | 1:574b54755983 | 20 | num_of_leading_zeros = num_of_leading_zeros + 1; |
Arkadi | 1:574b54755983 | 21 | else |
Arkadi | 1:574b54755983 | 22 | count_leading_zeros = false; |
Arkadi | 1:574b54755983 | 23 | end |
Arkadi | 1:574b54755983 | 24 | if (ybat(len-i+1) == 0.0 && count_trailing_zeros) |
Arkadi | 1:574b54755983 | 25 | num_of_trailing_zeros = num_of_trailing_zeros + 1; |
Arkadi | 1:574b54755983 | 26 | else |
Arkadi | 1:574b54755983 | 27 | count_trailing_zeros = false; |
Arkadi | 1:574b54755983 | 28 | end |
Arkadi | 1:574b54755983 | 29 | end |
Arkadi | 1:574b54755983 | 30 | |
Arkadi | 1:574b54755983 | 31 | fprintf('Amount of leading zeros: %d\n',num_of_leading_zeros); |
Arkadi | 1:574b54755983 | 32 | fprintf('Amount of trailing zeros: %d\n',num_of_trailing_zeros); |
Arkadi | 1:574b54755983 | 33 | fprintf('Amount of significant signal samples: %d\n',len - num_of_trailing_zeros - num_of_leading_zeros); |
Arkadi | 1:574b54755983 | 34 | |
Arkadi | 1:574b54755983 | 35 | fileID = fopen(sounddatafilename,'w'); |
Arkadi | 1:574b54755983 | 36 | fprintf(fileID, '#define SAMPLING_FREQUENCY %d\n', Fs); |
Arkadi | 1:574b54755983 | 37 | fprintf(fileID, '#define AMOUNT_OF_LEADING_ZEROS %d\n', num_of_leading_zeros); |
Arkadi | 1:574b54755983 | 38 | fprintf(fileID, '#define AMOUNT_OF_TRAILING_ZEROS %d\n', num_of_trailing_zeros); |
Arkadi | 1:574b54755983 | 39 | fprintf(fileID, '#define AMOUNT_OF_SIGNIFICANT_SAMPLES %d\n', len - num_of_leading_zeros - num_of_trailing_zeros + 1); |
Arkadi | 1:574b54755983 | 40 | fprintf(fileID, 'float sounddata[AMOUNT_OF_SIGNIFICANT_SAMPLES] = {\n'); |
Arkadi | 1:574b54755983 | 41 | |
Arkadi | 1:574b54755983 | 42 | for i = num_of_leading_zeros+1 : len - num_of_trailing_zeros |
Arkadi | 1:574b54755983 | 43 | fprintf(fileID,'%f,', ybat(i)); |
Arkadi | 1:574b54755983 | 44 | if (mod(i,12) == 0) |
Arkadi | 1:574b54755983 | 45 | fprintf(fileID,'\n'); |
Arkadi | 1:574b54755983 | 46 | end |
Arkadi | 1:574b54755983 | 47 | end |
Arkadi | 1:574b54755983 | 48 | fprintf(fileID, '0.0};\n'); |
Arkadi | 1:574b54755983 | 49 | fclose(fileID); |