Skip to content
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
d5a49c7
feat(p56): extend speech voltmeter to support arbitrary bit depths
Apr 28, 2026
5aa41cb
chore(build): update CMake minimum version and clean up .gitignore
Apr 28, 2026
447610c
🔧 chore(build): enforce 32-bit build configuration
May 11, 2026
9a466a0
🔧 chore: add /build to .gitignore
May 11, 2026
44a86e0
feat(sv56): enhance speech voltmeter for arbitrary bit depths
May 21, 2026
827065c
🧪 test(sv56): update test configurations and working directories
May 26, 2026
dafb0df
🛠️ chore(cmake): update minimum version and remove 32-bit enforcement
May 28, 2026
9782426
feat(sv56): add variable bit-width support and new utilities
May 28, 2026
0c7aa82
🔥 chore(sv56): remove test data files from .gitignore
May 29, 2026
353558a
feat(sv56): add reference and source files for 16, 24, and 32 bit audio
May 29, 2026
a454ec9
doc(sv56): update manual for arbitrary bit depth support
May 27, 2026
3351935
feat(sv56): re-integrate WAV I/O with multi-bit-depth support
Jun 4, 2026
1dd843d
fix(test): use CRLF-tolerant text comparison for log verify tests
Jun 4, 2026
cb2301d
doc(sv56): update README with WAV support and bit-depth comparison
Jun 4, 2026
c1bfec2
test(sv56): add 12-bit test cases for bitno backward compatibility
Jun 5, 2026
4a1c219
refactor(sv56): remove sv56-util.h, use wav_io.h in actlevel.c
Jun 8, 2026
3352078
Merge pull request #1 from ludomal/sv56_wavio
jr2804 Jun 9, 2026
f5e49bd
✨ feat(wav_io): add support for 8/16/24/32-bit PCM and 32-bit float WAV
Jun 9, 2026
1e1056a
🐛 fix(wav_io): correct bps check for 8-bit samples (not 1-bit!)
Jun 9, 2026
545c35e
feat(sv56): update actlev for 24/32-bit WAV support
Jun 9, 2026
b2cbeca
Merge pull request #2 from ludomal/sv56_wavio
jr2804 Jun 9, 2026
9b48cb6
Merge branch 'feature/p56-bitdepth-extension' of https://github.com/j…
Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .gitignore
Comment thread
jr2804 marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ src/is54/test_data/voice.bec
src/is54/test_data/voice.hbs
!src/is54/test_data/voice.log
src/is54/test_data/voice.rek
src/sv56/test_data/voice.prc
src/sv56/test_data/voice.rms
src/unsup/test_data/astrip.blk
src/unsup/test_data/undo.txt
src/utl/test_data/voice.rnp
Expand Down Expand Up @@ -97,3 +95,8 @@ bld/
.vs/
*vcxproj*
*.sln*
.vscode/
/build
*.double
stderr.txt
stdout.txt
6 changes: 4 additions & 2 deletions CMakeLists.txt
Comment thread
jr2804 marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
cmake_minimum_required(VERSION 3.1)
cmake_minimum_required(VERSION 3.10)

project(STL2023 VERSION 2023)
add_definitions( -DVERSION_STL="${CMAKE_PROJECT_NAME}" )

add_definitions( -DVERSION_STL="${CMAKE_PROJECT_NAME}" -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

Expand Down
25 changes: 25 additions & 0 deletions cmake/CompareTextFiles.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# cmake/CompareTextFiles.cmake
# Compare two text files, ignoring line-ending differences (CRLF vs LF).
#
# Usage (from a -P script):
# include(/path/to/CompareTextFiles.cmake)
# compare_text_files(GOT <file> EXPECTED <file> [LABEL <name>])

function(compare_text_files)
cmake_parse_arguments(_CTF "" "GOT;EXPECTED;LABEL" "" ${ARGN})

file(READ "${_CTF_GOT}" _got)
string(REPLACE "\r\n" "\n" _got "${_got}")

file(READ "${_CTF_EXPECTED}" _want)
string(REPLACE "\r\n" "\n" _want "${_want}")

if(NOT _got STREQUAL _want)
message(FATAL_ERROR "Text file mismatch: ${_CTF_LABEL}\n--- got ---\n${_got}\n--- expected ---\n${_want}")
endif()
endfunction()

# Auto-invoke when called via cmake -P with -D variables
if(DEFINED GOT AND DEFINED EXPECTED)
compare_text_files(GOT "${GOT}" EXPECTED "${EXPECTED}" LABEL "${LABEL}")
endif()
81 changes: 52 additions & 29 deletions doc/manual/sv56.tex
Original file line number Diff line number Diff line change
Expand Up @@ -220,13 +220,15 @@ \section{Implementation}
needed in this approach. These state variables have been arranged as
fields of a structure whose name is {\tt SVP56\_state}. The fields of
the structure are\footnote{\SF All the fields are \double, except the
\float\ $f$ and the {\tt unsigned long} {\em a[]}, {\em hang[]}, and
{\em n}.}:
\float\ $f$, the {\tt int} {\em thres\_no} and {\em bitno}, and the
{\tt unsigned long} {\em a[]}, {\em hang[]}, and {\em n}.}:
\begin{quote} \normalsize
{\em f} \hfill \parbox{100mm}{\SF Sampling frequency, in Hz }\\
{\em a[15]} \hfill \parbox{100mm}{\SF Activity count }\\
{\em c[15]} \hfill \parbox{100mm}{\SF Threshold level }\\
{\em hang[15]} \hfill \parbox{100mm}{\SF Hangover count }\\
{\em a[]} \hfill \parbox{100mm}{\SF Activity count (size: {\em thres\_no}) }\\
{\em c[]} \hfill \parbox{100mm}{\SF Threshold level (size: {\em thres\_no}) }\\
{\em hang[]} \hfill \parbox{100mm}{\SF Hangover count (size: {\em thres\_no}) }\\
{\em thres\_no} \hfill \parbox{100mm}{\SF Number of thresholds in use ($= bitno - 1$) }\\
{\em bitno} \hfill \parbox{100mm}{\SF Bit depth of input signal (1--32, default 16) }\\
{\em n} \hfill \parbox{100mm}{\SF Number of samples read since last
reset }\\
{\em s} \hfill \parbox{100mm}{\SF Sum of all samples since last
Expand Down Expand Up @@ -270,7 +272,7 @@ \subsection{{\tt init\_speech\_voltmeter}}
\#include "sv-p56.h"\\
void init\_speech\_voltmeter
\pbox{110mm}{
(SVP56\_state {\em *state}, double {\em f});
(SVP56\_state {\em *state}, double {\em f}, int {\em bitno});
}
}

Expand All @@ -280,13 +282,21 @@ \subsection{{\tt init\_speech\_voltmeter}}

{\tt init\_speech\_voltmeter} performs the initialization of the
speech voltmeter state variables in the structure pointed by {\em
state} to the appropriate initial values. The only value required from
the user is the sampling rate $f$ (in Hz) of the signal that the speech
voltmeter is supposed to measure. Note that when measuring new
state} to the appropriate initial values. The user must specify the
sampling rate $f$ (in Hz) and the bit depth {\em bitno} of the signal
that the speech voltmeter is supposed to measure. The bit depth
determines the number of thresholds used ($B-1$) and must be in the
range 1 to 32. Note that when measuring new
speech material, the state variable shall be re-initialized, otherwise
accumulation of previous measurements will happen and wrong measurements
will be reported.

The header file {\tt sv-p56.h} defines two constants that control the
maximum bit depth supported:
\begin{quote} \normalsize
{\tt SVP56\_MAX\_NO\_BITS} \hfill \parbox{100mm}{\SF Maximum bit depth supported (default: 32). }\\
{\tt SVP56\_MAX\_THRESHOLDS} \hfill \parbox{100mm}{\SF Maximum number of thresholds ($=$ SVP56\_MAX\_NO\_BITS $-$ 1). }
\end{quote}


{\bf Variables: }
Expand All @@ -298,6 +308,12 @@ \subsection{{\tt init\_speech\_voltmeter}}
Is the sampling rate (in Hz) of the signal to be measured in
the next calls of {\tt speech\_voltmeter}. If zero or
negative, the sampling rate is initialized to 16000 Hz.

\item[\pbox{20mm}{\em bitno}] %\rulex{1mm}\\
Is the bit depth (resolution) of the input signal, in the
range 1 to 32. This determines the number of threshold levels
used by the algorithm ($B-1$ thresholds). For standard
telephony, use 16.
\end{Descr}

{\bf Return value: }
Expand Down Expand Up @@ -435,25 +451,30 @@ \section{Portability and compliance}
input file, which is saved in an aoutput file. Levels are reported in
dBov.

In general, input files are in integer representation, 16-bit words,
2's complement (i.e., {\tt short} data). In UGST convention, this
data must be left-adjusted, {\em rather} than right-adjusted. Since
the speech voltmeter uses {\tt float} input data, it is necessary to
convert from {\tt short} (in the mentioned format) to {\tt float};
this is carried out by the function {\tt sh2fl()}. In addition, the
option to `normalize' the input data to the range -1..+1 is selected.
The example programs support variable bit-width input files from 8 to
32 bits per sample (controlled by the {\em bitno} parameter). Supported
storage widths are 8-bit (1 byte/sample), 16-bit (2 bytes/sample),
24-bit (3 bytes/sample), and 32-bit (4 bytes/sample). For bit depths
between 12 and 15, samples are stored in 2 bytes with the least
significant bits masked to zero. Files use native byte order.

Since the speech voltmeter uses {\tt float} input data normalized to
the range --1.0..+1.0, the helper functions in {\tt sv56-util.h} handle
the conversion between raw integer samples and normalized floats:
{\tt sv56\_raw2fl()} reads raw bytes and normalizes by dividing by
$2^{bitno-1}$, and {\tt sv56\_fl2raw()} performs the inverse operation
with truncation and hard-clipping.
After the equalization factor is found, results are reported on the
screen, which varies according to the program used and some of the
command-line options.
command-line options.

While program {\tt actlevel.c} stops at this point, program {\tt
sv56demo.c} proceeds calling the function {\tt scale()} to carry out
the (amplitude) equalization using single (rather than double) float
precision. After equalization, the samples are converted back to
integer (short, right-justified) with the routine {\tt fl2sh()} using
truncation, no zero-padding of the least significant bits,
left-justification of data, and hard-clipping of data above the
overload point. After that, data is saved to the user-specified file .
raw integer format with {\tt sv56\_fl2raw()} using
truncation and hard-clipping of data above the
overload point. After that, data is saved to the user-specified file.


%-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
Expand All @@ -471,7 +492,7 @@ \section{Portability and compliance}
#include <math.h>
#include "ugstdemo.h" /* ... UGST demonstration program defs ... */
#include "sv-p56.h" /* ... SV-P56 prototypes & defs ... */
#include "ugst-utl.h" /* ... UGST utilities ... */
#include "sv56-util.h" /* ... SV56 I/O utilities ... */
#define BLK_LEN 256

void main(argc, argv)
Expand All @@ -482,7 +503,8 @@ \section{Portability and compliance}
char FileIn[180]; /* input file name */
FILE *Fi; /* input file pointers */
long N=BLK_LEN, l;
short bitno, buffer[BLK_LEN];
int bitno, bps;
unsigned char raw_buf[BLK_LEN * 4];
float Buf[BLK_LEN];
double ActiveLeveldB, sf, satur;

Expand All @@ -493,20 +515,21 @@ \section{Portability and compliance}
FIND_PAR_D(2, "_Sampling Frequency: .. ", sf, 16000);
FIND_PAR_L(3, "_A/D resolution: ...... ", bitno, 16);

/* Calculate overload point in the non-normalized range */
/* Calculate bytes per sample and overload point */
bps = sv56_bytes_per_sample(bitno);
satur = pow ((double)2.0, (double)(bitno - 1));

/* Reset- variables for speech level measurements */
init_speech_voltmeter(&state, sf);
init_speech_voltmeter(&state, sf, bitno);

/* Opening input file */
Fi = fopen(FileIn, RB);

/* Read samples ... */
while ((l = fread(buffer, N, sizeof(short), Fi)) > 0)
while ((l = fread(raw_buf, bps, N, Fi)) > 0)
{
/* ... Convert samples to float, normalizing to +1..-1 */
sh2fl((long) l, buffer, Buf, (long) state.bitno, 1);
/* ... Convert raw samples to float, normalizing to +1..-1 */
sv56_raw2fl((long) l, raw_buf, Buf, bitno);

/* ... Get the active level */
ActiveLeveldB = speech_voltmeter(Buf, (long) l, &state);
Expand All @@ -524,7 +547,7 @@ \section{Portability and compliance}
printf("\n Maximum negative value: .. %7.0f [PCM]",
SVP56_get_neg_max(state) * satur);
printf("\n Long-term energy (rms): .. %7.3f [dBov]",
SVP56_get_rms_dB(state);
SVP56_get_rms_dB(state));
printf("\n Active speech level: ..... %7.3f [dBov]", ActiveLeveldB);
printf("\n Activity factor: ......... %7.3f [%%]",
SVP56_get_activity(state));
Expand Down
3 changes: 3 additions & 0 deletions src/sv56/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
**/*.out
test_data/voice.prc
test_data/voice.rms
96 changes: 92 additions & 4 deletions src/sv56/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,105 @@
include_directories(../g711)
include_directories(../utl)

add_executable(sv56demo sv56demo.c sv-p56.c ../utl/ugst-utl.c)
add_executable(sv56demo sv56demo.c sv-p56.c ../utl/ugst-utl.c ../utl/wav_io.c)
target_link_libraries(sv56demo ${M_LIBRARY})

add_executable(actlev actlevel.c sv-p56.c ../utl/ugst-utl.c)
add_executable(actlev actlevel.c sv-p56.c ../utl/ugst-utl.c ../utl/wav_io.c)
target_link_libraries(actlev ${M_LIBRARY})

add_test(sv56demo1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q test_data/voice.src test_data/voice.prc 256 1 0 -30)
add_test(sv56demo1-verify ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cf -q test_data/voice.nrm test_data/voice.prc)
set_tests_properties(sv56demo1 PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo1-verify ${CMAKE_COMMAND} -E compare_files test_data/voice.nrm test_data/voice.prc)
set_tests_properties(sv56demo1-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo2 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q -rms test_data/voice.src test_data/voice.rms 256 1 0 -30)
add_test(sv56demo2-verify ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cf -q test_data/voice.ltl test_data/voice.rms)
set_tests_properties(sv56demo2 PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo2-verify ${CMAKE_COMMAND} -E compare_files test_data/voice.ltl test_data/voice.rms)
set_tests_properties(sv56demo2-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo3 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/actlev -q test_data/voice.src test_data/voice.nrm test_data/voice.prc test_data/voice.ltl test_data/voice.rms)
set_tests_properties(sv56demo3 PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

# 12-bit backward compatibility test
add_test(sv56demo4 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q -log test_data/voice_12bit.log test_data/voice.src test_data/voice_12bit.prc 256 1 0 -30 16000 12)
set_tests_properties(sv56demo4 PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_test(sv56demo4-verify ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cf -q test_data/voice_12bit.nrm test_data/voice_12bit.prc)
set_tests_properties(sv56demo4-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS sv56demo4)
add_test(sv56demo4-log-verify ${CMAKE_COMMAND} -E compare_files test_data/voice_12bit.log.ref test_data/voice_12bit.log)
set_tests_properties(sv56demo4-log-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS sv56demo4)

# WAV integration tests
add_test(sv56demo-wav-24bit-normal ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q test_data/speech_normal_24bit.wav test_data/speech_normal_24bit.out)
set_tests_properties(sv56demo-wav-24bit-normal PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-24bit-normal-verify ${CMAKE_COMMAND} -E compare_files test_data/speech_normal_24bit.ref test_data/speech_normal_24bit.out)
set_tests_properties(sv56demo-wav-24bit-normal-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-32bit ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q test_data/speech_normal_32bit.wav test_data/speech_normal_32bit.out)
set_tests_properties(sv56demo-wav-32bit PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-32bit-verify ${CMAKE_COMMAND} -E compare_files test_data/speech_normal_32bit.ref test_data/speech_normal_32bit.out)
set_tests_properties(sv56demo-wav-32bit-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-24bit ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q test_data/speech_quiet_24bit.wav test_data/speech_quiet_24bit.out)
set_tests_properties(sv56demo-wav-24bit PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-24bit-verify ${CMAKE_COMMAND} -E compare_files test_data/speech_quiet_24bit.ref test_data/speech_quiet_24bit.out)
set_tests_properties(sv56demo-wav-24bit-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-float ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q test_data/speech_quiet_32bit_float.wav test_data/speech_quiet_32bit_float.out)
set_tests_properties(sv56demo-wav-float PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-float-verify ${CMAKE_COMMAND} -E compare_files test_data/speech_quiet_32bit_float.ref test_data/speech_quiet_32bit_float.out)
set_tests_properties(sv56demo-wav-float-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-vquiet-32bit ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q test_data/speech_vquiet_32bit.wav test_data/speech_vquiet_32bit.out)
set_tests_properties(sv56demo-wav-vquiet-32bit PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-vquiet-32bit-verify ${CMAKE_COMMAND} -E compare_files test_data/speech_vquiet_32bit.ref test_data/speech_vquiet_32bit.out)
set_tests_properties(sv56demo-wav-vquiet-32bit-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-vquiet-16bit-adc ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q -bits 16 test_data/speech_vquiet_32bit.wav test_data/speech_vquiet_32bit_16bit.out)
set_tests_properties(sv56demo-wav-vquiet-16bit-adc PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-vquiet-16bit-adc-verify ${CMAKE_COMMAND} -E compare_files test_data/speech_vquiet_32bit_16bit.ref test_data/speech_vquiet_32bit_16bit.out)
set_tests_properties(sv56demo-wav-vquiet-16bit-adc-verify PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

# WAV text output (statistics) verification tests
add_test(sv56demo-wav-24bit-normal-log ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q -log test_data/speech_normal_24bit.log test_data/speech_normal_24bit.wav test_data/speech_normal_24bit.out)
set_tests_properties(sv56demo-wav-24bit-normal-log PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-24bit-normal-log-verify ${CMAKE_COMMAND}
-DGOT=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_normal_24bit.log
-DEXPECTED=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_normal_24bit.log.ref
-DLABEL=sv56demo-wav-24bit-normal-log
-P ${CMAKE_SOURCE_DIR}/cmake/CompareTextFiles.cmake)

add_test(sv56demo-wav-32bit-log ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q -log test_data/speech_normal_32bit.log test_data/speech_normal_32bit.wav test_data/speech_normal_32bit.out)
set_tests_properties(sv56demo-wav-32bit-log PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-32bit-log-verify ${CMAKE_COMMAND}
-DGOT=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_normal_32bit.log
-DEXPECTED=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_normal_32bit.log.ref
-DLABEL=sv56demo-wav-32bit-log
-P ${CMAKE_SOURCE_DIR}/cmake/CompareTextFiles.cmake)

add_test(sv56demo-wav-vquiet-32bit-log ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q -log test_data/speech_vquiet_32bit.log test_data/speech_vquiet_32bit.wav test_data/speech_vquiet_32bit.out)
set_tests_properties(sv56demo-wav-vquiet-32bit-log PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-vquiet-32bit-log-verify ${CMAKE_COMMAND}
-DGOT=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_vquiet_32bit.log
-DEXPECTED=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_vquiet_32bit.log.ref
-DLABEL=sv56demo-wav-vquiet-32bit-log
-P ${CMAKE_SOURCE_DIR}/cmake/CompareTextFiles.cmake)

add_test(sv56demo-wav-vquiet-16bit-adc-log ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/sv56demo -q -log test_data/speech_vquiet_32bit_16bit.log -bits 16 test_data/speech_vquiet_32bit.wav test_data/speech_vquiet_32bit_16bit.out)
set_tests_properties(sv56demo-wav-vquiet-16bit-adc-log PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

add_test(sv56demo-wav-vquiet-16bit-adc-log-verify ${CMAKE_COMMAND}
-DGOT=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_vquiet_32bit_16bit.log
-DEXPECTED=${CMAKE_CURRENT_SOURCE_DIR}/test_data/speech_vquiet_32bit_16bit.log.ref
-DLABEL=sv56demo-wav-vquiet-16bit-adc-log
-P ${CMAKE_SOURCE_DIR}/cmake/CompareTextFiles.cmake)
Loading