Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 14 06:00
    Sispheor commented #643
  • Oct 14 06:00

    Sispheor on dev

    Fix gevent segmentation fault (compare)

  • Oct 14 06:00
    Sispheor closed #643
  • Oct 13 16:14
    corus87 commented #643
  • Oct 13 16:08
    Sispheor commented #643
  • Oct 13 16:08
    Sispheor commented #643
  • Oct 12 14:37
    corus87 opened #643
  • Oct 12 14:16
    corus87 commented #641
  • Oct 12 14:03
    corus87 commented #641
  • Oct 12 13:15
    Sispheor commented #641
  • Oct 12 13:08
    corus87 commented #641
  • Oct 12 13:08
    corus87 commented #641
  • Oct 12 13:03
    corus87 opened #642
  • Oct 07 19:32
    corus87 commented #641
  • Oct 07 19:11
    arnodu59115 commented #641
  • Oct 07 19:10
    arnodu59115 commented #641
  • Oct 07 11:33
    corus87 commented #641
  • Oct 07 11:23
    arnodu59115 commented #641
  • Oct 07 10:55
    corus87 commented #641
  • Oct 07 10:45
    arnodu59115 commented #641
Patrick
@corus87
don't forget to set apply_frontend to True
Juanpa
@juanpa669
Thanks @corus87 I will give a try ;)
lua86
@lua86
Snowboy has so many false positives while singing.
Patrick
@corus87
@lua86 It's not snowboy, it depends on the model and how well the model is trained
Juanpa
@juanpa669
I made short test for now, with your settings, and it seems to work great. just have to give a try with a loud background
Nicolas Marcq
@Sispheor
Somebody already played with z-wave and Somfy product with a rpi?
Riseryn
@Riseryn
Nope i use zigbee.
Juanpa
@juanpa669
no but with shelly, managed by kalliope and/or Home assistant all on rpi
Juanpa
@juanpa669
@corus87 Thanks a lot ! It works perfectly with your settings umdl etc...
Riseryn
@Riseryn
Hello, can we expect to see in a near future another self hosted stt . I would appreciate to be independant from Google or any other stt cloud based.
I also need more information on how to use the geolocation feature. Thanks.
Patrick
@corus87

@Riseryn I think the best self hosted STT option will be mozilla deepspeech, they made some big improvements lately but as far as I know deepspeech still needs a lot of cpu/gpu power to operate. Deepspeech is on my to-do list and I will keep you updated as soon as I have made progress.

But I can't tell you anything about the geolocation feature, I've never tried it.

Riseryn
@Riseryn
@corus87 Thanks for your answer. Is it possible, with the current architecture of kalliope, to have deepspeech running on another computer ? I mean like a local cloud?
Riseryn
@Riseryn
I get a quick glance to deepspeech, seems to be a real pain in the ass to have it working with other language than english and i think it will require a lot of work to have it running with Kalliope. Thanks for your investment in this project.
Patrick
@corus87
Yes it is possible to setup deepspeech on a dedicated "server" and access it with kalliope.
Once we can setup a working deepspeech server, it shouldn't be much code needed to run the stt on kalliope
Riseryn
@Riseryn
Great news :)
Riseryn
@Riseryn

I have a problem. If a sound make a false positive for the trigger, after a while and a lot of line

Google Speech Recognition could not understand audio
Say something!

I get this error

Exception in thread Thread-2006:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/home/pi/.local/lib/python3.7/site-packages/kalliope/stt/Utils.py", line 44, in run
    self.audio_stream = self.recognizer.listen(source)
  File "/home/pi/.local/lib/python3.7/site-packages/kalliope/stt/SpeechRecognizer.py", line 368, in listen
    frame_data = self._record_phrase(source, sec_per_buffer)
  File "/home/pi/.local/lib/python3.7/site-packages/kalliope/stt/SpeechRecognizer.py", line 321, in _record_phrase
    self.write_mic_level(energy, source)
  File "/home/pi/.local/lib/python3.7/site-packages/kalliope/stt/SpeechRecognizer.py", line 326, in write_mic_level
    with open(self.mic_level_file, 'w') as f:
OSError: [Errno 24] Too many open files: '/tmp/kalliope/mic_level'

Is there a way to automatically stop the trigger and come back in wait for trigger after, ie, 10 times kalliope ask "say something"?

Patrick
@corus87
It looks like it doesn't close the file properly, but actually I figured out we don't need this file, I thought it is needed to read some states of the current level but it's only used for a gui.
I will try to PR a hotfix tomorrow.
Do you know how to reproduce this particular error?
Riseryn
@Riseryn
Yes, just trigger the hotword and wait until you have the error. It may takes several minutes.
Patrick
@corus87
Thanks @Riseryn to point out this issue. I have send a PR with a fix
Riseryn
@Riseryn
@corus87 Thanks to you to fix it :)
Patrick
@corus87
you welcome :)
I also did some tests on deepspeech, english is already working quite good but other languages like german or french are like you said @Riseryn a pain in the ass, so I guess we still need to be patient
Riseryn
@Riseryn
Patience is my second name ^^
RyoKaji86
@RyoKaji86
I'm sure it'll be worth it. I'd love to be independent from Google, at least regarding everything revolving around Kalliope and home assistant ^^ keep up the great work, guys! I'm really grateful for all the dedication, effort, time and resources you put into this project. Thanks a lot!!
Riseryn
@Riseryn
I have the feeling that since the last version I have more false positive triggering the Hotword. Is it just me or anyone else have the same impression?
Patrick
@corus87

Hmm normally the false positiv depends only on your model, maybe if you have enabled apply_frontend and using a pmdl keyword which doesn't support apply_frontend. But besides that there are no big changes.

Or maybe since the new version uses pulseaudio your microphone is set to an higher volume level.

Riseryn
@Riseryn
Thanks. I will check these elements.
Riseryn
@Riseryn
I have tuned the mic in pulseaudio and it seems for the moment that there are less false positive
Riseryn
@Riseryn
I would like to be able to know the status of kalliope, ie if kalliope is awaiting the hotword or awaiting an order.
Can I get this result by the API with GET / settings / hooks ?
Patrick
@corus87
@Riseryn I don't think this is possible at the moment, but you could do something like this
hooks:
  on_waiting_for_trigger: 
    - "write-waiting-for-trigger"

  on_triggered:
    - "write-is-listening"

  - name: "write-waiting-for-trigger"
    signals: []
    neurons:
      - shell:
          cmd: "echo 'waiting_for_trigger' > trigger_state"


  - name: "write-is-listening"
    signals: []
    neurons:
      - shell:
          cmd: "echo 'is_listening' > trigger_state"
  - name: "get-trigger-state"
    signals: []
    neurons:
      - shell:
          cmd: "cat trigger_state"
          say_template: "{{ output }}"
curl -i -H "Content-Type: application/json" -X POST -d '{"mute": "True"}' http://192.168.10.100:5000/settings/mute
curl -i -H "Content-Type: application/json" -X POST http://192.168.10.100:5000/synapses/start/id/get-trigger-state
curl -i -H "Content-Type: application/json" -X POST -d '{"mute": "False"}' http://192.168.10.100:5000/settings/mute
Riseryn
@Riseryn
@corus87 Thank you very much
Juanpa
@juanpa669
Hi, I made I fresh install on raspberry pi 4...it was not a piece of fun :/
So, now I still got an error I can not find how to solve it. It is related on openweather neuron
ModuleNotFoundError: No module named 'pyowm.exceptions'
Before this error msg got module pyowm not found so I installed it
pip install pyowm
but now pyowm.exceptions module missing. I do not find any posts about this error
Nicolas Marcq
@Sispheor
pip3 install instead of pip
because pip install for python2
which is deprecated
Radim Vančo
@FoxKyong
I also use only pip which uses python3. If I need pip for both python2 and python3, then I just install pip first with python2 and then with python3 so just pip uses python3 instead of python2.
Patrick
@corus87
I can confirm that the latest version of pyowm is not working and raises the mentioned error
@juanpa669 Install version 2.10.0 as required by the neuron and it should work.
just run sudo pip3 install pyowm==2.10.0
Nicolas Marcq
@Sispheor
well seen @corus87
do not hesitate to PR neurones if you know how to fix guys
FGedda
@FGedda
Hello, i was wondering about what microphone would be best for kalliope and i ended up finding ReSpeaker. (https://hitechchain.se/raspberry-pi/respeaker-4-mic-linear-array-kit-for-raspberry-pi). My question is about the audio. I use kalliope for controlling music with the speaker connected to the 3.5mm audio jack on the raspberry pi. I noticed that there is another 3.5mm jack on the respeaker. So i wonder if i can use a small speaker to only hear kalliope through the audio jack on respeaker and then when i want kalliope to play music it uses the audio jack on the raspberry pi. Is this possible or is there any other solution? Thankfull for any help with this!
Patrick
@corus87

@FGedda Hey,
I'm using a respeaker usb v2 and this got a dedicated soundcard, there it's possible to get two different audio sources to output.
According to the screenshots from the aplay -L output on the seedstudio website it looks this respeaker also got his own sound output, so yes it should be possible.

You should then set the respeaker as default system output for kalliope and play your music for example with mplayer, where you can set the output device, which would be the raspberry then.

FGedda
@FGedda
Thanks alot @corus87, i think ill do that then!
Patrick
@corus87
Hey @all I have made a new neuron based on the Ace editor, to edit your configs and other files right in the browser. If you like to give the editor a try you find it here
BadGones0l
@BadGones0l
Bonjour, Je vient de faire une installtion de kalliopé mais que je le lance avec un "Kalliope start" cela m'indique ceci
pi@raspberrypi:~/kalliope/kalliope_starter_fr $ kalliope start
Starting REST API Listening port: 5000
Starting Kalliope
Press Ctrl+C for stopping
Starting order signal
Exception in thread <class 'kalliope.signals.order.order.Order'>:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/signals/order/order.py", line 89, in run
self.start_trigger()
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 390, in trigger
return self.machine._process(func)
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 1127, in _process
self._transition_queue0
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 408, in _trigger
return self._process(event_data)
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 417, in _process
if trans.execute(event_data):
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 269, in execute
self._change_state(event_data)
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 279, in _change_state
event_data.machine.get_state(self.dest).enter(event_data)
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 121, in enter
event_data.machine.callbacks(self.on_enter, event_data)
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 1049, in callbacks
self.callback(func, event_data)
File "/usr/local/lib/python3.7/dist-packages/transitions-0.8.2-py3.7.egg/transitions/core.py", line 1070, in callback
func(event_data.args, *event_data.kwargs)
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/signals/order/order.py", line 96, in start_trigger_process
self.trigger_instance = TriggerLauncher.get_trigger(settings=self.settings, callback=self.trigger_callback)
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/core/TriggerLauncher.py", line 35, in get_trigger
resources_dir=trigger_folder)
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/core/Utils/Utils.py", line 126, in get_dynamic_class_instantiation
mod = import(package_path, fromlist=[module_name.capitalize()])
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/trigger/snowboy/init.py", line 1, in <module>
from .snowboy import Snowboy
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/trigger/snowboy/snowboy.py", line 6, in <module>
from kalliope.trigger.snowboy import snowboydecoder
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/trigger/snowboy/snowboydecoder.py", line 7, in <module>
from . import snowboydetect
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/trigger/snowboy/snowboydetect.py", line 36, in <module>
_snowboydetect = swig_import_helper()
File "/usr/local/lib/python3.7/dist-packages/kalliope-0.7.0-py3.7.egg/kalliope/trigger/snowboy/snowboydetect.py", line 32, in swig_import_helper
_mod = imp.load_module('_snowboydetect', fp, pathname, description)
File "/usr/lib/python3.7/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "/usr/lib/python3.7/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: dynamic module does not define module export function (PyInit__snowboydetect)
Avez vous un idée du problème ?
Nicolas Marcq
@Sispheor
@BadGones0l tu es sur le Channel anglais. Go sur le FR please
Juanpa
@juanpa669
thanks @corus87 , i had left kalliope since, but i think i will try again