Skip to main content

A voice assistant prototype

Project description

Mac Voice Assistant


This is a prototype software package which performs IO operations in the Host app via voice commands

Dependencies


Run the following commands in your project terminal in the same order before installing Mac Voice Assistant

1. Brew

Run this if you do not have brew installed already

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Command Line Developer Tools - XCode (Mac Users)

Please ensure Xcode packages are up-to-date. Try running

  • $ sudo xcodebuild -license
  • $ xcodebuild -runFirstLaunch

3. Portaudio

$ brew install portaudio

4. PyAudio

$ pip3 install pyaudio

If Pyaudio could not be installed with the default pip install command, try the below code:

$ pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio

Refer to this link if you're still having trouble installing PyAudio

5. Finally Mac Voice Assistant

$ pip install mac_voice_assistant

Debug:


  • If you run into SSL certification error, search for Certificates.command in spotlight and open the file. It should install the necessary certificates

  • If voice is crackling or robotic, it is because the default voice might not be available on your local machine. Follow the steps in the below link to add voices to your Mac, or change to one you have on your system already. Later Update self.default_voice with the desired voice.id

https://support.apple.com/en-gb/guide/mac-help/mchlp2290/mac#:~:text=Add%20a%20new%20voice,may%20need%20to%20scroll%20down.)

  • There are a few known issues with NSSS.py and pysstx3.py on macOS Ventura. Until we receive an update with those fixes, below is a temporary workaround for the errors in init stage.

In pyttsx3/drivers/nsss.py:

def _toVoice(self, attr) method:
    Replace:
         return Voice(attr['VoiceIdentifier'], attr['VoiceName'],
            [lang], attr['VoiceGender'],
            attr['VoiceAge'])
    With:
        return Voice(attr.get('VoiceIdentifier'), attr.get('VoiceName'),
            [attr.get('VoiceLocaleIdentifier', attr.get('VoiceLanguage'))], attr.get('VoiceGender'),
            attr.get('VoiceAge'))
class NSSpeechDriver(NSObject):
    Replace:
        self = super(NSSpeechDriver, self).init()
    With:
        self = objc.super(NSSpeechDriver, self).init()

If the downloader script is broken. As a temporal workaround can manually download the punkt tokenizer from here and then place the unzipped folder in the corresponding location. The default folders for each OS are:

Windows: C:\nltk_data\tokenizers

OSX: /usr/local/share/nltk_data/tokenizers

Unix: /usr/share/nltk_data/tokenizers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mac_voice_assistant-0.3.2.tar.gz (97.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mac_voice_assistant-0.3.2-py3-none-any.whl (96.0 kB view details)

Uploaded Python 3

File details

Details for the file mac_voice_assistant-0.3.2.tar.gz.

File metadata

  • Download URL: mac_voice_assistant-0.3.2.tar.gz
  • Upload date:
  • Size: 97.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for mac_voice_assistant-0.3.2.tar.gz
Algorithm Hash digest
SHA256 c632320dde91b73027f4bed31e94e1c38c89befc84417abfced860f30b52a37e
MD5 aaab0b3c0ea131a7af9695458fb5974d
BLAKE2b-256 04df384583e9d1751766e2577d6b76d5c0f8caf7eae98019fcb45277298947ca

See more details on using hashes here.

File details

Details for the file mac_voice_assistant-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for mac_voice_assistant-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2e47bc23fdbe0f29871ffaf19b54aa8b83218d52980fa0a0c5e5fe6c55e38eec
MD5 d053b6a1254d0ea13aba5a307a098237
BLAKE2b-256 5ae94ecad1452370aac15943ef58580d39b30a995b1955ff8f6e92f7e48a5ddf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page