cmusphinxdict
Version:
Wrapper for CMU Sphinx Pronouncing Dictionary
98 lines (71 loc) • 1.91 kB
Markdown
Wrapper for [CMU Sphinx Pronouncing Dictionary](http://svn.code.sf.net/p/cmusphinx/code/trunk/cmudict/sphinxdict/). It's a hashtable that maps words to phonemes.
```bash
npm install cmusphinxdict
```
Single word
```javascript
CMUSphinxDict.get('hello', function(word, pronouncings) {
console.log(word); // 'HELLO'
console.log(pronouncings); // ['HH AH L OW', 'HH EH L OW']
});
```
Multiple words
```javascript
CMUSphinxDict.get(['hello', 'world'], function(words, pronouncings) {
console.log(words); // ['HELLO', 'WORLD']
console.log(pronouncings); // [['HH AH L OW', 'HH EH L OW'], ['W ER L D']]
});
```
Special character lookup
```javascript
CMUSphinxDict.get('.', function(word, pronouncings) {
console.log(word); // '.'
console.log(pronouncings); // [ 'D EH S AH M AH L', 'D AA T', 'P IH R IY AH D', 'P OY N T' ]
});
```
Add additional pronouncings
`additionalPronouncings.json`
```json
[
{
"AMALTHEA": [
"AH M AA L TH IY AH"
]
}
]
```
```javascript
var file = fs.createReadStream(__dirname + '/additionalPronouncings.json');
CMUSphinxDict.addPronouncings(file, function(error, words, pronouncings) {
console.log(words); // ['AMALTHEA']
console.log(pronouncings); // [['AH M AA L TH IY AH']]
});
```
```javascript
$ cmusphinxdict hello world
HELLO HH AH L OW
HELLO(2) HH EH L OW
WORLD W ER L D
```
JSON format:
```javascript
$ cmusphinxdict hello world --format=json
{
"HELLO": [
"HH AH L OW",
"HH EH L OW"
],
"WORLD": [
"W ER L D"
]
}
```
Aliases for *format*: `-f=[type]`, `--format=[type]`, `--json`
Format types: `json`, `text` (default)
[](http://www.speech.cs.cmu.edu/cgi-bin/cmudict) is release under the [Public Domain](http://en.wikipedia.org/wiki/CMU_Pronouncing_Dictionary).
Everything else is released under the MIT License.