Harmonia
Instant speech translator, with instant speaking.
Getting Started
This is the public repository for Harmonia (@harmonia/core), where issues can be tracked and development is executed.
HarmoniaApp is where harmonia is used.
Take a look at the CONTRIBUTING.md
before starting to work.
Usage
Install: npm install harmonia
.
Before using it you should define a ha-config.json
file with this content:
{
"engine": {
"name": "<ENINGE_NAME_IN_LOWERCASE>",
"key": "<ENGINE_KEY>"
},
"detector": {
"name": "<DETECTOR_NAME_IN_LOWERCASE>",
"key": "<DETECTOR_KEY>"
}
}
If you are working on Harmonia you can create this file with the same content in the pids/
folder.
Simple translation
const harmonia = require('harmonia');
harmonia.translate('Perro.', 'english') // Language can be defined with 2 characters also, 'english' is 'en'
.then((result) => {
console.log(result); // Logs out 'Dog'
});
Speaking
const harmonia = require('harmonia');
const assistant = harmonia.Speech;
harmonia.translate('Perro.', 'english')
.then((result) => {
assistant.say(result); // She will tell you 'Dog'
});
For Developers
Prerequisites
For development you will need an api key from Yandex or Google for the translation engine, and Detector key for language detection.
Notes
Translatable languages and their ISO code is in lib/ISOlanguage
.
Steps
Fork, clone your repository, and set up the packages.
npm i
Make your changes. Write tests for it. Make sure tests pass.
npm test
Then, compile TypeScript files.
gulp build
Run JavaScript.
npm start
Or use nodemon.
nodemon harmonia
Running the tests
We use jasmine for testing, tests should go to spec
directory.
Write your test inside any file called <Filename>.spec.ts
.
Run your tests.
npm test
Built With
- TypeScript - JavaScript compiler
- Gulp - Task runner
- Travis CI - Continuous integration
- Jasmine - Development framework for testing
- NodeJS - JavaScript runtime framework
- NPM - Software system
Contributing
Please read the CONTRIBUTING.md
for details on our code of conduct, and the process for submitting pull requests to us.
License
Copyright (C) 2018 Martin Kondor
Code licensed under the MIT license, see the LICENSE file for details.
Contact
Email here: martinkondor@gmail.com
.