Spaces:
Running
Running
| import gradio as gr | |
| import os | |
| from gradio_client import Client | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| HF_TOKEN = os.environ['hf_token'] | |
| client = Client("Ghana-NLP/Africa-TTS-Staging",hf_token=HF_TOKEN) | |
| def synthesize(text, lang, speaker): | |
| audio = result = client.predict( | |
| text=text, | |
| lang=lang, | |
| speaker=speaker, | |
| api_name="/predict") | |
| return audio | |
| title = "Khaya.AI: Speech Synthesis (TTS) for 36 African Languages covering close to 1 Billion People" | |
| description = """ | |
| <b>How to use:</b> Enter some text and choose a language and speaker. | |
| """ | |
| examples = [ | |
| ["Sɛ saa da no du a mode me din bebisa no biribiara a ɛho hia mo. Menka se me na mebisa Agya no ama mo.", "Akuapem Twi","Male (Low)"], | |
| ["Honhom Kronkron ka kyerɛɛ me se menntwentwɛn me nan ase na me ne wɔn nkɔ. Saa agyidifo baasa yi a wofi Yopa no kaa me ho kɔɔ Kaesarea ma yɛn nyinaa kɔɔ Kornelio fi.", "Akuapem Twi","Female"], | |
| ["Nanso, ɛberɛ a mesuntiiɛ no, wɔde anigyeɛ boaa wɔn ho ano; ntohyɛsofoɔ twaa me ho hyiaaɛ a mennim na wɔdii me ho nsekuro a wɔantwa so da.", "Asante Twi","Male (Low)"], | |
| ["Ɛha nso, nnipa no nwiinwii bio tiaa Mose sɛ, “Ma yɛn nsuo nnom!”Mose ka kyerɛɛ wɔn sɛ, “Monyɛ dinn! Adɛn enti na mo ne me regye akyinnyeɛ? Adɛn enti na mopɛ sɛ mosɔ Awurade hwɛ?", "Asante Twi","Female"], | |
| ["Nuru waai a dan ta fu a cheŋ boteka yenni fi garuk nyiŋ, fi be ŋman a pa fi garuk kpioŋ a gum du a te wa.", "Buli","Female"], | |
| ["Naawen ka Naawen kpien waai ale soa ŋanta meena ale chim nalima meena Naab la, wa le tom ate wa ŋman pilim jam dii po meena wuu ate Naawen dek a yaali la.", "Buli","Male (Low)"], | |
| ["Dagbamba nyɛla zuliya ban be tudu yaɣili. Dagbamba ni yɛri bal'shɛli n nyɛ dagbanli.", "Dagbani","Female"], | |
| ["Ka o daa bahi kpi lala Ashibiti titali maa ni silimiin-gɔli November biɛɣ' pia ni ayɔbu dali.", "Dagbani","Male (Low)"], | |
| ["Bana la ka ba maŋ wullo tegitegilɛ kyɛ ka ba daŋ ba baŋ a yelmeŋɛ.", "Dagaare","Female"], | |
| ["O da yeli ko la a banaŋ naŋ da koɔrɔ a ŋmama, “Yɛ de a boma ŋa yi te bare! Yɛ ta de a N Saa yiri ka o leɛ yɛ daa diibu zie!”", "Dagaare","Male (Low)"], | |
| ["Amlɔ ɔ, bɔku ko ba ha a nɔ, nɛ gbi ko je bɔku ɔ mi de ke, “Nɔ nɛ ɔ ji ye bi nɛ i suɔ lɛ saminya a nɛ; nyɛɛ bu lɛ tue!”", "Dangme","Male (Low)"], | |
| ["Kɛkɛ nɛ nihi nɛ a bɔ mɛ apaa gbɔkuɛ ngmlɛ enuɔ ɔ ba, nɛ a ti nɔ tsuaa nɔ na sika hiɔ yi kake.", "Dangme","Female"], | |
| ["Wotee ɖe to, eye wòkpe fu, gake meke nu o. Wokplɔe abe alẽ ene yina wuwu ge. Ezi ɖoɖoe kpoo abe alẽ si le eƒe fukolawo ŋkume la ene, eye meke nu o.", "Ewe","Male (Low)"], | |
| ["Esime wòle to ɖom la, ahe eƒe susu ɣaɣlawo ɖe go, adze klo asubɔ Mawu eye wòaɖe gbeƒã be vavã Mawu le mia dome le afi ma.", "Ewe","Female"], | |
| ["Detty December, a popular term for Ghana and Nigeria's end-of-year party season, can have negative connotations, Ghana's official for diaspora affairs has said, adding that he does not want the label linked with his country.", "English (Ghana)","Female"], | |
| ["Detty December, a popular term for Ghana and Nigeria's end-of-year party season, can have negative connotations, Ghana's official for diaspora affairs has said, adding that he does not want the label linked with his country.", "English (Ghana)","Male (High)"], | |
| ["Detty December, a popular term for Ghana and Nigeria's end-of-year party season, can have negative connotations, Ghana's official for diaspora affairs has said, adding that he does not want the label linked with his country.", "English (Nigeria)","Female"], | |
| ["Detty December, a popular term for Ghana and Nigeria's end-of-year party season, can have negative connotations, Ghana's official for diaspora affairs has said, adding that he does not want the label linked with his country.", "English (Nigeria)","Male (High)"], | |
| ["I also know how to speak English, if you can believe that!", "English (Liberia)","Female"], | |
| ["Detty December, a popular term for Ghana and Nigeria's end-of-year party season, can have negative connotations, Ghana's official for diaspora affairs has said, adding that he does not want the label linked with his country.", "English (Liberia)","Male (Low)"], | |
| ["Ebɔsoa aba pii akɔ haban mu, na kakrabaabi na ebɔboa ano aba fie; na mbɛbɛw bedzi.", "Fante","Male (Low)"], | |
| ["Na iyi nyinara so mpo mu no yeridzi nokwar ahyɛmu, na yɛrekyerɛw; na hɛn mbapɔmba, na hɛn Levifo, na hɛn asɔfoe, rosɔw ano.", "Fante","Female"], | |
| ["Si dans une tribu, une femme reçoit des terres en héritage, elle doit se marier avec un homme appartenant à la tribu de son père. Ainsi, chaque tribu israélite gardera les terres reçues de ses ancêtres.", "French","Male (Low)"], | |
| ["Si dans une tribu, une femme reçoit des terres en héritage, elle doit se marier avec un homme appartenant à la tribu de son père. Ainsi, chaque tribu israélite gardera les terres reçues de ses ancêtres.", "French","Female"], | |
| ["No hewɔ lɛ, mɔ fɛɛ mɔ ni kuɔ hegbɛ lɛ naa lɛ, Nyɔŋmɔ gbɛjianɔtoo lɛ eteɔ shi eshiɔ lɛ; ni mɛi ni teɔ shi nakai lɛ aaana amɛkojomɔ.", "Ga","Male (Low)"], | |
| ["Jeee nakai kulɛ ani afɔŋ afɔlei lɛ shãa? Ejaakɛ kulɛ mɛi ni bajaa Nyɔŋmɔ lɛ, kɛ atsuu amɛhe shi kome pɛ lɛ, amɛbɛ eshai ahe nilee kwraa dɔŋŋ.", "Ga","Female"], | |
| ["Nɛ malaika na kaŋɛ bumo: “Men sa maa lɔ kufu, ŋkpal manɛ so, baru lela nɛ k beeŋ sa basa kikɛ kagbenefuli nɛ m bar menyi.", "Gonja","Female"], | |
| ["Kumo to be ndibi be ayabi bee wɔl nna a buri a tɔr nɛ beche bee kil amo a puga edɛ. Ŋkpal basa na ka maŋ pin asheŋ to na so, Ebɔrɛ nɛ e to bumo na maaŋ wu bumo kuwɔr ŋko n shu bumo so.", "Gonja","Male (Low)"], | |
| ["Abena mɔ mɛ. A dugԑ la dinu’uma bɔ ma dee le pee dugerɔ la laasi la amiŋa.", "Gurene","Female"], | |
| ["Budaa la zԑ̃kԑ bugundɔɔ la paԑ la ka gbe’ere beene dee dĩ’ԑ ŋmi’a zi’an la.", "Gurene","Male (Low)"], | |
| ["Ubangiji Ubangiji ya albarkaci ƙarshen Ayuba fiye da farkonsa. Yana da tumaki guda dubu goma sha huɗu raƙuma guda dubu shida shanun noma guda dubu da jakuna guda dubu.", "Hausa","Male (Low)"], | |
| ["Wata rana da yake cikin koyarwa waɗansu Farisiyawa da malaman dokoki waɗanda suka zo daga kowane ƙauye a Galili Yahudiya da Urushalima kuwa suna zaune. Ikon Ubangiji yana nan don yă warkar da masu ciwo.", "Hausa","Female"], | |
| ["Ọ dịghị ihe nwere ike ime ka i si nʼọnọdụ ị nọ ugbu a biliekwa. Nʼihi na ọnya dị gị nʼahụ ga-egbu gị. Ndị niile nụrụ ihe dakwasịrị gị ga-eji ọṅụ kụọ aka ha, nʼihi na onye ka mmadụ ahụ bụ nke na-anụrụghị ụfụ nke enweghị obi ebere gị?", "Igbo","Male (Low)"], | |
| ["Ịtụ egwu Onyenwe anyị bụ ịkpọ ihe ọjọọ asị. Akpọrọ m nganga na mpako, omume ọjọọ nakwa okwu gbagọrọ agbagọ asị.", "Igbo","Female"], | |
| ["A laam ma nɛ malese serepɛ sem na zega Wɛ yiga ne to. Ba ma kwei nabwanno terepɛ ba pa se maama.", "Kasem","Female"], | |
| ["Ba ma zaŋe ba zeili-o ba pa o nwoŋi teo kom wone. Teo kom déem wo peo yuu ne mo. Ba ma ja-o ba vo jeiga kalo na luuna de tega to se ba yigi-o ba de tega ne ba go.", "Kasem","Male (Low)"], | |
| ["Matukũ-inĩ mothe ma Saũlũ nĩ kwarĩ na mbaara ndũrũ cia kũrũa na Afilisti, na rĩrĩa rĩothe Saũlũ angĩonire mũndũ ũrĩ hinya kana njamba, aamuoyaga, akamũtoonyia ita-inĩ rĩake.", "Kikuyu","Male (High)"], | |
| ["Rĩathani rĩakwa nĩ rĩĩrĩ: Endanagai inyuĩ ene, o ta ũrĩa niĩ ndĩmwendete.", "Kikuyu","Female"], | |
| ["Ni cyo gituma nishimira kugira intege nke n'ubukene, ngatukwa ngatotezwa, nkagira ingorane ari Kristo nzira. Erega iyo mbaye umunyantegenke ni bwo mba mfite imbaraga!", "Kinyarwanda","Male (High)"], | |
| ["Umwami w'izo nzige ni umumarayika ugenga ikuzimu, akitwa Murimbuzi — mu giheburayi ni Abadoni, naho mu kigereki ni Apoliyoni.", "Kinyarwanda","Female"], | |
| ["Nima le cha ti kpa lipobil n-yoonn mɔmɔk. Ti nyi ke taah laa bi dulnyaa wee ni buyoonn na, taa bi Tidindaan do paacham.", "Konkomba (Likpakpaanl)","Female"], | |
| ["N-yaayoonn na aanib aah nan gaa Uwumbɔr ki kii na, nima le u len ke baabimbin ŋan.", "Konkomba (Likpakpaanl)","Male (Low)"], | |
| ["Weemba le ti nan chaa baah miɛ Uwonbɔr nan yaan nin, taah nan chaa-n, le kibisiɛg ki ba to ti nsan, u nan ye uyom le. Le kinaaŋ be u bu le ki ŋa u uninligir. Waah nan ye uninligir nbu, u nan ga ilig takpem ki tenn u dam.", "Konkomba (Likoonli)","Female"], | |
| ["Mambu le n bei ni nan, Uwonbɔr li jiɛn per bininfob a bir nin ban sugir Uwonbɔr nan biɛn; amaa wan sugir Kinaaŋ nan ke, Uwonbɔr kaa li nyi jiɛn per u daan ni.", "Konkomba (Likoonli)","Male (Low)"], | |
| ["Chɛfaramɔni, Ɔfni ɛn Gɛba. Dɛnwanya na twɛlv pan di siti we di Bɛnjamin fambul gɛt wit ɔl dɛn vilej dɛn.", "Krio","Female"], | |
| ["Wetin de kɔmɔt na pɔsin in mɔt nain de satisfay am, ɛn na bay aw i tɔk am i go si di bɛnifit.", "Krio","Male (Low)"], | |
| ["Ka bo ka m na niŋ yʋ'ʋse? M na pʋ'ʋs nɛ m siig ka me lem pʋ'ʋs nɛ m ya'am, ka yum nɛ m siig ka mɛ lɛn yum nɛ m ya'am.", "Kusaal", "Female"], | |
| ["Ban daa nyɛ nwadibil la, ka ba sʋnya ma'ae. Ka ba maal sumalisim bɛdegʋ.", "Kusaal", "Male (Low)"], | |
| ["Kata bed ni wechene lombo chuny kik iyie kode nimar gik maricho abiriyo opongʼo chunye.", "Luo","Male (High)"], | |
| ["To kata mana kinyne ma en chiengʼ mar ariyo mar dwe kom Daudi ne pod ninono. Eka Saulo nowachone Jonathan wuode niya “Angʼo momiyo wuod Jesse ok obiro e chiemo chakre nyoro nyaka kawuono”", "Luo","Female"], | |
| ["Di saha ka niriba anaasi daa zi gbariga m-paai na.", "Mampruli","Female"], | |
| ["Ka Yisa daa nya ka u ma n zɛya, ŋↄn ni u nyaandↄlisↄ ŋↄn daa wuri pam la gba. Ka u yɛli u ma maa, ni, <<Nyama, m ma, i bii nŋↄa.>>", "Mampruli","Male (Low)"], | |
| ["Mua Ngewɔ-ni mia mu yengema faale mua wu manɛnɛma wu ngauwandei na yayenge Ngewɔ i pienga a wue, hu aa nyani gbama.", "Mende","Female"], | |
| ["Yuodia wua Sintiki, nyaa wu manɛnɛma, a lapi wu woo i yɛ yila kia ndeenyahalengei nasia tia Ndemɔi-ni ti wilingɔ hu.", "Mende","Male (Low)"], | |
| ["Îndî kinya rîrîa irarîîre ng’ombe iu noru, itîroonekaga teeka kûrî gîntû irîte. Cionekaga irî inceng’u o ta mbere. Rîu nîrîo ndîrookîrîîre.", "Meru/Kimeru","Male (Low)"], | |
| ["Nacio nchiarwa ciaaku ikaingîa o ta mûthetu. Nacio igaataamba nthîgûrû yonthe bwa rûgûrû na bwa gaiti na bwa ûrîo na bwa ûmotho. Nayo mîîrîga ya antû ba nthî yonthe îkaatharimagwa nîûntû bwaaku na nchiarwa ciaaku.", "Meru/Kimeru","Female"], | |
| ["Awie mɔɔ ka aneɛ ngakyile la ɛndendɛ ɛngile menli; ɔtendɛ ɔkile Nyamenle, ɔluakɛ awie biala ɛnde mɔɔ ɔka la abo. Mɔɔ ɔyɛ la a le kɛ ɔdua Nyamenle Sunsum ne tumi zo ɔka fealeranu ninyɛne ne mɔ anwo edwɛkɛ.", "Nzema","Male (Low)"], | |
| ["Bɛvale ɛzoanvolɛma ne bɛrale ayiama ne anyunlu bieko, bɛbilale bɛ empele, na bɛduale bɛ kɛ bɛmmabɔ Gyisɛse duma bieko ɛlɛ ɛleka biala; na bɛgyakyile bɛ.", "Nzema","Female"], | |
| ["Dat nite di warda kon wosh all dia sore den en and en family kon baptize.", "Pidgin","Male (High)"], | |
| ["And wen dem divide evritin wey get life for di sea into three one part die finish. Den wen dem divide all di ship for di world into three one part burn finish too.", "Pidgin","Female"], | |
| ["Naizvozvo vanhu vakabuda vakanouya namapazi vakazvivakira matumba pamusoro pamatenga avo, nomuminhanga yavo, nomumavazhe eimba yaMwari uye napachivara paSuo reMvura uye napaSuo raEfuremu.", "Shona","Male (High)"], | |
| ["Sauro akaudzwa nezvazvo, akatumazve vamwe varume, naivowo vakaprofita.", "Shona","Female"], | |
| ["Atayaondoa mafuta yote, kama vile mafuta yaondolewavyo kwenye sadaka ya amani, naye kuhani atayateketeza juu ya madhabahu kama harufu nzuri ya kumpendeza Bwana. Kwa njia hii kuhani atafanya upatanisho kwa ajili yake, naye atasamehewa.", "Swahili","Male (High)"], | |
| ["Yale waliyosema yakawapendeza watu wote, nao wakamchagua Stefano (mtu aliyejawa na imani na Roho Mtakatifu) pamoja na Filipo, Prokoro, Nikanori, Timoni, Parmena na Nikolao, mwongofu kutoka Antiokia.", "Swahili","Female"], | |
| ["Ɔwa kanɛ mə gbəli yɔ nu tələs bepi nə tȧŋ ȧtȧ yi təlompi-e?", "Temne","Female"], | |
| ["Wuni o wuni ɔ tha nənk hɛ Kuru hali. Bepi sə bɔthərȧnɛ, Kuru ɔ tiyȧ ro su, yi mabɔthər mɔŋ mə gbenthis ro su.", "Temne","Male (High)"], | |
| ["Che banani ang jora dabieng, aning banani ang ba sagira, aning banani ang i bunghaarihi, aning ningkuuriba, aning senseniba, aning biribu niba, aning bagi-maaniba, aning 'giri-ngmaariba jaa daang na tariye ba 'jie a 'bulee ang 'dire buung aning 'jiribi ni 'puong. A 'yiilung 'tuning la bila.", "Wali", "Female"], | |
| ["Che ka 'Sameeriya nie kanga daang 'chene sori a wa ta 'jie ni a dau ang 'be ni. Sanga ni ung wa nyiu, ka nimboo kpeu u yela.", "Wali", "Male (Low)"], | |
| ["Teewul maa ngi leen di wax ne, Iliyas ñëw na te xàmmiwuñu ko, waaye def nañu ko la leen neex. Noonu it dañoo nar a sonal léegi Doomu nit ki.»", "Wolof","Male (Low)"], | |
| ["Bind naa leen, du ndax xamuleen dëgg, waaye ndax xam ngeen ko, xam it ne wenn fen du jóge ci dëgg.", "Wolof","Female"], | |
| ["Bí wọ́n ti bẹ̀rẹ̀ sí kọrin àti ìyìn, Olúwa rán ogun ẹ̀yìn sí àwọn ọkùnrin Ammoni àti Moabu àti òkè Seiri tí ó ń gbógun ti Juda, wọ́n sì kọlù wọ́n.", "Yoruba","Male (Low)"], | |
| ["Ṣùgbọ́n lẹ́yìn ìgbà tí wọ́n jẹ́ wọ́n tan, kò sì ẹni tí ó le mọ̀ pé wọ́n jẹ ohunkóhun, nítorí wọn kò sanra sí i, wọn sì bùrẹ́wà síbẹ̀. Nígbà náà ni mo tají.", "Yoruba","Female"], | |
| ] | |
| with gr.Blocks(title=title) as demo: | |
| gr.Markdown(f"# {title}") | |
| gr.Markdown(description) | |
| with gr.Row(): | |
| with gr.Column(): | |
| text_in = gr.Text(label="Input Text") | |
| lang = gr.Dropdown( | |
| label="Select Language", | |
| choices=['Akuapem Twi', 'Asante Twi', 'Buli', 'Dagbani', 'Dagaare', 'Dangme', 'Ewe', 'English (Ghana)', 'English (Nigeria)', 'English (Liberia)', 'Fante', 'French', 'Ga', 'Gonja', 'Gurene', 'Hausa', 'Igbo', 'Kasem', 'Kikuyu', 'Kinyarwanda','Konkomba (Likpakpaanl)', 'Konkomba (Likoonli)', 'Krio', 'Kusaal', 'Luo', 'Mampruli', 'Mende', 'Meru/Kimeru', 'Nzema', 'Pidgin', 'Shona', 'Swahili', 'Temne', 'Wali', 'Wolof', 'Yoruba'], | |
| value="Asante Twi", | |
| ) | |
| speaker = gr.Radio( | |
| label="Speaker", | |
| choices=["Female", "Male (Low)", "Male (High)"], | |
| value="Female", | |
| ) | |
| run_btn = gr.Button("Generate Speech") | |
| with gr.Column(): | |
| output_audio = gr.Audio(label="Generated Speech", type="numpy") | |
| run_btn.click(fn=synthesize, inputs=[text_in, lang, speaker], outputs=[output_audio]) | |
| gr.Examples( | |
| examples=examples, | |
| inputs=[text_in, lang, speaker], | |
| outputs=[output_audio], | |
| label="Example Inputs", | |
| examples_per_page=100 | |
| ) | |
| demo.launch() |