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. |