NVIDIA / NVIDIA/NeMo-Speech.cpp
TTS-only presets cannot build with NEMO_SPEECH_BUILD_TESTS=ON
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 117
- Forks
- 29
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 6
Description
tests/cpp/CMakeLists.txt adds the tts subdirectory whenever NEMO_SPEECH_BUILD_TTS is on, but tests/cpp/tts/CMakeLists.txt adds test_magpietts_asr unconditionally and links nemo_speech_asr and tests_cpp_wer. Neither exists in a TTS-only build, so configuration succeeds and the build then fails.
Reproduced on main (69d7fd4), macOS 26.6.2:
scripts/configure.sh cpu-tts -DNEMO_SPEECH_BUILD_TESTS=ON
cmake --build build/cpu-tts
tests/cpp/tts/test_magpietts_asr.cpp:22:10: fatal error: 'recognizer.h' file not found
22 | #include "recognizer.h" // RecognizerConfig
Not platform-specific: cpu-tts and metal-tts both reproduce it. CI does not catch it because the macOS job builds metal-speech, which has ASR on.
The fix looks like guarding that target the way test_magpietts_cached_attention is guarded twelve lines above:
if(NEMO_SPEECH_BUILD_ASR)
add_executable(test_magpietts_asr test_magpietts_asr.cpp)
...
endif()
I have checked that this builds cpu-tts with tests enabled, and that cpu-speech still produces test_magpietts_asr. PR to follow.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in tests/cpp/tts/CMakeLists.txt, comparing test_magpietts_asr with the guarded test_magpietts_cached_attention target. Configure and build the cpu-tts test setup, then verify that the TTS-only build succeeds while the cpu-speech build still produces test_magpietts_asr.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system, testing
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 90/100