Giter VIP home page Giter VIP logo

jasper-client's Introduction

jasper-client

Build Status Coverage Status Codacy Badge

Client code for the Jasper voice computing platform. Jasper is an open source platform for developing always-on, voice-controlled applications.

Learn more at jasperproject.github.io, where we have assembly and installation instructions, as well as extensive documentation. For the relevant disk image, please visit SourceForge.

Contributing

If you'd like to contribute to Jasper, please read through our Contributing Guide, which outlines the philosophies to preserve, tests to run, and more. We highly recommend reading through this guide before writing any code.

The Contributing Guide also outlines some prospective features and areas that could use love. However, for a more thorough overview of Jasper's direction and goals, check out the Product Roadmap.

Thanks in advance for any and all work you contribute to Jasper!

Support

If you run into an issue or require technical support, please first look through the closed and open GitHub Issues, as you may find a solution there (or some useful advice, at least).

If you're still having trouble, the next place to look would be the new Google Group support forum or join the #jasper IRC channel on chat.freenode.net. If your problem remains unsolved, feel free to create a post there describing the issue, the steps you've taken to debug it, etc.

Contact

Jasper's core developers are Shubhro Saha, Charles Marsh and Jan Holthuis. All of them can be reached by email at [email protected], [email protected] and [email protected] respectively. However, for technical support and other problems, please go through the channels mentioned above.

For a complete list of code contributors, please see AUTHORS.md.

License

Copyright (c) 2014-2015, Charles Marsh, Shubhro Saha & Jan Holthuis. All rights reserved.

Jasper is covered by the MIT license, a permissive free software license that lets you do anything you want with the source code, as long as you provide back attribution and "don't hold [us] liable". For the full license text see the LICENSE.md file.

Note that this licensing only refers to the Jasper client code (i.e., the code on GitHub) and not to the disk image itself (i.e., the code on SourceForge).

jasper-client's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jasper-client's Issues

Facebook is requesting me to access the dashboard?

When I try to say 'Facebook' it tells me I need to go to the dashboard to activate. Where is the dashboard located? I went through the networking setup successfully and have looked through the boot/app directory, which looks like the only web directory.

openfst wont compile on RPi.

I've been trying to get the openfst package to compile on an older pi with 256MB RAM

It keeps dying after about 30minutes of compiling with an error: internal compiler error: Killed (program cc1plus)

In the system log I can see:
Out of Memory: Kill process 1824 (cc1plus) score 741 or sacrifice
Killed process 1824 (cc1plus) total-vm:274012kB, anon-rss:207268kB

Has anyone managed to compile this successfully on an older Pi?
If so, did you have to do anything special with memory options?

Thanks

USB Microhone

Is there a specific brand of usb microphone that will only works with Jasper?
I tried 2 usb microphone and none seem to be able to record any voice?

Multi-word city names for weather not working

Hi,

I live in Newcastle upon Tyne and am having problems getting the weather module to work. I think it may be due to the fact the city name is multi word. I've checked wunderground.com and its listed there fine.

Any thoughts?

Additional Module Implementation

To me, it seems like bad practice to edit the base files in order to add a module to Jasper. Couldn't you use Python's __import__ function to dynamically import modules from a folder at runtime?

Does the pre-compiled disk image works?

I tried the pre-complied disk image with my Ethernet connected Raspberry Pi and it just does work.
During the booting I saw "check syslog for diagnostics ...failed" and isc-dhcp-server ...failed" - are this critical?

Once I log into pi, I ran the boot.sh, saw a whole lot of script but it just doesn't response to anything. Did I missed out anything step?
Or should try manual configuring
Help help! Someone please advise.

192.168.1.1:8000 temp.txt does not exist

I managed to get the 192.168.1.1 up and running and it spat out this, I tried a clean install too...:

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

/home/pi/jasper/boot/app/cgi-bin/index.cgi in ()
18 if not network:
19
=> 20 wifi = Wifi()
21
22 networks = [x.replace("\n","") for x in wifi.access_points if x.replace("\n","") != "Jasper"]
wifi undefined, Wifi =
/home/pi/jasper/boot/app/cgi-bin/wifi.py in init(self=)
9
10 subprocess.call("iwlist wlan0 scan > temp.txt", shell = True)
=> 11 output = open("temp.txt")
12 lines = output.readlines()
13
output undefined, builtin open =
: [Errno 2] No such file or directory: 'temp.txt'
args = (2, 'No such file or directory')
errno = 2
filename = 'temp.txt'
message = ''
strerror = 'No such file or directory'

Length of phone numbers

Is there a good reason populate.py rejects every non-10-digit phone number? My German mobile has 12 digits, landline numbers have from 8 to 12 digits in Germany.

Running it on Ubuntu

Tried to run it on Ubuntu 12.10 64bit, which seems way handier for developing new modules. Due to pip issues I wasn't able to get all the latest packages.

Did the following:

sudo apt-get install python-setuptools
sudo easy_install pip
sudo apt-get install python-pocketsphinx python-yaml python-tz python-requests build-essential python-pyaudio
git clone https://github.com/jasperproject/jasper-client.git
#sudo pip install -r jasper-client/client/requirements.txt
sudo pip install APScheduler CherryPy PyYAML Pykka RPi.GPIO argparse beautifulsoup4 facebook-sdk feedparser numpy pifacedigitalio --allow-external pygame python-dateutil python-mpd pytz quantities semantic six ws4py wsgiref requests sphinx
cd jasper-client/client
python populate.py
python main.py

results in:

===========================================================
 JASPER The Talking Computer                               
 Copyright 2013 Shubhro Saha & Charlie Marsh               
===========================================================
INFO: cmd_ln.c(506): Parsing command line:
\
    -hmm /usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k \
    -lm languagemodel_persona.lm \
    -dict dictionary_persona.dic 

Current configuration:
[NAME]      [DEFLT]     [VALUE]
-agc        none        none
-agcthresh  2.0     2.000000e+00
-alpha      0.97        9.700000e-01
-ascale     20.0        2.000000e+01
-backtrace  no      no
-beam       1e-48       1.000000e-48
-bestpath   yes     yes
-bestpathlw 9.5     9.500000e+00
-cep2spec   no      no
-ceplen     13      13
-cmn        current     current
-cmninit    8.0     8.0
-compallsen no      no
-dict               dictionary_persona.dic
-dictcase   no      no
-dither     no      no
-doublebw   no      no
-ds     1       1
-fdict              
-feat       1s_c_d_dd   1s_c_d_dd
-featparams         
-fillprob   1e-8        1.000000e-08
-frate      100     100
-fsg                
-fsgusealtpron  yes     yes
-fsgusefiller   yes     yes
-fwdflat    yes     yes
-fwdflatbeam    1e-64       1.000000e-64
-fwdflatefwid   4       4
-fwdflatlw  8.5     8.500000e+00
-fwdflatsfwin   25      25
-fwdflatwbeam   7e-29       7.000000e-29
-fwdtree    yes     yes
-hmm                /usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k
-input_endian   little      little
-jsgf               
-kdmaxbbi   -1      -1
-kdmaxdepth 0       0
-kdtree             
-latsize    5000        5000
-lda                
-ldadim     0       0
-lifter     0       0
-lm             languagemodel_persona.lm
-lmctl              
-lmname     default     default
-logbase    1.0001      1.000100e+00
-logfn              
-logspec    no      no
-lowerf     133.33334   1.333333e+02
-lpbeam     1e-40       1.000000e-40
-lponlybeam 7e-29       7.000000e-29
-lw     6.5     6.500000e+00
-maxhistpf  100     100
-maxhmmpf   -1      -1
-maxnewoov  20      20
-maxwpf     -1      -1
-mdef               
-mean               
-mfclogdir          
-mixw               
-mixwfloor  0.0000001   1.000000e-07
-mmap       yes     yes
-ncep       13      13
-nfft       512     512
-nfilt      40      40
-nwpen      1.0     1.000000e+00
-pbeam      1e-48       1.000000e-48
-pip        1.0     1.000000e+00
-rawlogdir          
-remove_dc  no      no
-round_filters  yes     yes
-samprate   16000       1.600000e+04
-sdmap              
-seed       -1      -1
-sendump            
-silprob    0.005       5.000000e-03
-smoothspec no      no
-spec2cep   no      no
-svspec             
-tmat               
-tmatfloor  0.0001      1.000000e-04
-topn       4       4
-toprule            
-transform  legacy      legacy
-unit_area  yes     yes
-upperf     6855.4976   6.855498e+03
-usewdphones    no      no
-uw     1.0     1.000000e+00
-var                
-varfloor   0.0001      1.000000e-04
-varnorm    no      no
-verbose    no      no
-warp_params            
-warp_type  inverse_linear  inverse_linear
-wbeam      7e-29       7.000000e-29
-wip        0.65        6.500000e-01
-wlen       0.025625    2.562500e-02

ERROR: "acmod.c", line 88: Must specify -mdef or -hmm
Traceback (most recent call last):
  File "main.py", line 24, in <module>
    "languagemodel_persona.lm", "dictionary_persona.dic")
  File "/home/patrick/git/jasper-client/client/mic.py", line 41, in __init__
    hmm=hmdir, lm=lmd_persona, dict=dictd_persona)
  File "pocketsphinx.pyx", line 258, in pocketsphinx.Decoder.__cinit__
RuntimeError: Failed to initialize PocketSphinx

Jasper dosent react

Jasper does not reackt

Im using a QuickCam E2500 which is detected using
lsusb
im alos able to record sound using audacity

Jasper is startet and conected to the internet...

Segmentation Fault on running main.py locally

I used the command:-

python main.py -local

ERROR:-

SYSTEM_ERROR: "dict.c", line 274: Failed to open dictionary file '/usr/local/Cellar/cmu-pocketsphinx/0.8/share/pocketsphinx/model/lm/dictionary_persona.dic' for reading: No such file or directory
Segmentation fault: 11

Anything i need to do ?

Jasper stops responding if Spotify connection fails

Hi,

It seems that Jasper hangs if you say "music" (or it thinks you say music) and there's no Spotify account connected to it.

Relevant output:
Traceback (most recent call last): File "main.py", line 30, in <module> conversation.handleForever() File "/home/pi/jasper/client/conversation.py", line 45, in handleForever self.delegateInput(input) File "/home/pi/jasper/client/conversation.py", line 21, in delegateInput music_mode = MusicMode(self.persona, self.mic) File "/home/pi/jasper/client/musicmode.py", line 16, in __init__ self.music = Music() File "/home/pi/jasper/client/music.py", line 59, in __init__ self.client.connect("localhost", 6600) File "/usr/local/lib/python2.7/dist-packages/mpd.py", line 413, in connect self._sock = self._connect_tcp(host, port) File "/usr/local/lib/python2.7/dist-packages/mpd.py", line 403, in _connect_tcp raise err socket.error: [Errno 111] Connection refused INFO: ngram_search_fwdtree.c(430): TOTAL fwdtree 7.50 CPU 0.184 xRT INFO: ngram_search_fwdtree.c(433): TOTAL fwdtree 8.60 wall 0.210 xRT INFO: ngram_search_fwdflat.c(174): TOTAL fwdflat 2.95 CPU 0.072 xRT INFO: ngram_search_fwdflat.c(177): TOTAL fwdflat 2.97 wall 0.073 xRT INFO: ngram_search.c(317): TOTAL bestpath 0.10 CPU 0.002 xRT INFO: ngram_search.c(320): TOTAL bestpath 0.20 wall 0.005 xRT INFO: ngram_search_fwdtree.c(430): TOTAL fwdtree 3.68 CPU 0.152 xRT INFO: ngram_search_fwdtree.c(433): TOTAL fwdtree 3.72 wall 0.154 xRT INFO: ngram_search_fwdflat.c(174): TOTAL fwdflat 1.27 CPU 0.053 xRT INFO: ngram_search_fwdflat.c(177): TOTAL fwdflat 1.27 wall 0.053 xRT INFO: ngram_search.c(317): TOTAL bestpath 0.00 CPU 0.000 xRT INFO: ngram_search.c(320): TOTAL bestpath 0.02 wall 0.001 xRT Exception in thread APScheduler (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner File "/usr/lib/python2.7/threading.py", line 505, in run File "/usr/local/lib/python2.7/dist-packages/apscheduler/scheduler.py", line 579, in _main_loop <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'debug'

PyAudio stream not closed

I don't know if it affects Jasper on the Raspberry Pi but on Archlinux Jasper becomes unresponsive if the PyAudio streams are not closed in fetchThreshold() and the early return (No disturbance found) in passiveListen().

Operate wired only?

Will the device run with just the wired ethernet connection and no WiFi? We'd prefer to avoid using wireless connections whenever possible.

Give "Jasper" a different name

Is it possible to set Jasper's name in configuration? This is useful in the following scenarios:

  1. Lots of Dutch people are called Jasper.
  2. Some people can't pronounce some letters.

Last example is personal: I stutter, and have difficulties with some letters from time to time. Sounds "dje" (English way to pronounce Jasper) and "ya" (Dutch way to pronounce Jasper) are difficult for me to pronounce.

Change language

Hi,

Can I change the Jasper language? If yes, how?

Thanks!

Failure with pip install on requirements.txt

I am unsure if this has been experienced by anyone beyond myself, but it was required that I run "sudo pip install --upgrade setuptools" before pip would install the requirements.txt entries properly. This may be something to add in the documentation as a troubleshooting step. My setup specifically failed on pifacecommon prior to upgrading the setuptools.

avoid hard-coding audio devices?

There's a couple of places where aplay is used and it's hard-coded to use hw:1,0.

Could you change that to just use aplay without specifying the device? That'd make it a bit more flexible with what hardware it could use. As in, I've got mine setup with a monitor attached via HDMI (which shows up as hw:0,0). That and in a setup that might use different speaker setups the output might be on any number of other device numbers.

It's possible in ~/.asoundrc to configure the default channels for alsa.

This also applies to the recording device.

Otherwise we have to wander down the rat hole of trying to cajole linux into supplying fixed device numbers. No good ever comes from that effort, especially not if ANYTHING is on a USB connection.

Abstract the code away from hard-coded devices, please?

Decouple the software from a specific audio setup

While I can modify the software to point directly to my specific audio setup, could you look into separating this out to a configuration file for specifying the hardware to use for input/output? This would help greatly in the future for integrating jasper into existing setups.

Segmentation Fault

Jasper never becomes active on boot just asks me to wait. I ran main.py and got this

ERROR: "ngram_search.c", line 208: Failed to read language model file: /usr/local/share/pocketsphinx/model/lm/languagemodel.m
Segmentation fault

mic.activeListen(NATIVE=False)

Hello,

Thanks for the great project. I am trying to play with it to do all types of modules and I have noticed, for special things like dynamic commands you say that you have the AT&T speech API.

I don't seem to be able to use it (and I can't seem to find it in the code also). I am trying to create a Torrent downloader and need to have it dynamic for things like "How I Met Your Mother". I can't anticipate all the possible words. Can you let me know if I am using it wrong :

response = mic.activeListen(NATIVE=False)

Also, is there a reason its the AT&T API and not the Google API.

Connecting to Jaspers temp network from computer?

"After connecting to Jasper’s temporary network, browse to 192.168.1.1:8000/cgi-bin/index.cgi and follow the on-screen instructions. When complete, your Jasper will restart and connect to your selected wireless network automatically."

How do I connect to the temporary network, my computer will not load "192.168.1.1:8000/cgi-bin/index.cgi"? I have tried 2 wifi dongles, Edimax & TP-Link and has success with neither. I did the quick start but on having problems also followed the setting up wifi guide to ensure everything was correct...

Terrible audio quality

Hey all.

I'm using a Gigaware 33-124 Desktop Microphone, but Jasper has a lot of trouble hearing what I say, because the audio sample I get is terrible. I've tried using a powered USB hub, but that didn't help at all.

Are there additional drivers I may need to install? Or any setup steps I can take to improve the quality?

(I'd prefer to use this mic if possible because it has the added benefits of a mute toggle switch and a blinking light to know when Jasper is actually listening.)

Transfer all the "movable" parts into settings

I would propose to transfer the "movable" parts into a settings dict for starters.
e.g:
os.system("aplay -D hw:1,0 beep_lo.wav")

becomes

settings = {
"play": "aplay -D hw:1,0 "
}

and

os.system( settings["play"] + "beep_lo.wav" )

we could then put the settings-dict at the beginning of a file. That would make jasper easier to configure.
And in a next step we could move the settings to an entirely separat file and just load that somehow.
(Using the platform module we could further load os specific stuff - like omitting the -D for Ubuntu, etc.)

If there is interest, I might have time tomorrow to give it a try

Could Japser work on OS X?

I think it would be great if I could run Jasper on my Macbook. Would that be possible? I'm looking at the documentation and it seems like it could work with some extra configuration, but I don't know enough about the internals to know how if it's possible.

jasper not responding

i have tried a logitech stand mic and a microsoft life cam on the logitech i get ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
No disturbance detected
No disturbance detected
No disturbance detected
No disturbance detected
New email from Gmail Team.
New email from Gmail Team.
New email from Gmail Team.
New email from "Google+ team".
New email from YouTube.

Interaction with command line

Hi,
I cant find a usb microphone and try to interact with jasper via command line.i make ssh connection to pi and type "python main.py –local" as you said on faq.But it gives me some errors after typing some configuration informations about jasper on command line:
Error:
ERROR: "ngram_model_arpa.c", line 466: File /usr/local/share/pocketsphinx/model/ lm/languagemodel.lm not found
ERROR: "ngram_model_dmp.c", line 106: Dump file /usr/local/share/pocketsphinx/mo del/lm/languagemodel.lm not found
ERROR: "ngram_search.c", line 208: Failed to read language model file: /usr/loca l/share/pocketsphinx/model/lm/languagemodel.lm
Segmentation fault
How can i fix this issue ?
I fixed languagemodel.lm error.Now jasper works from command line and writes my email notifications.
Now something is wrong with alsa i think.It says :

ALSA lib pcm_hw.c:1401:(_snd_pcm_hw_open) Invalid value for card
aplay: main:682: audio open error: No such file or directory
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream

Unable to compile openfst

openfst will not compile on Ubuntu 13.10 64-bit. (www.openfst.org site is currently down though openfst-1.3.3 and openfst-1.3.4 can be found on mirrors). Have tried numerous recommendations from the cached form of this page with both 1.3.3 and 1.3.4 though can't seem to get openfst to compile:

Making install in bin
make[2]: Entering directory `/home/roland/openfst-1.3.4/src/bin'
g++ -DHAVE_CONFIG_H   -I./../include -I./../script    -g -O2 -MT fstarcsort.o -MD -MP -MF .deps/fstarcsort.Tpo -c -o fstarcsort.o fstarcsort.cc
mv -f .deps/fstarcsort.Tpo .deps/fstarcsort.Po
/bin/bash ../../libtool --tag=CXX   --mode=link g++  -g -O2   -o fstarcsort fstarcsort.o ../script/libfstscript.la ../lib/libfst.la -lm -ldl 
libtool: link: g++ -g -O2 -o .libs/fstarcsort fstarcsort.o  ../script/.libs/libfstscript.so ../lib/.libs/libfst.so -lm -ldl
../script/.libs/libfstscript.so: undefined reference to `dlopen'
../script/.libs/libfstscript.so: undefined reference to `dlerror'
collect2: error: ld returned 1 exit status
make[2]: *** [fstarcsort] Error 1
make[2]: Leaving directory `/home/roland/openfst-1.3.4/src/bin'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/roland/openfst-1.3.4/src'
make: *** [install-recursive] Error 1

with some modifications the build got farther to src/extensions/far before it failed.

I know this isn't an issue with the Jasper Client though this is a dependency and thought you should be aware / maybe had a solution.

System Error

I followed your software tutorial and ended up with

SYSTEM_ERROR: "dict.c", line 274: Failed to open dictionary file '/usr/local/share/pocketsphinx/model/lm/dictionary.dic' for reading: No such file or directory
zsh: segmentation fault  python main.py

The file indeed is not there

pi@idefix ~/jasper/client master $ ll /usr/local/share/pocketsphinx/model/lm/              
insgesamt 24K
82586 4,0K drwxr-sr-x 6 root staff 4,0K Apr  8 14:50 .
82578 4,0K drwxr-sr-x 4 root staff 4,0K Apr  8 14:50 ..
82587 4,0K drwxr-sr-x 2 root staff 4,0K Apr  8 14:50 en
82588 4,0K drwxr-sr-x 2 root staff 4,0K Apr  8 14:50 en_US
82589 4,0K drwxr-sr-x 2 root staff 4,0K Apr  8 14:50 zh_CN
82590 4,0K drwxr-sr-x 2 root staff 4,0K Apr  8 14:51 zh_TW

Can you help me?

Wi-Fi requirement

Is Wi-Fi required? If so, why? Can an ethernet connection alone work? If not , why not?

Running Jasper on standard linux system

I'm not sure I need/want yet another computer, will the code run on a normal linux system or are there specific hardware requirements from the raspberry pi?

Multiple Mic Support

Would like to try and allow Jasper to work with multiple mics. I like the idea of how the Notifications list works and would try to setup something like this. Figure it would work like this:

-First PI would be the master and run code like the main project.
-Second PI would be a "slave" and just have a mic, and listen for "Jasper". Once found, it would send over the sound file for the command to the master. Probably could rsync files over.
-Would have to setup a file for keeping up with commands and update the handler to look at this new file.

  • Setup would have to change to allow setting for Master/slave and keep up with the IP/host of the master.

I do not have a whole lot of time to work on this, but could definitely help if someone else was interested.

Can't do weather

JASPER: WEATHER

ERROR:jasper:Failed to execute module
Traceback (most recent call last):
File "/home/pi/jasper/client/brain.py", line 46, in query
module.handle(text, self.mic, self.profile)
File "/home/pi/jasper/client/modules/Weather.py", line 59, in handle
date = service.parseDay(text)
AttributeError: 'DateService' object has no attribute 'parseDay'

Alternative mic hardware?

It'd be great to know what other mic hardware is known to work, as that one linked is a bit hard to obtain currently.

It'd be even better to know what kinds of mics are known NOT to work effectively.

Main.py wont start

I installed the image on the raspberry. I skipped the extras, like Facebook and Spotify.

It's just acting like a brick, so I tried to run the command line and and noticed its getting a few errors:

ERROR: "ngram_model_arpa.c", line 466: File /usr/local/share/pocketsphinx/model/lm/languagemodel.lm not found
ERROR: "ngram_model_dmp.c", line 106: Dump file /usr/local/share/pocketsphinx/model/lm/languagemodel.lm not found
ERROR: "ngram_search.c", line 208: Failed to read language model file: /usr/local/share/pocketsphinx/model/lm/languagemodel.lm

Full log: http://bpaste.net/show/KyLLjNflM7oigETvSow0/

Voice detection detecting wrong phrases

Hi,

I got a problem with the voice detection. I'm using a USB sound adapter (Daffodil US01) with a normal headset. When I record something with "arecord -r 48000 -d 600 -f S16_LE test.wav" and then play it again with aplay test.wav, the recorded sound is perfectly fine & clear without any background noises.

When I run "python main.py", it also seems to get triggered when I say "Jasper", however the recognition always tells me that I'm saying "BUT", "BUT OF", "WHAT" and things like that and I never ever hear the beep... I tried it a hundred times now. Is there something wrong in my setup ?

Output:

===================
JASPER: OF OF
===================
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
INFO: cmn.c(175): CMN: 27.03 -0.24  0.11 -0.21 -0.21 -1.67  0.22 -0.29 -0.40 -0.16  0.48 -0.41  0.35
INFO: ngram_search_fwdtree.c(1549):     1359 words recognized (13/fr)
INFO: ngram_search_fwdtree.c(1551):    33927 senones evaluated (333/fr)
INFO: ngram_search_fwdtree.c(1553):    20976 channels searched (205/fr), 1764 1st, 17447 last
INFO: ngram_search_fwdtree.c(1557):     1752 words for which last channels evaluated (17/fr)
INFO: ngram_search_fwdtree.c(1560):     1581 candidate words for entering last phone (15/fr)
INFO: ngram_search_fwdtree.c(1562): fwdtree 0.20 CPU 0.196 xRT
INFO: ngram_search_fwdtree.c(1565): fwdtree 0.21 wall 0.204 xRT
INFO: ngram_search_fwdflat.c(302): Utterance vocabulary contains 19 words
INFO: ngram_search_fwdflat.c(937):      649 words recognized (6/fr)
INFO: ngram_search_fwdflat.c(939):    35160 senones evaluated (345/fr)
INFO: ngram_search_fwdflat.c(941):    31614 channels searched (309/fr)
INFO: ngram_search_fwdflat.c(943):     1567 words searched (15/fr)
INFO: ngram_search_fwdflat.c(945):     1001 word transitions (9/fr)
INFO: ngram_search_fwdflat.c(948): fwdflat 0.15 CPU 0.147 xRT
INFO: ngram_search_fwdflat.c(951): fwdflat 0.15 wall 0.150 xRT
INFO: ngram_search.c(1266): lattice start node <s>.0 end node </s>.87
INFO: ngram_search.c(1294): Eliminated 0 nodes before end node
INFO: ngram_search.c(1399): Lattice has 55 nodes, 124 links
INFO: ps_lattice.c(1365): Normalizer P(O) = alpha(</s>:87:100) = -739532
INFO: ps_lattice.c(1403): Joint P(O,S) = -752904 P(S|O) = -13372
INFO: ngram_search.c(888): bestpath 0.01 CPU 0.010 xRT
INFO: ngram_search.c(891): bestpath 0.01 wall 0.014 xRT
===================
JASPER: IS OF
===================

Usage without wlan?

The usage instructions says that jasper will configure a wireless network connection, where I can configure jasper. My pi is connected with ethernet.
How can I proceed?

Disable Spotify mode?

How can Spotify mode be disabled? I don't have a spottily account and its being activated erroneously

openfst compile fails

Tried to build openfst using:

cd openfst-1.3.3/
sudo ./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt
sudo make install

And after QUITE A LONG TIME it failed with:

make[4]: Entering directory `/home/pi/openfst-1.3.3/src/extensions/compact'
/bin/bash ../../../libtool --tag=CXX   --mode=link g++  -g -O2 -module  -o compact16_unweighted-fst.la -rpath /usr/local/lib/fst compact16_unweighted-fst.lo
libtool: link: g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf/crti.o /usr/lib/gcc/arm-linux-gnueabihf/4.6/crtbeginS.o  .libs/compact16_unweighted-fst.o   -L/usr/lib/gcc/arm-linux-gnueabihf/4.6 -L/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf -L/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../.. -L/lib/arm-linux-gnueabihf -L/usr/lib/arm-linux-gnueabihf -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/arm-linux-gnueabihf/4.6/crtendS.o /usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf/crtn.o  -O2   -Wl,-soname -Wl,compact16_unweighted-fst.so.0 -o .libs/compact16_unweighted-fst.so.0.0.0
collect2: ld returned 1 exit status
make[4]: *** [compact16_unweighted-fst.la] Error 1
make[4]: Leaving directory `/home/pi/openfst-1.3.3/src/extensions/compact'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/pi/openfst-1.3.3/src/extensions'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/pi/openfst-1.3.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pi/openfst-1.3.3'
make: *** [all] Error 2

Change name of voice activation?

Hello,

Is it possible to change(somewhat ironic) the activation command from Jasper to for example computer?

I think I found it in Brain.py but i'm not sure, who can help me out?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.