RealtimeSTT icon indicating copy to clipboard operation
RealtimeSTT copied to clipboard

Wakeword engine oww unknown/unsupported or wake_words not specified. Please specify one of: pvporcupine, openwakeword. NoneType: None

Open leap233 opened this issue 6 months ago • 6 comments

Hi! I found that this issue still exists in the current version: Unable to use 'oww' as the wake word engine, the error is as follows:

RealTimeSTT: realtimestt - ERROR - Wakeword engine oww unknown/unsupported or wake_words not specified. Please specify one of: pvporcupine, openwakeword. NoneType: None

RealTimeSTT: realtimestt - ERROR - Wake word processing error: 'AudioToTextRecorder' object has no attribute 'owwModel' Traceback (most recent call last): File "/root/miniconda3/envs/realtime/lib/python3.10/site-packages/RealtimeSTT/audio_recorder.py", line 2036, in _recording_worker wakeword_index = self._process_wakeword(data) File "/root/miniconda3/envs/realtime/lib/python3.10/site-packages/RealtimeSTT/audio_recorder.py", line 1607, in _process_wakeword prediction = self.owwModel.predict(pcm) AttributeError: 'AudioToTextRecorder' object has no attribute 'owwModel' RealTimeSTT: realtimestt - ERROR - Wake word processing error: 'AudioToTextRecorder' object has no attribute 'owwModel' Traceback (most recent call last): File "/root/miniconda3/envs/realtime/lib/python3.10/site-packages/RealtimeSTT/audio_recorder.py", line 2036, in _recording_worker wakeword_index = self._process_wakeword(data) File "/root/miniconda3/envs/realtime/lib/python3.10/site-packages/RealtimeSTT/audio_recorder.py", line 1607, in _process_wakeword prediction = self.owwModel.predict(pcm) AttributeError: 'AudioToTextRecorder' object has no attribute 'owwModel'

python==3.10.18 This is my code:

def getRecorder(self):
    
    # stt_model = "large-v2"
    stt_model = "tiny"
    
    return AudioToTextRecorder(

        # 唤醒词
        # # pvporcupine/oww  
        
        # # ok
        # # alexa, americano, blueberry, bumblebee, computer, grapefruits, grasshopper, 
        # # hey google, hey siri, jarvis, ok google, picovoice, porcupine, terminator.
        # wakeword_backend="pvporcupine", 
        # wake_words="hey siri",
        
        
        # # bug
        wakeword_backend="oww", 
        # # https://github.com/fwartner/home-assistant-wakewords-collection/tree/main/zh
        # ,models/xiao_ai.onnx,models/xiao_bu.onnx
        openwakeword_model_paths = "models/xiao_zhi.onnx",
        openwakeword_inference_framework = "onnx",
        
        
        wake_words_sensitivity=0.35,
        wake_word_activation_delay=0.1, 
        wake_word_timeout=5,  
        wake_word_buffer_duration=1, 
        silero_deactivity_detection = True,
        spinner=False,
        use_microphone=False,
        model=stt_model,
        language='zh',
        silero_sensitivity=0.8,
        webrtc_sensitivity=3,
        post_speech_silence_duration=2.0, 
        min_length_of_recording=1.0,  
        min_gap_between_recordings=1.0,
        
        enable_realtime_transcription=True,
        realtime_model_type=stt_model,
        realtime_processing_pause=0.1,
        
        on_realtime_transcription_stabilized=text_detected,
        on_wakeword_detected=wakeword_detected,
        on_vad_detect_start=lambda: print("VAD检测开始"),
        on_recording_start=recording_start,
        on_recording_stop=recording_stop
    )

Could you please resolve it as soon as possible? Thank you!

leap233 avatar Jul 08 '25 14:07 leap233

Alright, I found the issue: Even if the pvporcupine engine is not used, the wake_words parameter must not be omitted.

I think this is unreasonable. When using wakeword_backend='oww', it should check the openwakeword_model_paths parameter instead of the wake_words parameter.

leap233 avatar Jul 09 '25 03:07 leap233

I have discovered a new issue: when using "oww" as the wake word engine, it does not respond to voice and fails to detect the wake word. Why is that?

leap233 avatar Jul 09 '25 12:07 leap233

experiencing this same issue with wakeword_backend='oww' in current version.

AttributeError: 'AudioToTextRecorder' object has no attribute 'owwModel'

/Documents/newtest/venv/lib/python3.13/site-packages/RealtimeSTT/audio_recorder.py", line 1607, in _process_wakeword prediction = self.owwModel.predict(pcm) ^^^^^^^^^^^^^ AttributeError: 'AudioToTextRecorder' object has no attribute 'owwModel'

Looking into your library i found self.owwModel is not present. pvporcupine works well but wakeword_backend='oww' , throws error.

even with your example it throws error.

segestic avatar Jul 18 '25 13:07 segestic

当前版本中 wakeword_backend='oww' 也遇到了同样的问题。

AttributeError:“AudioToTextRecorder”对象没有属性“owwModel”

/Documents/newtest/venv/lib/python3.13/site-packages/RealtimeSTT/audio_recorder.py”,第 1607 行,在 _process_wakeword 预测 = self.owwModel.predict(pcm) ^^^^^^^^^^^^^^ AttributeError: 'AudioToTextRecorder' 对象没有属性 'owwModel'

查看您的库,我发现 self.owwModel 不存在。pvporcupine 运行良好,但 wakeword_backend='oww' 会引发错误。

即使按照你的例子,它也会引发错误。

Try setting wake_words=xxx Use the oww engine promptly

leap233 avatar Jul 18 '25 13:07 leap233

当前版本中 wakeword_backend='oww' 也遇到了同样的问题。 AttributeError:“AudioToTextRecorder”对象没有属性“owwModel” /Documents/newtest/venv/lib/python3.13/site-packages/RealtimeSTT/audio_recorder.py”,第 1607 行,在 _process_wakeword 预测 = self.owwModel.predict(pcm) ^^^^^^^^^^^^^^ AttributeError: 'AudioToTextRecorder' 对象没有属性 'owwModel' 查看您的库,我发现 self.owwModel 不存在。pvporcupine 运行良好,但 wakeword_backend='oww' 会引发错误。 即使按照你的例子,它也会引发错误。

Try setting wake_words=xxx Use the oww engine promptly

adding wake_words=.... gives below error:

RuntimeError: cannot schedule new futures after interpreter shutdown

segestic avatar Jul 21 '25 08:07 segestic

I was getting the same issue. Resolved by using the below:

with AudioToTextRecorder(
        model='small',
        language='en',
        wakeword_backend='oww',
        wake_words="hey jarvis",
        spinner=True,
        device='cpu',
    ) as recorder:
        while True:
            query = recorder.text(process_text)

by specifying wakeword_backend='oww' and wake_words='hey jarvis' based on the pretrained model wake words found here: https://github.com/dscripka/openWakeWord?tab=readme-ov-file#pre-trained-models

bl3e967 avatar Aug 06 '25 17:08 bl3e967