Remove system path modifications

To run a script during development, instead ./setup.sh followed by precise-<script_name> should be used
This ensures all the proper paths are already setup (such as for PreciseRunner)
pull/1/head
Matthew D. Scholefield 2018-02-22 01:10:41 -06:00
parent d622eef3ec
commit cc32959e29
21 changed files with 48 additions and 76 deletions

View File

@ -1,3 +1,4 @@
# Copyright (c) 2017 Mycroft AI Inc.
from typing import *

View File

@ -1,3 +1,4 @@
# Copyright (c) 2017 Mycroft AI Inc.
from os.path import isfile
from typing import *

View File

@ -1,4 +1,3 @@
# Python 3
# Copyright (c) 2017 Mycroft AI Inc.
from abc import abstractmethod, ABCMeta
from importlib import import_module
@ -8,9 +7,9 @@ from typing import BinaryIO
import numpy as np
from precise.util import buffer_to_audio
from precise.model import load_precise_model
from precise.params import inject_params
from precise.util import buffer_to_audio
class Runner(metaclass=ABCMeta):
@ -70,6 +69,7 @@ class KerasRunner(Runner):
class Listener:
"""Listener that preprocesses audio into MFCC vectors and executes neural networks"""
def __init__(self, model_name: str, chunk_size: int = -1, runner_cls: type = None):
self.window_audio = np.array([])
self.pr = inject_params(model_name)

View File

@ -1,8 +1,8 @@
# Python 3
# Copyright (c) 2017 Mycroft AI Inc.
import json
from collections import namedtuple
from math import floor
import numpy as np

View File

@ -1,13 +1,17 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
from typing import *
from typing import BinaryIO
import numpy as np
from precise.util import audio_to_buffer
from precise.params import pr
from precise.util import audio_to_buffer
class PocketsphinxListener:
"""Pocketsphinx listener implementation used for comparison with Precise"""
def __init__(self, key_phrase, dict_file, hmm_folder, threshold=1e-90, chunk_size=-1):
from pocketsphinx import Decoder
config = Decoder.default_config()

View File

@ -1,13 +1,9 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.', 'runner'] # noqa
from threading import Event
from random import randint
from subprocess import Popen
from threading import Event
from prettyparse import create_parser
from precise.pocketsphinx.listener import PocketsphinxListener

View File

@ -2,13 +2,13 @@
# Copyright (c) 2017 Mycroft AI Inc.
import wave
from subprocess import check_output, PIPE
from prettyparse import create_parser
from precise.pocketsphinx.listener import PocketsphinxListener
from precise.scripts.test import show_stats
from precise.train_data import TrainData
usage = '''
Test a dataset using Pocketsphinx
@ -35,7 +35,9 @@ usage = '''
def eval_file(filename) -> float:
transcription = check_output(['pocketsphinx_continuous', '-kws_threshold', '1e-20', '-keyphrase', 'hey my craft', '-infile', filename], stderr=PIPE)
transcription = check_output(
['pocketsphinx_continuous', '-kws_threshold', '1e-20', '-keyphrase', 'hey my craft',
'-infile', filename], stderr=PIPE)
return float(bool(transcription) and not transcription.isspace())
@ -44,7 +46,8 @@ def main():
data = TrainData.from_both(args.db_file, args.db_folder, args.data_dir)
print('Data:', data)
listener = PocketsphinxListener(args.key_phrase, args.dict_file, args.hmm_folder, args.threshold)
listener = PocketsphinxListener(args.key_phrase, args.dict_file, args.hmm_folder,
args.threshold)
def run_test(filenames, name):
print()

View File

@ -1,14 +1,10 @@
#!/usr/bin/env python3
# Attribution: This script was adapted from https://github.com/amir-abdi/keras_to_tensorflow
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.'] # noqa
import os
from os.path import split, isfile
from shutil import copyfile
from prettyparse import create_parser
usage = '''

View File

@ -1,15 +1,12 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.'] # noqa
import json
from precise.network_runner import Listener
from precise.scripts.test import show_stats
from prettyparse import create_parser
from precise.network_runner import Listener
from precise.params import inject_params
from precise.scripts.test import show_stats
from precise.train_data import TrainData
usage = '''

View File

@ -1,18 +1,15 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.', 'runner'] # noqa
from threading import Event
from random import randint
from os.path import join
from random import randint
from subprocess import Popen
from prettyparse import create_parser
import numpy as np
from threading import Event
import numpy as np
from prettyparse import create_parser
from precise.util import save_audio, buffer_to_audio
from precise.network_runner import Listener
from precise.util import save_audio, buffer_to_audio
from precise_runner import PreciseRunner
from precise_runner.runner import ListenerEngine

View File

@ -1,15 +1,12 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import os
import sys
sys.path += ['.'] # noqa
import os
from prettyparse import create_parser
from precise.network_runner import Listener
from precise import __version__
from precise.network_runner import Listener
usage = '''
stdin should be a stream of raw int16 audio, written in

View File

@ -1,13 +1,9 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.'] # noqa
from prettyparse import create_parser
from precise.params import inject_params
from precise.model import load_precise_model
from precise.params import inject_params
from precise.train_data import TrainData
usage = '''

View File

@ -1,15 +1,10 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.'] # noqa
from prettyparse import create_parser
from precise.train_data import TrainData
from precise.model import create_model
from precise.params import inject_params, save_params
from precise.train_data import TrainData
usage = '''
Train a new model on a dataset

View File

@ -1,22 +1,18 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.'] # noqa
from glob import glob
from os import makedirs
from os.path import basename, splitext, isfile, join
from random import random
from typing import *
import numpy as np
from os import makedirs
from random import random
from glob import glob
from os.path import basename, splitext, isfile, join
from typing import *
from prettyparse import create_parser
from precise.train_data import TrainData
from precise.network_runner import Listener, KerasRunner
from precise.model import create_model
from precise.network_runner import Listener, KerasRunner
from precise.params import inject_params
from precise.train_data import TrainData
from precise.util import load_audio, save_audio
usage = '''

View File

@ -1,6 +1,4 @@
# Python 3
# Copyright (c) 2017 Mycroft AI Inc.
import json
from argparse import ArgumentParser
from hashlib import md5

View File

@ -1,3 +1,4 @@
# Copyright (c) 2017 Mycroft AI Inc.
from typing import *
import numpy as np

View File

@ -1,10 +1,10 @@
# Copyright (c) 2017 Mycroft AI Inc.
from typing import *
import numpy as np
from precise.util import load_audio
from precise.params import pr
from precise.util import load_audio
inhibit_t = 0.4
inhibit_dist_t = 1.0

View File

@ -1,10 +1,5 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
import sys
sys.path += ['.', 'runner'] # noqa
from argparse import ArgumentParser
from subprocess import Popen
from precise_runner import PreciseRunner, PreciseEngine
@ -23,10 +18,10 @@ def main():
Popen(['aplay', '-q', 'data/activate.wav'])
engine = PreciseEngine('./precise/stream.py', args.model)
PreciseRunner(engine, on_prediction=on_prediction, on_activation=on_activation, trigger_level=0).start()
PreciseRunner(engine, on_prediction=on_prediction, on_activation=on_activation,
trigger_level=0).start()
Event().wait() # Wait forever
if __name__ == '__main__':
main()

View File

@ -1,6 +1,5 @@
# Python 2 + 3
# Copyright (c) 2017 Mycroft AI Inc.
import atexit
from subprocess import PIPE, Popen
from threading import Thread

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright (c) 2017 Mycroft AI Inc.
from setuptools import setup, find_packages
setup(