how to process long-form?

#11
by dominik-machacek - opened

Hi,
I want to process an audio with continuous speech that is 12 minutes long. How to do it? When I run suggested the asr_model.transcribe method, it hallucinates a lot:

Hallo, hier ist Elena, und ich werde unsere Arbeit über das Detecten von unassimilierten Borrowings in Spanisch und annotierten Korpus und Ansätze zur Modellierung präsentieren. Wir werden also behandeln, was lexikalisches Borrowing ist, die Aufgabe, die wir vorgeschlagen haben, die Datenbank, die wir für die Spanisch-Spanisch-Borrowing und die Spanisch-Spanisch-Borrowing-Modelle erstellt haben, die sich mit den Borrowing-Modellen, die wir für die Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Span-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Spanisch-Span-Spanisch-Spanisch-Spanisch-Spanisch

When I run the same file through a demo at https://huggingface.co/spaces/nvidia/canary-1b-v2 , it works fine, there is a meaningful translation until the end.
Is there another function or script?

Thanks!

I had the same problem.
You need to use the version with timestamp (parameter timestamps=True). Please note that the current stable version of Nemo is 2.4.0rc3 (as of August 31, 2025). You need to install the development version on main because the model card specifies that “Use main branch of NeMo to get timestamps until it is released in NeMo 2.5.” So, if you don't have the correct version of Nemo installed :

pip uninstall nemo-toolkit
pip install git+https://github.com/NVIDIA/NeMo.git@main

Then :

output = model.transcribe(['your_path'],source_lang='your_input_lang', target_lang='your_output_lang', timestamps=True,)
segment_timestamps = output[0].timestamp['segment']
print(segment_timestamps)

Thanks! The development version works, even without timestamps. (I don't need them, btw.)

dominik-machacek changed discussion status to closed

Can you share a working pyproject.toml for the requirements? Or if not possible a requirements.txt (frozen)?

sorry, I can't. I don't know what is pyproject.toml .

Can you call pip freeze and share the output?

Sign up or log in to comment