Epigram
'Hope' is the thing with feathers—
That perches in the soul—
And sings the tune without the words—
And never stops—at all—
And sweetest—in the Gale—is heard—
And sore must be the storm—
That could abash the little Bird
That kept so many warm—
I've heard it in the chillest land—
And on the strangest Sea—
Yet, never, in Extremity,
It asked a crumb—of Me.
Emily Dickinson
********************
It used to happen each and every September, but now everything comes to light a couple of months earlier as the very first beta release of a major iOS update is made available to developers and public testers. Each year I install the first iOS beta release with gusto, take a gander at its TTS options in hopes of locating the slightest hint or tip about Persian (Farsi) support, and then reconcile myself to the fact that maybe my iDevice will be capable of reading Persian characters and words next time around. Life without hope is mindless, after all.
The stats are stunning. According to many sources -- including this Persian website, more than fifteen percent of Iranian smartphone users own an iPhone. Iranians own more than forty million smartphones, and more than seven million of them are iPhones despite the fact that Apple, unlike companies such as Samsung and LG, has no official stores or dealers here. However, if you're a visually impaired individual who speaks Persian, purchasing an iPhone would be akin to committing suicide. As such, it's a truth nationally acknowledged that iOS provides no choice for reading Persian stuff, so why bother with it?
Suffice it to say that we -- Iranians -- have no official, user-managed websites dedicated to accessible iOS apps. I just know three or four blind Iranians who own an iPhone, and almost all of them use it as their secondary device.
How have visually impaired Iranians sought sanctuary in Android?
Technical details aside, Android is an open operating system which allows for the customization of most -- if not all -- aspects of the user experience. As a consequence, you can even install your own TTS engine, and set it as your default engine for the operating system. This is not the case with iOS.
In order for Android to become capable of reading Persian stuff, the eSpeak TTS engine has to be installed. It has a vexatiously mechanical or robotic sound, but as it's the only choice for Iranian Android users, the so-called bitter pill cannot be avoided. Similar to iOS, Android has no native Persian TTS solutions for blind users, but it's global TTS API allows for the installation of third-party TTS engines which abound on the Google Play.
I have used a wide range of Android cellphones (nexus, Pixel, Galaxy, etc) over the past couple of years. Some users tend to call me the nemesis of Android devotees on the Eyes-Free list. But as someone who no longer owns a Droid, it might be worth mentioning that the over-all TTS situation on iOS is more acceptable and, in my opinion, attests Apple's commitment to providing a better experience. Google offers no high-quality voices for Android, and, to my ears at least, third-party TTS engines (including the beloved and legendary Eloquence or the human-sounding Vocalizer) fail to sound or function as smoothly as their Windows or iOS counterparts. Apple provides Nuance Vocalizer free of charge, its Alex is, IMO, the best over-all US English voice, and its Siri voices are decent choices. But it's obvious that Apple can't support all languages out there with its lack of support for third-party TTS engines -- solutions which can help with a portion of the heavy-lifting.
What are the ramifications of not providing a TTS solution to speakers of a language?
At first thought, one might think that not providing a TTS engine for a language only affects visually impaired speakers of that language. This take on the issue, which is not far away from the truth in many ways, keeps sighted users out of the equation. However, if your operating system fails to speak the language of a nation, it means people in that country, regardless of the status of their vision, can't use your operating system to read ebooks, receive auditory navigation/GPS-oriented hints, listen to the contents of webpages, have their SMS and emails read to them, and so forth. And in the case of iOS, the absence of a Persian TTS solution means no Siri-based interaction will be possible in the near future. In short, sighted users will also hugely reap the benefits of a TTS which can speak their language although visually impaired users will be the major beneficiaries.
How does this situation affect the visually impaired in Iran?
Guess I'm the quintessence of a mulish, dogged, bullheaded, pigheaded type of behavior. Any extra synonyms? Please contact me privately!
Seriously, although the status quo drastically limits the use of iPhones in Iran for the visually impaired, I'd rather keep using it for numerous accessibility benefits provided by the iOS operating system. I'm also lucky that my professional life mostly revolves around English. At any event, not having access to a Persian TTS on my iPhone means I can't read my Persian SMS messages and emails. I can't use apps whose interface is in Persian. Google Maps doesn't work for me as its street/highway names are in Persian. I can't use Youtube, or Safari for that matter, to browse Persian videos/websites for obvious reasons. How about English-to-Persian dictionaries or translation services? Totally out of the question. Forget about Voice Dream Reader to read text-only Persian books. Alas, lire is absolutely useless for Persian RSS feeds.
Granted, whenever iOS detects the presence of a Persian text string, it makes an attempt to read it using the built-in Arabic TTS engine. Arabic and Persian are similar in some ways. However, Arabic is a Semitic language and Persian is an Indo-Iranian one. The Arabic alphabet has 28 letters but the Persian alphabet has 32. Both are right-to-left languages, but Persian and Arabic speakers can't understand one another at all as their grammars are vastly different. It's like comparing English and French. As such, I've had limited success in using the Arabic TTS engine to read SMS or to type short Persian sentences, but I have to keep guessing for the extra Persian letters not provided by the Arabic alphabet. I've also learned to cope with odd pronunciation differences between the two languages. For more on the differences between the two, you may want to check this page.
And, last but not least, in a positive development iOS 11 provides a dedicated built-in keyboard for Persian; however, even the Arabic TTS engine fails to read Persian letters which are typed via that keyboard, and VoiceOver tends to say, "Unpronounceable comma," with each key press on that keyboard. So I have to stick to the Arabic keyboard and type the extra Persian letters via painful long presses.
To put it in a nutshell, the extremely limited Persian support means iDevices cannot be used as productivity tools, and that's why I won't purchase an iPad as long as Persian speech output is not supported.
What Apple can do to amend the abysmal situation?
As a company which has genuinely endorsed accessibility in whatever it does, Apple can take some steps to remedy the inadequacies I mentioned.
Apple can provide a built-in voice/TTS engine for Persian. However, given the lack of TTS engines for so many languages and considering the fact that Nuance, the major provider of voices to Apple, doesn't have a Persian TTS at the moment (according to my knowledge of the matter), such a solution might not be feasible. So a better solution should be sought -- something which can take care of the issue for more unsupported languages
As such, I suggest that Apple add a TTS API for developers or companies that want to have their TTS engines operate as the global engine on iOS. This can be similar to the API for custom keyboards, the SiriKit, or the CallKit.
Imagine being able to install third-party TTS engines such as Acapela or NeoSpeech VoiceText on your iDevice in the future. This will benefit even those whose languages are supported by various iOS voices as the presence of more TTS engines and third-party developers means more options for users.
In conclusion...
It was more than three years ago that another Iranian iDevice owner petitioned Apple on AppleVis either for the inclusion of a Persian TTS in iOS or for opening the TTS API to developers. Those requests hit a snag and iOS 8 was later released with zero Persian improvements. I'm wondering if iOS 12 can make iDevices accessible to tens of thousands of visually impaired Iranians, and to an estimated 110 million Persian speakers in Iran and the Middle East.
In closing, if you also happen to be an iDevice owner without iOS supporting your mother tongue, how do you go about your daily tasks? Have you written to Apple about the problem? If so, have you received any replies? Or have you considered switching to Android, or have you committed the switch, because of the language barrier? How do you think Apple can take care of the issue?
Comments
very disapointed
HI, i am understand what you have writen before a long time, in 2014, i was in the similar status with the hebrew language. i think that apple needs to know about this and i suggest to you to write them and explaine the benifits of the support this. but with apple it's can be take menny time untill that they will support them and in your language. today apple supports in my mother language in braille and speach but i am understand you.
Re: very disapointed
Thanks for your empathy!
You're right. It takes a good deal of time and effort to get Apple to the point where this might be taken seriously. And the more people write to Apple, hopefully the sooner it'll be picked up.
This should be fixable
Thanks for the well-written and fair assessment of the situation, Amir. This should be fixable. Apple should provide some type of plug-in interface, a public API, to allow developers to add support for any language, even Klingon.
It occurs to me that Apple has made a poor design decision when it comes to speech. Namely, SIRI and VoiceOver seem to be two very different software components. There is no way to control SIRI's speaking rate, and dictionary entries in VoiceOver don't carry over to SIRI, from this I gather that they are separate software modules. This complicates the problem of supporting foreign languages, I'd assume, because it means support needs to be added in more than one place. This is just speculation on my part, but I think if Apple were to take a second look at speech output in iOS, there is a lot of redesign opportunities that would result in a more clean and consistent interface between SIRI and VoiceOver, and perhaps make foreign language addition not so much of an issue.
Re: This should be fixable
Thanks, Paul, for your take on this challenging issue.
Apart from the technical issues you presented, I'm wondering how we, as end users, can make Apple aware of the importance of a public TTS or Speech API. Would, say, emailing their Accessibility team or contacting them via phone suffice? My hope is that bringing it up on AppleVis can help with the so-called outreach campaign.
adding persian tts engin
hi. at first i really appreciate Mr amir for this post i study this text compleatly. i have had samsong cellphone for two years. i decided to buy another phone. one of my selection was iphone but when i understood this device does not support persian engine, i forced to change my decision. iphone has many different usefull facilities for us and unfortunately this limitation is an obstacle for using this phone and its usefull softwares i hope the customer oriented managers of this company make a good dicision for their blind customers who needs persian tts engine. with best wishes
adding persian to voiceover
hello. as an iranian, i really like to use apple because of its fantastic accessibility for blinds but since voiceover doesn't support persian, i can't. we all know that customers feedback is totally important for apple. so as a person wanted to use apple's product, i want the company to add persian to voiceover languages.
thanks apple in advance and thanks amir for this post
Re: adding persian tts engine
Thanks, Ms. Elnaz, for your supportive message. Having gone through the very same ordeal, I can fully understand both your frustration and your logical decision to forgo the iPhone. Hope an open TTS API can take care of this issue in the future as that would also help speakers of other languages which don't enjoy the comfort of built-in voices in iOS.
Re: adding persian tts engin
adding persian tts engin
Re: adding persian to voiceover
Mega thanks, Tina, for making the case for this important change so eloquently. It's both heartening and bolstering to see Iranians here making their voices heard. I have nothing but to echo your well-presented request.
Cheers.
Are there any high quality
Are there any high quality Persian speech synthesizers available made by any companies?
Re: Are there any high quality
Excellent question, Chris.
A couple of Iranian companies, three to be precise, have developed human-sounding Persian TTS engines that sound much better than eSpeak. They are GATA, Pactos, and Asr Gooyesh (website in Persian). I'm pretty sure other companies are active in this field, but I just named the above three off the top of my head.
Adding Persian Language to tts engine
Thank you very much for well written, thoughtful comments which contains totally valid points. As an Iranian Blind iPhone user I was really disappointed to learn that Apple doesn't support Persian Language. Up to a piont I even felt discriminated against as well. So for that matter I agree with you 100% and urge Apple Inc to come to their senses and do the right thing.110 M is a huge potential that no Company can afford to ignore!
Re: Adding Persian Language to tts engine
Thanks for taking the time to voice your concerns here. I'm also with you re the discrimination issue you brought up. Though not intentional, it certainly reinforces that feeling.
logic, illogic, and opportunity
I understand the reasons that you would like Persian language support, and I entirely sympathize. However, I see little chance of this limitation being fixed in the near future. The reason for this is that apple doesn't do their own speech technology, but instead outsources it to Nuance communications. Nuance does not have any systems in Persian, nor do they in any closely-related languages. The closest linguistically is probably Bhojpuri, which they added only recently. This could take a while for Nuance to fix, if they even have an interest.
However, apple is not totally innocent here. I recently took a trip down the long list of languages on my iPhone (these are full interface translations, not the keyboard or preferred language lists), and after getting a bit confused when voiceOver consistently crashed on whatever the language is between English U.K. and traditional Chinese, succeeded in viewing the rest. The odd thing is that there are two languages, Catalan and Croatian, that have no available voice. Nuance has had voices available in both of these for some time. In fact, Nuance has supported Catalan longer than the iPhone has existed. Thus, I have to ask what Catalan did to get left off. Croatian is a newer development, but there's no good reason that should be left out either. If we're starting to ask apple for things like this, let's put those in our list. I don't know any Catalan or Croatian speakers, but they must be out there and I'm sure they'd appreciate such an easy change being made.
There is some chance that getting apple interested in adding languages could have some effect on Nuance policies. Apple has put a lot of money their way in order to have so much work done on their behalf. The new voices for siri are Nuance products, as are the dictation libraries. Thus, apple has some power. I do think it's rather unlikely that they use it, however.
In terms of requests to apple, I'm sympathetic to the Persian speakers, and I'd support them in their requests. However, there are two additions that would be easier to do, and thus more likely. If people are sending contacts to apple asking for this stuff, I think these are reasonable additions. In order of logic, they are:
1. Add Catalan and Croatian support to voiceOver, given the translations are already in there and the software exists, and
2. Add the other Nuance languages (Basque, Bengali, Bhojpuri, Bulgarian, Galician, Kannada, Marathi, Tamil, Telugu, and Valencian) to voiceOver. Whether or not they are actually available as translations, they will make it possible for the users in those areas (especially India) to read in their chosen language. It would take virtually no effort to do that.
Meanwhile, we can at least hope that Nuance chooses to continue adding languages. It is certainly possible that they are at work on that as we speak. Then again, they may choose to focus on other types of technology. If apple is willing to use its bargaining power, we may have some chance, but while they continue not to include unsupported languages' speech in the system, their likelihood to care is remote.
Re: logic, illogic, and opportunity
Hi Nathan,
First and foremost, it was a joy reading your well-written comment.
Your point about Apple's licensing of Nuance voices is very true, and that's why I suggested that Apple open the TTS API so as to let third-party TTS developers in. That has happened in many areas including the Siri kit, the Keyboard API, etc.
BTW are you sure or have you read somewhere that the new Siri voice has been developed by Nuance? Do you mean the new female voice which ships with iOS 11? I was thinking that it was developed by Apple without Nuance's intervention.