summaryrefslogtreecommitdiff
path: root/HOWTO.md
blob: afd517e9c8d83df68c66e6a1ceae11910bade42d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# How To

This document describes the common commands for building and testing the project.

## Features

*   **Real-time Audio Synthesis**: The demo features a multi-voice synthesizer that generates audio in real-time from spectrograms.
*   **Dynamic Sound Updates**: Spectrograms can be updated dynamically and safely during runtime for evolving soundscapes.

## Building

### Debug Build

```bash
cmake -S . -B build
cmake --build build
```

### Size-Optimized Build

```bash
cmake -S . -B build -DDEMO_SIZE_OPT=ON
cmake --build build
```

## Testing

To build and run the tests, you need to enable the `DEMO_BUILD_TESTS` option in CMake.

Available test suites:
*   `HammingWindowTest`: Verifies the properties of the Hamming window function.
*   `SynthEngineTest`: Verifies the core functionality of the audio synthesizer.

```bash
cmake -S . -B build -DDEMO_BUILD_TESTS=ON
cmake --build build
cd build
ctest
cd ..
```