64 lines
2.0 KiB
Plaintext
64 lines
2.0 KiB
Plaintext
|
novoapi( https://bitbucket.org/novolanguage/python-novo-api ) is written in Python 2.7.
|
||
|
To install it on Python 3.x the following points should be modified.
|
||
|
- basestring --> str
|
||
|
- print xxx --> print({}.format(xxx)).
|
||
|
- import xxx --> from . import xxx
|
||
|
- except Exception, e --> except Exception as e
|
||
|
- remove tuples from input arguments of a function.
|
||
|
Concretely...
|
||
|
|
||
|
=== novoapi\backend\__init__.py
|
||
|
#import session
|
||
|
from . import session
|
||
|
|
||
|
|
||
|
=== novoapi\backend\session.py
|
||
|
#except Exception, e:
|
||
|
except Exception as e:
|
||
|
|
||
|
#print self.last_message
|
||
|
print(self.last_message)
|
||
|
|
||
|
|
||
|
=== novoapi\asr\__init__.py
|
||
|
#import segments
|
||
|
#import spraaklab
|
||
|
from . import segments
|
||
|
from . import spraaklab
|
||
|
|
||
|
|
||
|
=== novoapi\asr\segments\praat.py
|
||
|
#print_tier(output, "confidence", begin, end, confidences, ('%.3f', lambda x: x))
|
||
|
#print_tier(output, "words", begin, end, word_labels, ('%s', lambda x: x))
|
||
|
#print_tier(output, "phones", begin, end, phones, ('%s', lambda x: x))
|
||
|
print_tier(output, "confidence", begin, end, confidences, '%.3f', lambda x: x)
|
||
|
print_tier(output, "words", begin, end, word_labels, '%s', lambda x: x)
|
||
|
print_tier(output, "phones", begin, end, phones, '%s', lambda x: x)
|
||
|
|
||
|
|
||
|
=== novoapi\asr\spraaklab\__init__.py ===
|
||
|
#import schema
|
||
|
from . import schema
|
||
|
|
||
|
|
||
|
=== novoapi\asr\spraaklab\schema.py ===
|
||
|
#if isinstance(object, basestring):
|
||
|
if isinstance(object, str):
|
||
|
|
||
|
except jsonschema.ValidationError as e:
|
||
|
#print data, "validated not OK", e.message
|
||
|
print("{0} validated not OK {1}".format(data, e.message))
|
||
|
else:
|
||
|
#print data, "validated OK"
|
||
|
print("{0} validated OK".format(data))
|
||
|
|
||
|
|
||
|
Then to make it correctly work, few more modification is needed.
|
||
|
When the wav file is read using the wave module, the output (named buf) is a string of bytes on Python 2.7 while buf is a byte object on Python 3.6.
|
||
|
Therefore...
|
||
|
|
||
|
=== novoapi\backend\session.py
|
||
|
#audio_packet = str(buf[j:j + buffer_size])
|
||
|
audio_packet = buf[j:j + buffer_size]
|
||
|
|
||
|
Also, because of this difference, Segment.__repr__ (novoapi\asr\segments\segments.py) does not work.
|