Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    4 of 6 committers (66.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords from Contributors

scikit-surgery surgery ucl augmented-reality opencv vtk ndi ultrasound
Last synced: 7 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: SciKit-Surgery
  • License: other
  • Language: Python
  • Default Branch: master
  • Size: 133 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created almost 6 years ago · Last pushed about 4 years ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.rst

scikit-surgeryspeech
===============================

.. image:: https://github.com/SciKit-Surgery/scikit-surgeryspeech/raw/master/weiss_logo.png
   :height: 128px
   :width: 128px
   :target: https://github.com/SciKit-Surgery/scikit-surgeryspeech
   :alt: Logo

|

.. image:: https://github.com/SciKit-Surgery/scikit-surgeryspeech/workflows/.github/workflows/ci.yml/badge.svg
   :target: https://github.com/SciKit-Surgery/scikit-surgeryspeech/actions
   :alt: GitHub Actions CI status

.. image:: https://coveralls.io/repos/github/SciKit-Surgery/scikit-surgeryspeech/badge.svg?branch=master&service=github
    :target: https://coveralls.io/github/SciKit-Surgery/scikit-surgeryspeech?branch=master
    :alt: Test coverage

.. image:: https://readthedocs.org/projects/scikit-surgeryspeech/badge/?version=latest
    :target: http://scikit-surgeryspeech.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg
   :target: CODE_OF_CONDUCT.md

.. image:: https://img.shields.io/twitter/follow/scikit_surgery?style=social
   :target: https://twitter.com/scikit_surgery?ref_src=twsrc%5Etfw
   :alt: Follow scikit_surgery on twitter


Author: Kim-Celine Kahl

scikit-surgeryspeech is part of the `SciKit-Surgery`_ software project, developed at the `Wellcome EPSRC Centre for Interventional and Surgical Sciences`_, part of `University College London (UCL)`_.

scikit-surgeryspeech supports Python 3.6.

scikit-surgeryspeech is a project which runs the `Python Speech Recognition API`_ in the background listening
for a specific command. After saying the keyword you can say different commands, which get
converted to QT Signals.

The speech recognition is done by the `Google Cloud API`_, you have to get the credentials to use it or change the recognition service.

Keyword detection is done by the `Porcupine API`_. This should be have been installed automatically via the pvporcupine dependency

Please explore the project structure, and implement your own functionality.

Example usage
-------------

To run an example, just start

::

    sksurgeryspeech.py -c example_config.json


The config file should define the paths for the porcupine library and the Google Cloud API if you are using it.

You can then say the keyword depending on the Porcupine keyword file you chose and afterwards a command. The command "quit" exits the application.

Note: each time you have already entered a command, you need to say the keyword again to trigger the listening to commands.

Developing
----------

Cloning
^^^^^^^

You can clone the repository using the following command:

::

    git clone https://github.com/SciKit-Surgery/scikit-surgeryspeech

If you have problems running the application, you might need to install portaudio

Mac
::

    brew install portaudio

Ubuntu
::

    sudo apt-get install libasound-dev portaudio19-dev

If you're going to try sphinx might need to install pulseaudo-dev

Ubuntu
::

    sudo apt-get install swig libpulse-dev


Set up the Porcupine keyword detection
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Then, you have to set the following variables in the configuration file

::
    
   "porcupine dynamic library path" : ".tox/py37/lib/python3.7/site-packages/pvporcupine/lib/linux/x86_64/libpv_porcupine.so",
	"porcupine model file path" : ".tox/py37/lib/python3.7/site-packages/pvporcupine/lib/common/porcupine_params.pv",
	"porcupine keyword file" : [".tox/py37/lib/python3.7/site-packages/pvporcupine/resources/keyword_files/linux/jarvis_linux.ppn"],
       

You can also `generate your own keyword files`_

If you are using the speech recognition service within your own application, you have to start a background thread which calls the method to listen to the keyword over and over again.

You can find an example how to create such a thread in the sksurgeryspech_demo.py

Use the Google Cloud speech recognition service
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. _`Google Cloud API is set up correctly`:

To use the Google Cloud speech recognition service, you need to `get the credentials`_ first. After signing up, you
should get a json file with your credentials. Download this file and add add it to the configuration file

::

    "google credentials file" : "snappy-speech-6ff24bf3e262.json",

To the path of your json file. You should then be able to run the application.


Change speech recognition service
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

You can try different speech recognition services by changing the recogniser entry in the config file. 
sphinx, google and google_cloud have all been tested, other options are possible but may not be implemented yet.

::

    "recogniser" : "sphinx"
    "recogniser" : "google" 
    "recogniser" : "google_cloud"
    "recogniser" : "wit"
    "recogniser" : "bing"
    "recogniser" : "azure"
    "recogniser" : "houndify"
    "recogniser" : "ibm"

Python development
^^^^^^^^^^^^^^^^^^

This project uses tox. Start with a clean python environment, then do:

::

    pip install tox
    tox

and the commands that are run can be found in tox.ini.


Installing
----------

You can pip install directly from the repository as follows:

::

    pip install git+https://github.com/SciKit-Surgery/scikit-surgeryspeech



Contributing
^^^^^^^^^^^^

Please see the `contributing guidelines`_.


Useful links
^^^^^^^^^^^^

* `Source code repository`_


Licensing and copyright
-----------------------

Copyright 2019 University College London.
scikit-surgeryspeech is released under the BSD-3 license. Please see the `license file`_ for details.


Acknowledgements
----------------

Supported by `Wellcome`_ and `EPSRC`_.


.. _`Wellcome EPSRC Centre for Interventional and Surgical Sciences`: http://www.ucl.ac.uk/weiss
.. _`source code repository`: https://github.com/SciKit-Surgery/scikit-surgeryspeech
.. _`SciKit-Surgery`: https://github.com/SciKit-Surgery/
.. _`University College London (UCL)`: http://www.ucl.ac.uk/
.. _`Wellcome`: https://wellcome.ac.uk/
.. _`EPSRC`: https://www.epsrc.ac.uk/
.. _`contributing guidelines`: https://github.com/SciKit-Surgery/scikit-surgeryspeechblob/master/CONTRIBUTING.rst
.. _`license file`: https://github.com/SciKit-Surgery/scikit-surgeryspeechblob/master/LICENSE
.. _`Python Speech Recognition API`: https://pypi.org/project/SpeechRecognition/
.. _`Google Cloud API`: https://cloud.google.com/speech-to-text/
.. _`Porcupine API`: https://github.com/Picovoice/Porcupine
.. _`generate your own keyword files`: https://github.com/Picovoice/Porcupine/tree/master/tools/optimizer
.. _`get the credentials`: https://console.cloud.google.com/freetrial/signup/tos?_ga=2.263649484.-1718611742.1562839990

Owner

  • Name: SciKit-Surgery
  • Login: SciKit-Surgery
  • Kind: organization
  • Email: s.thompson@ucl.ac.uk

Compact Libraries for Surgical Navigation

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use SciKit-SurgerySpeech in your research, please cite it as below."
authors:
- family-names: "Kahl"
  given-names: "Kim"
- family-names: "Dowrick"
  given-names: "Thomas"
  orcid: "https://orcid.org/0000-0002-2712-4447"
- family-names: "Thompson"
  given-names: "Stephen"
  orcid: "https://orcid.org/0000-0001-7286-1326"
- family-names: "Ahmad"
  given-names: "Mian"
  orcid: "https://orcid.org/0000-0002-4706-4146"
- family-names: "Clarkson"
  given-names: "Matthew"
  orcid: "https://orcid.org/0000-0002-5565-1252"
title: "SciKit-Surgery"
url: "https://github.com/SciKit-Surgery/scikit-surgeryspeech"
preferred-citation:
  type: article
  authors:
  - family-names: "Thompson"
    given-names: "Stephen"
    orcid: "https://orcid.org/0000-0001-7286-1326"
  - family-names: "Dowrick"
    given-names: "Thomas"
    orcid: "https://orcid.org/0000-0002-2712-4447"
  - family-names: "Ahmad"
    given-names: "Mian"
    orcid: "https://orcid.org/0000-0002-4706-4146"
  - family-names: "Xiao"
    given-names: "Guofang"
  - family-names: "Koo"
    given-names: "Bongjin"
    orcid: "https://orcid.org/0000-0002-3611-4988"
  - family-names: "Bonmati"
    given-names: "Ester"
    orcid: "https://orcid.org/0000-0001-9217-5438"
  - family-names: "Kahl"
    given-names: "Kim"
  - family-names: "Clarkson"
    given-names: "Matthew"
    orcid: "https://orcid.org/0000-0002-5565-1252"
  doi: 10.1007/s11548-020-02180-5
  journal: "International journal of computer assisted radiology and surgery"
  start: 1075
  end: 1084
  title: "SciKit-Surgery: Compact Libraries for Surgical Navigation"
  volume: 15
  issue: 7
  year: 2020

GitHub Events

Total
Last Year

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 65
  • Total Committers: 6
  • Avg Commits per committer: 10.833
  • Development Distribution Score (DDS): 0.615
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Stephen Thompson s****n@u****k 25
Kim-Celine Kahl k****l@w****e 18
Thomas Dowrick t****k@g****m 13
Matt Clarkson m****n@u****k 6
Thomas Dowrick t****k@u****k 2
Mian Ahmad m****d@u****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 25
  • Total pull requests: 3
  • Average time to close issues: 9 days
  • Average time to close pull requests: 2 minutes
  • Total issue authors: 4
  • Total pull request authors: 2
  • Average comments per issue: 5.92
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tdowrick (20)
  • thompson318 (2)
  • mianasbat (2)
  • MattClarkson (1)
Pull Request Authors
  • tdowrick (2)
  • thompson318 (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 18 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 12
  • Total maintainers: 2
pypi.org: scikit-surgeryspeech

Interface to speech services for image-guided surgery.

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 18 Last month
Rankings
Dependent packages count: 10.0%
Dependent repos count: 21.7%
Average: 25.2%
Downloads: 25.9%
Forks count: 29.8%
Stargazers count: 38.8%
Maintainers (2)
Last synced: 7 months ago

Dependencies

docs/requirements.txt pypi
  • PySide2 *
  • SpeechRecognition *
  • google-api-python-client *
  • oauth2client *
  • pvporcupine *
  • scikit-surgerycore *
requirements-dev.txt pypi
  • coverage * development
  • coveralls * development
  • mock * development
  • parameterized * development
  • pyfakefs * development
  • pyinstaller * development
  • pylint * development
  • pytest * development
  • pyyaml * development
  • sphinx * development
  • sphinx_rtd_theme * development
  • tox * development
requirements.txt pypi
  • PySide2 *
  • SpeechRecognition *
  • google-api-python-client *
  • oauth2client *
  • pvporcupine <2.0.0
  • pyaudio *
  • scikit-surgerycore *
setup.py pypi
  • PySide2 *
  • SpeechRecognition *
  • google-api-python-client *
  • oauth2client *
  • pvporcupine <2.0.0
  • pyaudio *
  • scikit-surgerycore *