Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 1.92 KB

README.md

File metadata and controls

62 lines (41 loc) · 1.92 KB

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>';