Ant-Brain / EfficientWord-Net

OneShot Learning-based hotword detection.
https://ant-brain.github.io/EfficientWord-Net/
Apache License 2.0
234 stars 37 forks source link

Double detection #40

Closed m1guelperez closed 1 year ago

m1guelperez commented 1 year ago

Sometimes when saying the hotword it gets recognized two times. Changing the relaxation time does not solve the issue. This happens with mycroft as well as custom words.

Here are the dependencies I use. I am using a fork with a newer numpy version. I am on a MacBook pro with m2 max and Ventura 13.5

appdirs==1.4.4
audioread==3.0.0
certifi==2023.7.22
cffi==1.15.1
charset-normalizer==2.0.12
click==8.1.6
coloredlogs==15.0.1
decorator==5.1.1
flatbuffers==23.5.26
humanfriendly==10.0
idna==3.4
joblib==1.3.1
lazy_loader==0.3
librosa==0.10.0.post2
llvmlite==0.40.1
markdown-it-py==3.0.0
mdurl==0.1.2
mpmath==1.3.0
msgpack==1.0.5
numba==0.57.1
numpy==1.24.0
onnxruntime==1.15.1
packaging==23.1
pooch==1.6.0
protobuf==4.23.4
PyAudio==0.2.13
pycparser==2.21
Pygments==2.16.1
pyobjc==9.0.1
pyobjc-core==9.0.1
pyobjc-framework-Accessibility==9.0.1
pyobjc-framework-Accounts==9.0.1
pyobjc-framework-AddressBook==9.0.1
pyobjc-framework-AdServices==9.0.1
pyobjc-framework-AdSupport==9.0.1
pyobjc-framework-AppleScriptKit==9.0.1
pyobjc-framework-AppleScriptObjC==9.0.1
pyobjc-framework-ApplicationServices==9.0.1
pyobjc-framework-AppTrackingTransparency==9.0.1
pyobjc-framework-AudioVideoBridging==9.0.1
pyobjc-framework-AuthenticationServices==9.0.1
pyobjc-framework-AutomaticAssessmentConfiguration==9.0.1
pyobjc-framework-Automator==9.0.1
pyobjc-framework-AVFoundation==9.0.1
pyobjc-framework-AVKit==9.0.1
pyobjc-framework-AVRouting==9.0.1
pyobjc-framework-BackgroundAssets==9.0.1
pyobjc-framework-BusinessChat==9.0.1
pyobjc-framework-CalendarStore==9.0.1
pyobjc-framework-CallKit==9.0.1
pyobjc-framework-CFNetwork==9.0.1
pyobjc-framework-ClassKit==9.0.1
pyobjc-framework-CloudKit==9.0.1
pyobjc-framework-Cocoa==9.0.1
pyobjc-framework-Collaboration==9.0.1
pyobjc-framework-ColorSync==9.0.1
pyobjc-framework-Contacts==9.0.1
pyobjc-framework-ContactsUI==9.0.1
pyobjc-framework-CoreAudio==9.0.1
pyobjc-framework-CoreAudioKit==9.0.1
pyobjc-framework-CoreBluetooth==9.0.1
pyobjc-framework-CoreData==9.0.1
pyobjc-framework-CoreHaptics==9.0.1
pyobjc-framework-CoreLocation==9.0.1
pyobjc-framework-CoreMedia==9.0.1
pyobjc-framework-CoreMediaIO==9.0.1
pyobjc-framework-CoreMIDI==9.0.1
pyobjc-framework-CoreML==9.0.1
pyobjc-framework-CoreMotion==9.0.1
pyobjc-framework-CoreServices==9.0.1
pyobjc-framework-CoreSpotlight==9.0.1
pyobjc-framework-CoreText==9.0.1
pyobjc-framework-CoreWLAN==9.0.1
pyobjc-framework-CryptoTokenKit==9.0.1
pyobjc-framework-DataDetection==9.0.1
pyobjc-framework-DeviceCheck==9.0.1
pyobjc-framework-DictionaryServices==9.0.1
pyobjc-framework-DiscRecording==9.0.1
pyobjc-framework-DiscRecordingUI==9.0.1
pyobjc-framework-DiskArbitration==9.0.1
pyobjc-framework-DVDPlayback==9.0.1
pyobjc-framework-EventKit==9.0.1
pyobjc-framework-ExceptionHandling==9.0.1
pyobjc-framework-ExecutionPolicy==9.0.1
pyobjc-framework-ExtensionKit==9.0.1
pyobjc-framework-ExternalAccessory==9.0.1
pyobjc-framework-FileProvider==9.0.1
pyobjc-framework-FileProviderUI==9.0.1
pyobjc-framework-FinderSync==9.0.1
pyobjc-framework-FSEvents==9.0.1
pyobjc-framework-GameCenter==9.0.1
pyobjc-framework-GameController==9.0.1
pyobjc-framework-GameKit==9.0.1
pyobjc-framework-GameplayKit==9.0.1
pyobjc-framework-HealthKit==9.0.1
pyobjc-framework-ImageCaptureCore==9.0.1
pyobjc-framework-IMServicePlugIn==9.0.1
pyobjc-framework-InputMethodKit==9.0.1
pyobjc-framework-InstallerPlugins==9.0.1
pyobjc-framework-InstantMessage==9.0.1
pyobjc-framework-Intents==9.0.1
pyobjc-framework-IntentsUI==9.0.1
pyobjc-framework-IOBluetooth==9.2
pyobjc-framework-IOBluetoothUI==9.2
pyobjc-framework-IOSurface==9.0.1
pyobjc-framework-iTunesLibrary==9.0.1
pyobjc-framework-KernelManagement==9.0.1
pyobjc-framework-LatentSemanticMapping==9.0.1
pyobjc-framework-LaunchServices==9.0.1
pyobjc-framework-libdispatch==9.0.1
pyobjc-framework-libxpc==9.2
pyobjc-framework-LinkPresentation==9.0.1
pyobjc-framework-LocalAuthentication==9.0.1
pyobjc-framework-LocalAuthenticationEmbeddedUI==9.0.1
pyobjc-framework-MailKit==9.0.1
pyobjc-framework-MapKit==9.0.1
pyobjc-framework-MediaAccessibility==9.0.1
pyobjc-framework-MediaLibrary==9.0.1
pyobjc-framework-MediaPlayer==9.0.1
pyobjc-framework-MediaToolbox==9.0.1
pyobjc-framework-Metal==9.0.1
pyobjc-framework-MetalFX==9.0.1
pyobjc-framework-MetalKit==9.0.1
pyobjc-framework-MetalPerformanceShaders==9.0.1
pyobjc-framework-MetalPerformanceShadersGraph==9.0.1
pyobjc-framework-MetricKit==9.0.1
pyobjc-framework-MLCompute==9.0.1
pyobjc-framework-ModelIO==9.0.1
pyobjc-framework-MultipeerConnectivity==9.0.1
pyobjc-framework-NaturalLanguage==9.0.1
pyobjc-framework-NetFS==9.0.1
pyobjc-framework-Network==9.0.1
pyobjc-framework-NetworkExtension==9.0.1
pyobjc-framework-NotificationCenter==9.0.1
pyobjc-framework-OpenDirectory==9.0.1
pyobjc-framework-OSAKit==9.0.1
pyobjc-framework-OSLog==9.0.1
pyobjc-framework-PassKit==9.0.1
pyobjc-framework-PencilKit==9.0.1
pyobjc-framework-PHASE==9.2
pyobjc-framework-Photos==9.0.1
pyobjc-framework-PhotosUI==9.0.1
pyobjc-framework-PreferencePanes==9.0.1
pyobjc-framework-PushKit==9.0.1
pyobjc-framework-Quartz==9.0.1
pyobjc-framework-QuickLookThumbnailing==9.0.1
pyobjc-framework-ReplayKit==9.0.1
pyobjc-framework-SafariServices==9.0.1
pyobjc-framework-SafetyKit==9.0.1
pyobjc-framework-SceneKit==9.0.1
pyobjc-framework-ScreenCaptureKit==9.0.1
pyobjc-framework-ScreenSaver==9.0.1
pyobjc-framework-ScreenTime==9.0.1
pyobjc-framework-ScriptingBridge==9.0.1
pyobjc-framework-SearchKit==9.0.1
pyobjc-framework-Security==9.0.1
pyobjc-framework-SecurityFoundation==9.0.1
pyobjc-framework-SecurityInterface==9.0.1
pyobjc-framework-ServiceManagement==9.0.1
pyobjc-framework-SharedWithYou==9.0.1
pyobjc-framework-SharedWithYouCore==9.0.1
pyobjc-framework-ShazamKit==9.0.1
pyobjc-framework-Social==9.0.1
pyobjc-framework-SoundAnalysis==9.0.1
pyobjc-framework-Speech==9.0.1
pyobjc-framework-SpriteKit==9.0.1
pyobjc-framework-StoreKit==9.0.1
pyobjc-framework-SyncServices==9.0.1
pyobjc-framework-SystemConfiguration==9.0.1
pyobjc-framework-SystemExtensions==9.0.1
pyobjc-framework-ThreadNetwork==9.0.1
pyobjc-framework-UniformTypeIdentifiers==9.0.1
pyobjc-framework-UserNotifications==9.0.1
pyobjc-framework-UserNotificationsUI==9.0.1
pyobjc-framework-VideoSubscriberAccount==9.0.1
pyobjc-framework-VideoToolbox==9.0.1
pyobjc-framework-Virtualization==9.0.1
pyobjc-framework-Vision==9.0.1
pyobjc-framework-WebKit==9.0.1
pyttsx3==2.90
requests==2.26.0
rich==13.5.2
scikit-learn==1.3.0
scipy==1.11.1
soundfile==0.12.1
soxr==0.3.5
sympy==1.12
tflite-runtime==2.5.0.post1
threadpoolctl==3.2.0
typer==0.9.0
typing_extensions==4.7.1
urllib3==1.26.16
TheSeriousProgrammer commented 1 year ago

changing the sliding window in your micstream can help

mic_stream = SimpleMicStream(
    window_length_secs=1.5,
    sliding_window_secs=0.75,
)
m1guelperez commented 1 year ago

Increasing the sliding_window_secs helped a lot. Thanks!