Skip to content

PHP library for work with CMU Pronouncing Dictionary (CMUdict)

Notifications You must be signed in to change notification settings

sngrl/cmudict-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CMUDict PHP library

PHP library for work with CMU Pronouncing Dictionary (CMUDict).

With this class you can get the pronunciation of words in the English language, and the approximate transcription in Russian.

In work uses the last version: CMUdict -- Major Version: 0.07a [102007].

Arpabet table is used to convert the phonemes in the transcription.

To obtain an approximate Russian transcription used rules of Anglo-Russian practical transcription.

Note. The basis was taken out of class project is-ottava-rima (unfortunately, it has not been updated since 2012). In fact, it is left unchanged - all the extra functionality is taken in the auxiliary class that extends the base class.

Example of work

Original text:

after twelve long years it should be awesome

Phonemes (Arpabet):

AE F T ER ;; T W EH L V ;; L AO NG ;; Y IH R Z ;; IH T ;; SH UH D ;; B IY ;; AA S AH M

Transcription:

æftɝ twɛɫv ɫɔŋ jɪrz ɪt ʃʊd bi ɑsʌm

Russian transcription:

эфте твэлв лон йирз ит шуд би асам

Sample code

$phrase = 'after twelve long years it should be awesome';

header('Content-Type: text/html; charset=utf-8');
require __DIR__ . '/classes/CMUDict.class.php';
$cmu_dict = CMUDict::get();

echo '<pre>' . $phrase . '</pre>';

$phrase_phoneme = $cmu_dict->getPhoneme($phrase);
echo '<pre>' . print_r($phrase_phoneme, 1) . '</pre>';

$phrase_transcription = $cmu_dict->getTranscription($phrase);
echo '<pre>' . print_r($phrase_transcription, 1) . '</pre>';

$phrase_rus_transcription = $cmu_dict->getRusTranscription($phrase);
echo '<pre>' . print_r($phrase_rus_transcription, 1) . '</pre>';

About

PHP library for work with CMU Pronouncing Dictionary (CMUdict)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages