7

I am trying to transliterate the pronunciation (i.e. I do not mind the actual meaning of the sentence) of a French sentence (e.g. "Qui est Kaélé ?") into other writing systems (like simplified Chinese, Russian, Arab, Birman, Khmer...). I first convert the sentence to IPA (result: [ki ε kaele]) then convert IPA to Bopomofo for Chinese system, etc. Is there any easier solution?

Is there an online resource that transliterates from IPA into other writing systems than the one based on a Latin alphabet?

  • 2
    One major problem that would exist with this is that, because languages have different sounds from one another, transliteration often involves approximating the pronunciation rather than directly representing it. – TreeHouse196 Jun 26 '16 at 1:00
  • 4
    As TreeHouse196 points out, it will be literally impossible to do this accurately. This is why the IPA exists in the first place! Russian has many sounds that French does not have, and vice versa. When you come across these cases, you simply cannot represent a French phrase in Russian, and expect something meaningful to result. – Flimzy Jun 26 '16 at 10:35
  • Ok. But how can I write down to a Russian person (for instance) how to pronounce, even approximatly, my French sentence - without using IPA (but his own writing system) ? – Xavier Labouze Jun 26 '16 at 16:15
  • 1
    @XavierLabouze It will be easier to answer to your question if you explain the purpose of making a transliteration. What is the point of making an inaccurate approximation, instead of simply recording the French phrase and providing that Russian person with the audio? Note that in many cases, e.g. when transliterating into Chinese, the approximation will be very remote and most likely not understandable at all. – michau Oct 7 '16 at 18:31
  • It is a question of being able of pronoucing (even approximatively) a different script that your own. – Xavier Labouze Dec 11 '16 at 12:28
3

After several attempts to find the type of online service you are looking for, I concluded that such a resources was unlikely to exist. (However, see the end of my response.) There are several reasons for this:

  1. The International Phonetic Alphabet (IPA) is used to render speech sounds, and any transcriptions or transliterations between standard spelling to IPA go to IPA rather than the opposite direction.
  2. There is also the basic problem that some of the comments have mentioned: languages have different sounds, hence different subsets of IPA that are relevant to their transcription. The transcription of the French sentence "Qui est Kaélé?", for example, relies on IPA symbols for phonemes that don't exist in some other languages, and therefor requires approximations when you transcribe into another language (and possibly writing system).

There are several open source libraries and projects that can convert normal text into a phonetic transcription (not necessarily IPA) or convert between different phonemic notation systems:

  • eSpeak has a command option (--ipa) that outputs IPA but no options to go from IPA to standard spelling. eSpeak needs to be installed locally; it is not an online solution.
  • Someone converted eSpeak (which is written in C++) to JavaScript (using emscripten), so it can be used online: the result is speak.js. Here, too, IPA is only an output option. (There's also meSpeak.js, which is based on speak.js. I does not seem to have an IPA output option, nor an IPA input option.)
  • lexconvert is a Python library by Silas S. Brown that can convert between different phonemic notation systems, including IPA. It is primarily intended for use with speech synthesis software, especially the speech synthesisers used in screen readers. One of the conversion options is kana-approx for the conversion between one of the other supported formats to kana (the default script is hiragana); this is meant to be fed into a speech synthesiser that supports only Japansee. This is the type of thing we are looking for, but it supports only one use case: using kana to render the pronunciation of English phonemes. The option pinyin-approx does the same thing, but using Hanyu Pinyin as output format (primarily for speech synthesisers that only support Chinese).
  • On StackOverflow, someone was looking for Java code to transcribe Hebrew words into "English characters", e.g. שלום into "shalom". Someone pointed to ICU's Script Transliteration. The documentation points out that "Standard transliteration methods often do not follow the pronunciation rules of any particular language in the target script. (...) A transliteration method might also require some special knowledge to have the correct pronunciation." For supported scripts, see Script Transliterator Sources in the documentation: there is support for romanisations of Korean, Japanese, Greek, Cyrillic and certain Indic scripts, and for the opposite directions. This is not an online service, just something that can be used to build an online service.
  • The Perl module Lingua::Translit can be used to transliterate between a number of scripts (Cyrillic, Greek, Arabic, Latin); the conversions are not always reversible. I am not aware of an online service that uses it.
  • Perl's CPAN has something called Unidecode, which converts Unicode data into US-ASCII characters. The documentation says that the resulting "representation is almost always an attempt at transliteration -- i.e., conveying, in Roman letters, the pronunciation expressed by the text in some other writing system." Unidecode has some limitations; for exampple, it can't deal with writing systems that use no vowels, such as Hebrew. Some people have ported Unidecode to C#: UnidecodeSharp and UnidecodeSharpFork. There is also a Python version: Unidecode. I am not aware of an online service that uses it.

Finally, there are a few online services that support certain types of transliterations:

  • Translitteration.com is a site for the online transliteration of just over 20 languages to the Latin script.
  • www.translit.cc hosts several transliteration services. For example, ge.translit.cc transliterates between Georgian and the Latin script, bg.translit.cc transliterates between Bulgarian and the Latin script, and gr.translit.cc transliterates between Greek and the Latin script.
  • English to katakana converter, as the name says, converts English words to katakana (and also appears to provide IPA transcription). It gives two types of katakana transcriptions: one based on pronunciation and spelling, and one based on pronunciation only. Sometimes, it is not able to give the second type of katakana, e.g. for "seamtress" (it also gets the IPA wrong for this word). The same website als has a few other converters.
  • Thank you for your very helpful answer - It seems to be not easy to transliterate from IPA... tks again ! – Xavier Labouze Dec 11 '16 at 12:09
1

Hard work is seldom done easily.

I don't know of any commercially available computer program that will transliterate the IPA of one language into the IPA of another. However, that being said, there is a computer program that will transliterate the IPA of a source alphabet to any target alphabet of your choosing -- but, you will have to write that sort of computer program yourself.

And you actually can write such a computer program yourself if you have (1) a word processor program like Microsoft 'Word" that includes a "Developer" option with "Visual Basic" computer programming language, and (2) both MS Word and IPA fonts in your computer for your source and target languages.

Most versions of MS "Word" have the programming language "Visual Basic" ("VB") included. From its start as the public domain program "Darthmouth BASIC" the language was intended to be relatively easy to be used to help students and non-professional computer users learn how to write computer programs they could then run on their personal computers. VISUAL BASIC FOR DUMMIES is a good, inexpensive, commonly available, instruction book that will help novice programmers understand how to write executable Visual Basic programs. And I'm sure that's why Microsoft included a copy of the "Visual Basic" text editor in "Word" -- for people such as yourself who might have a need for a short, specialized, and executable type of computer program that can be run from within MS "Word" itself.

When using Visual Basic to help you develop a program to answer your own question, you can make use of the IPA charts available in the English (EN) language Wikipedia as well as IPA charts for other languages (cf. "IPA for Russian" in the English language Wikipedia, and its equivalents in the Russian language Wikipedia (ru.Wikipedia.org).

However, if you don't wish to spend a few weeks learning BASIC-language computer programming via MS "Word", then using an existing "Artificial Inteligence" (AI) program to do actual translations (not transliterations), such as is available in the Russian web browser (cf. "translate.Yandex.ru"), will help you. For example, your target phrase ("qui est Kaele) in a French-to-Russian (and Russian to French if you have Russian fonts available on your computer) translation using the Yandex browser (under "Переводчик" ("translator") menu item on the main menu bar will use look-forward word completion to display the accented French "e" as you start typing in the word "Kaele". Not only that, you can have Yandex give you a spoken pronunciation of both your source and your target word, phrase, or sentence. (Quite a helpful feature.)

The Russian Yandex (Яндекс) browser is such a useful learning tool (the translator function includes dictionary-style synonyms and lists of alternate meanings) so I never pass up an opportunity to pass that website on to students and others who are studying languages that are within the frame of reference of the 50 languages that Yandex can translate for you.

However, if you really don't want to take advantage of any of the above suggestions, and still can't find a commercially available language transliteration program to suit your purposes, then you can try creating transliteration tables manually. You can do this by creating target language-source language tables in which you transliterate the sounds of the alphabet of your source language to the same or closest equivalent sound of a character in the alphabet of your target language. If you then create a second table in which you do the reverse for your target language, then you will end up with alphabet tables in which you can manually do your transliterations. Again, the transliteration tables published in the ENglish and other Wikipedia languages will be of help to you. And with time, the speed of your "look up, write" times will become noticeably faster, and your tables more useful. But the caveat here is that you will need to have the appropriate fonts in your word processor if you want to do the job properly and completely.

I have a copy of a Russian tourist booklet which does exactly what I'm saying -- the sounds of Russian Cyrillic characters are substituted (transliterated) for the sounds of the characters in English words, e.g., "айм э рашн." are the Russian sounds of Russian characters which when put together sound to an English speaker like someone saying "I'm a Russian".

While I can't point you directly to a computer program that will allow you to make your transliteration efforts simple and easy, your transliteration objectives can be accomplished using alternative methods.

I hope this has helped you.

  • 2
    This is not really an appropriate answer to the question – Anthony Pham Dec 6 '16 at 21:54
  • Thanks for your valorous attempt. I'm afraid the answer has a few issues: (1) The OP is looking for an available solution, not for a way how to program it. (2) It overlooks the basic problem that some of the comments have mentioned: languages have different sounds, hence different subsets of IPA that are relevant to their transcription. The transcription of the French sentence relies on IPA symbols for phonemes that don't exist in some other languages, which requires approximations when you transcribe into another language (and possibly writing system). (...) – Christophe Strobbe Dec 7 '16 at 17:33
  • This is one of the reasons why IPA charts will be insufficient. (The direct transliteration approach has the same inaccuracy issue.) (3) Regarding the Yandex browser approach: transliteration is not the same thing as finding the pronunciation of a translation. – Christophe Strobbe Dec 7 '16 at 17:33
  • Xavier had asked if there is an online service that will convert the IPA pronunciation of a source language into the IPA pronunciation of a target language. I stated right off that (1) I really don't know of any entity that offers that kind of service. But (2) since Xavier already knows how to -- and personally already does -- use a manual conversion system of his own, he can write his procedure as a computer program and run it from within Microsoft "Word". A computer program he can write to do exactly what he has asked about here, I showed him how he can do that -- using his own talent. – К. Келлогг Смиф Dec 9 '16 at 19:03
  • Tks for your answer but, as mentionned by Christophe, it is not a question of being able to pronounce a translation, but of being able to pronounce (even approximatively) a different script that your own. – Xavier Labouze Dec 11 '16 at 12:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.