Spaces:
Running
Running
Download index.html from ghanaopenai/poto-tts: direct link, hf CLI and curl.
- Browser
- Download file 34 kB
-
https://huggingface.co/spaces/ghanaopenai/poto-tts/resolve/main/index.html
- Command line
-
hf download hf://spaces/ghanaopenai/poto-tts/index.html
-
curl -L -o index.html https://huggingface.co/spaces/ghanaopenai/poto-tts/resolve/main/index.html
34 kB
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>poto-tts — Ghanaian English on Kokoro</title> | |
| <style> | |
| :root { | |
| --bg: #fbfaf8; --fg: #1a1a1a; --muted: #5c5c5c; --line: #e3e0da; | |
| --card: #ffffff; --accent: #1a6b4f; | |
| } | |
| @media (prefers-color-scheme: dark) { | |
| :root:not([data-theme="light"]) { | |
| --bg: #16181a; --fg: #eceae6; --muted: #9c9a95; --line: #2b2e31; | |
| --card: #1d2022; --accent: #6cc4a1; | |
| } | |
| } | |
| :root[data-theme="dark"] { | |
| --bg: #16181a; --fg: #eceae6; --muted: #9c9a95; --line: #2b2e31; | |
| --card: #1d2022; --accent: #6cc4a1; | |
| } | |
| * { box-sizing: border-box; } | |
| body { | |
| margin: 0; background: var(--bg); color: var(--fg); line-height: 1.55; | |
| font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; | |
| -webkit-text-size-adjust: 100%; | |
| } | |
| .wrap { max-width: 900px; margin: 0 auto; padding: 40px 20px 80px; } | |
| h1 { font-size: 1.7rem; margin: 0 0 .3em; letter-spacing: -.01em; } | |
| .lede { color: var(--muted); max-width: 62ch; margin: 0 0 1.6em; } | |
| .item { border: 1px solid var(--line); background: var(--card); | |
| border-radius: 10px; padding: 18px 20px; margin: 0 0 16px; } | |
| .txt { font-size: 1.03rem; margin: 0 0 14px; } | |
| .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } | |
| @media (max-width: 620px) { .grid { grid-template-columns: 1fr; } } | |
| .side h3 { | |
| font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; | |
| margin: 0 0 .5em; color: var(--muted); font-weight: 600; | |
| } | |
| .side.poto h3 { color: var(--accent); } | |
| audio { width: 100%; height: 34px; } | |
| .ipa { | |
| font-size: .84rem; color: var(--muted); margin: .6em 0 0; word-break: break-word; | |
| font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; | |
| } | |
| .side.poto .ipa { color: var(--fg); } | |
| .tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px; } | |
| .tabs button { | |
| font: inherit; font-size: .88rem; padding: .42em .9em; cursor: pointer; | |
| background: var(--card); color: var(--muted); | |
| border: 1px solid var(--line); border-radius: 999px; | |
| } | |
| .tabs button[aria-selected="true"] { | |
| background: var(--accent); border-color: var(--accent); color: var(--bg); | |
| font-weight: 600; | |
| } | |
| mark { | |
| background: none; color: var(--accent); font-weight: 600; | |
| border-bottom: 2px solid var(--accent); padding-bottom: 1px; | |
| } | |
| .legend { font-size: .84rem; color: var(--muted); margin: 0 0 26px; } | |
| footer { margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--line); | |
| color: var(--muted); font-size: .88rem; } | |
| a { color: var(--accent); } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="wrap"> | |
| <h1>poto-tts</h1> | |
| <p class="lede">English text-to-speech that pronounces Ghanaian words properly. | |
| Same model, same voice, same text — the only difference is the front-end.</p> | |
| <p class="links"> | |
| <a href="https://github.com/GhanaNLP/poto-tts">GitHub</a> · | |
| <a href="https://pypi.org/project/poto-tts/"><code>pip install poto-tts</code></a> · | |
| <a href="https://huggingface.co/ghananlpcommunity/poto-tts-kokoro-gh">the voice</a> · | |
| <a href="https://github.com/GhanaNLP/poto-tts/blob/main/docs/MOBILE.md">Android & iOS</a> | |
| </p> | |
| <div class="tabs" role="tablist" id="tabs"></div> | |
| <p class="legend"><mark>Underlined</mark> words are in the Ghanaian lexicon, so | |
| poto-tts pronounces them from it. Everything else is left to espeak's English and is | |
| said exactly as British English would say it. Each voice reads different sentences, | |
| drawn from a Ghanaian English news corpus. The Kokoro column is standard Kokoro -- | |
| its own package, weights and misaki grapheme-to-phoneme -- not this pipeline with the | |
| dictionary removed.</p> | |
| <section data-voice="Grace" hidden> | |
| <div class="item"> | |
| <p class="txt"><mark>Akple</mark> and Ademe are traditional <mark>Ghanaian</mark> dishes, particularly popular among the <mark>Ewe</mark> people of the <mark>Volta</mark> Region.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Grace-0.kokoro.wav"></audio> | |
| <p class="ipa">ˈakpᵊl and ədˈiːm ɑː tɹədˈɪʃənᵊl ɡɑːnˈAən dˈɪʃɪz, pətˈɪkjʊləli pˈɒpjʊlə əmˈʌŋ ðə jˈuː pˈiːpᵊl ɒv ðə vˈɒltə ɹˈiːʤᵊn.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Grace-0.poto.wav"></audio> | |
| <p class="ipa">ˈakplɛ and ɐdˈiːm ɑː tɹɐdˈɪʃənəl ɡanˈean dˈɪʃɪz pətˈɪkjʊləli pˈɒpjʊləɹ ɐmˌʌŋ ðɪʲ ˈɛvɛ pˈiːpəl ɒvðə vˈɔlta ɹˈiːdʒən</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Ayisha</mark> Modi has issued a stern warning to popular <mark>Ghanaian</mark> fetish priestess, <mark>Nana</mark> <mark>Agradaa</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Grace-1.kokoro.wav"></audio> | |
| <p class="ipa">Iˈiːʃə mˈQdi haz ˈɪʃjuːd ɐ stˈɜːn wˈɔːnɪŋ tə pˈɒpjʊlə ɡɑːnˈAən fˈɛtɪʃ pɹiːstˈɛs, nˈɑːnə ˈaɡɹədˌɑː.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Grace-1.poto.wav"></audio> | |
| <p class="ipa">ajˈiʃa mˈəʊdi hɐz ˈɪʃuːd ɐ stˈɜːn wˈɔːnɪŋ tə pˈɒpjʊlə ɡanˈean fˈɛtɪʃ pɹˈiːstɛs nˈana aɡɹˈada</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">Following his installation, he has assumed the stool name <mark>Nii</mark> <mark>Otanka</mark> <mark>Okaija</mark> <mark>Akraman</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Grace-2.kokoro.wav"></audio> | |
| <p class="ipa">fˈɒlQɪŋ hɪz ɪnstəlˈAʃᵊn, hiː haz əsjˈuːmd ðə stˈuːl nˈAm nˈɪI ɒtˈaŋkə ɒkˈAʤə ˈakɹamən.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Grace-2.poto.wav"></audio> | |
| <p class="ipa">fˈɒləʊɪŋ hɪz ˌɪnstəlˈeɪʃən hiː hɐz ɐsjˈuːmd ðə stˈuːl nˈeɪm nˈiːʲ otˈaŋka ˌokaˈidʒa akɹˈaman</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">Team <mark>Ghana</mark> were disqualified on infringement in the final changeover from Joseph <mark>Oduro</mark> <mark>Manu</mark> and Joseph <mark>Amoah</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Grace-3.kokoro.wav"></audio> | |
| <p class="ipa">tˈiːm ɡˈɑːnə wɜː dɪskwˈɒlɪfId ˌɒn ɪnfɹˈɪnʤmᵊnt ɪn ðə fˈInᵊl ʧˈAnʤˌQvə fɹɒm ʤˈQzɪf QdjˈʊəɹQ mˈɑːnuː and ʤˈQzɪf ˈamQ.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Grace-3.poto.wav"></audio> | |
| <p class="ipa">tˈiːm ɡˈana wɜː dɪskwˈɒlɪfˌaɪd ˌɒn ɪnfɹˈɪndʒmənt ɪnðə fˈaɪnəl tʃˈeɪndʒəʊvə fɹɒm dʒˈəʊsəf odˈuɹo mˈanu and dʒˈəʊsəf amˈoa</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section data-voice="Comfort" hidden> | |
| <div class="item"> | |
| <p class="txt">They are skipper Christian <mark>Amoah</mark>, Winifred <mark>Ntumi</mark> and Sandra <mark>Mensimah</mark> <mark>Owusu</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Comfort-0.kokoro.wav"></audio> | |
| <p class="ipa">ðˌA ɑː skˈɪpə kɹˈɪsʧᵊn ˈamQ, wˈɪnɪfɹɪd ˈɛntjˈuːmi and sˈandɹə mˈɛnsɪmə Qˈuːsuː.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Comfort-0.poto.wav"></audio> | |
| <p class="ipa">ðeɪ ɑː skˈɪpə kɹˈɪstʃən amˈoa wˈɪnɪfɹɪd ntˈumi and sˈandɹə mɛnsˈima owˈusu</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">He is the son of the late Emma <mark>Naa</mark> <mark>Ameley</mark> <mark>Tagoe</mark> and hails from the <mark>Adanse</mark> Royal lineage.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Comfort-1.kokoro.wav"></audio> | |
| <p class="ipa">hˌiː ɪz ðə sˈʌn ɒv ðə lˈAt ˈɛmə nˈɑː əmˈiːli tˈaɡQ and hˈAlz fɹɒm ði ədˈans ɹˈYəl lˈɪniɪʤ.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Comfort-1.poto.wav"></audio> | |
| <p class="ipa">hiːʲ ɪz ðə sˈʌn ɒvðə lˈeɪt ˈɛmə nˈa ˌamelˈei taɡˈɔe and hˈeɪlz fɹʌmðɪʲ adˈansi ɹˈɔɪəl lˈɪnɪʲɪdʒ</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Didi</mark> began his youth career with <mark>Bolga</mark> Soccer Masters at <mark>Bolgatanga</mark> in the Upper East Region of <mark>Ghana</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Comfort-2.kokoro.wav"></audio> | |
| <p class="ipa">dˈiːdi bɪɡˈan hɪz jˈuːθ kəɹˈɪə wɪð bˈɒlɡə sˈɒkə mˈɑːstəz at bˌɒlɡətˈaŋɡə ɪn ði ˈʌpə ˈiːst ɹˈiːʤᵊn ɒv ɡˈɑːnə.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Comfort-2.poto.wav"></audio> | |
| <p class="ipa">dˈɪdɪ bɪɡˈan hɪz jˈuːθ kəɹˈiə wɪð bˈolɡa sˈɒkə mˈastəz at bˌolɡatˈaŋɡa ɪnðɪʲ ˌʌpəɹ ˈiːst ɹˈiːdʒən ɒv ɡˈana</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">The arrests occurred in <mark>Blorkorfe</mark> and <mark>Awakpedome</mark>, both suburbs of <mark>Adidome</mark> in the Central <mark>Tongu</mark> District.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Comfort-3.kokoro.wav"></audio> | |
| <p class="ipa">ði əɹˈɛsts əkˈɜːd ɪn blˈɔːkɔːf and əwˈakpɪdˌQm, bˈQθ sˈʌbəːbz ɒv ˈadɪdˌQm ɪn ðə sˈɛntɹᵊl tˈʌŋɡuː dˈɪstɹɪkt.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Comfort-3.poto.wav"></audio> | |
| <p class="ipa">ðɪʲ ɐɹˈɛsts əkˈɜːd ɪn blɔːkˈɔfe and ˌawakpedˈome bˈəʊθ sˈʌbɜːbz ɒv ˌadidˈome ɪnðə sˈɛntɹəl tˈɔŋɡu dˈɪstɹɪkt</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section data-voice="Mercy" hidden> | |
| <div class="item"> | |
| <p class="txt">This ruling was widely interpreted as a validation of <mark>Nii</mark> <mark>Adama</mark> Latse's claim to the <mark>Ga</mark> <mark>Mantse</mark> title.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Mercy-0.kokoro.wav"></audio> | |
| <p class="ipa">ðˌɪs ɹˈuːlɪŋ wɒz wˈIdli ɪntˈɜːpɹɪtɪd az ɐ vˌalɪdˈAʃᵊn ɒv nˈɪI adˈɑːmə lˈatsiɪz klˈAm tə ðə ɡˈɑː mˈantsi tˈItᵊl.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Mercy-0.poto.wav"></audio> | |
| <p class="ipa">ðɪs ɹˈuːlɪŋ wɒz wˈaɪdliʲ ɪntˈɜːpɹɪtɪd az ɐ vˌalɪdˈeɪʃən ɒv nˈiːʲ adˈama lˈatseɪz klˈeɪm tə ðə ɡˈa mˈantsɛ tˈaɪtəl</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">Adams <mark>Atidana</mark> Oliver won gold while <mark>Ofori</mark> <mark>Appiah</mark> Joel and Samuel <mark>Owusu</mark> won silver and bronze respectively.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Mercy-1.kokoro.wav"></audio> | |
| <p class="ipa">ˈadəmz ˌatɪdˈɑːnə ˈɒlɪvə wˈʌn ɡˈQld wˌIl ɒfˈɔːɹi əpˈIə ʤˈQəl and sˈamjʊəl Qˈuːsuː wˈʌn sˈɪlvə and bɹˈɒnz ɹɪspˈɛktɪvli.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Mercy-1.poto.wav"></audio> | |
| <p class="ipa">ˈadəmz ˌatidˈana ˈɒlɪvə wˈʌn ɡˈəʊld wˌaɪl ofˈoɹiʲ apˈiʲa dʒˈəʊl and sˈamjuːl owˈusu wˈʌn sˈɪlvə and bɹˈɒnz ɹɪspˈɛktɪvli</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Juabenhene</mark> <mark>Nana</mark> <mark>Otuo</mark> <mark>Sereboe</mark> II was among the chiefs who pleaded on their behalf.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Mercy-2.kokoro.wav"></audio> | |
| <p class="ipa">ʤjˈuːAbənhˌiːn nˈɑːnə ˈɒtjuːˌQ səɹˈiːbQ ˌIˈI wɒz əmˈʌŋ ðə ʧˈiːfs hˌuː plˈiːdɪd ˌɒn ðɛː bɪhˈɑːf.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Mercy-2.poto.wav"></audio> | |
| <p class="ipa">dʒˌuabɛnhˈɛnɛ nˈana otˈuo sˌeɹebˈuo ɹˌəʊmən tˈuː wɒz ɐmˌʌŋ ðə tʃˈiːfs hˌuː plˈiːdɪd ˌɒn ðeə bɪhˈɑːf</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Chirano</mark> is a mining community in the <mark>Bibiani</mark> <mark>Ahweso</mark> <mark>Bekai</mark> Municipality in the Western North.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Mercy-3.kokoro.wav"></audio> | |
| <p class="ipa">kIɹˈɑːnQ ɪz ɐ mˈInɪŋ kəmjˈuːnɪti ɪn ðə bIbɪˈɑːni ɑːwˈiːsQ bɪkˈI mjʊnˌɪsɪpˈalɪti ɪn ðə wˈɛstᵊn nˈɔːθ.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Mercy-3.poto.wav"></audio> | |
| <p class="ipa">tʃiɹˈano ɪz ɐ mˈaɪnɪŋ kəmjˈuːnɪtiʲ ɪnðə bibiʲˈaniʲ ahwˈesɔ bˈɛkaɪ mjuːnˈɪsɪpˈalɪtiʲ ɪnðə wˈɛstən nˈɔːθ</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section data-voice="Patience" hidden> | |
| <div class="item"> | |
| <p class="txt">The consignment originated from <mark>Kwahu</mark> <mark>Fodoa</mark> and was en route to <mark>Togo</mark> through <mark>Aflao</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Patience-0.kokoro.wav"></audio> | |
| <p class="ipa">ðə kənsˈInmᵊnt əɹˈɪʤɪnAtɪd fɹɒm kwˈɑːhuː fədˈQə and wɒz ˈɛn ɹˈuːt tə tˈQɡQ θɹuː əflˈW.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Patience-0.poto.wav"></audio> | |
| <p class="ipa">ðə kənsˈaɪnmənt əɹˈɪdʒɪnˌeɪtɪd fɹɒm kwˈahu fodˈoa and wɒz ɒn ɹˈuːt tə tˈoːɡoː θɹuː aflˈaɔ</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">Following the fight, <mark>Ghanaians</mark> have been recalling the similar annihilation <mark>Bastie</mark> Samir handed to <mark>Bukom</mark> <mark>Banku</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Patience-1.kokoro.wav"></audio> | |
| <p class="ipa">fˈɒlQɪŋ ðə fˈIt, ɡɑːnˈAənz hav biːn ɹɪkˈɔːlɪŋ ðə sˈɪmɪlə ənˌIəlˈAʃᵊn bˈasti sˈamɪə hˈandɪd tə bjˈuːkəm bˈaŋkuː.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Patience-1.poto.wav"></audio> | |
| <p class="ipa">fˈɒləʊɪŋ ðə fˈaɪt ɡanˈeanz hɐvbɪn ɹɪkˈɔːlɪŋ ðə sˈɪmɪləɹ ɐnˌaɪəlˈeɪʃən bˈasti sˈamiə hˈandɪd tə bˈukɔm bˈaŋku</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">The NPP's Solomon <mark>Kwame</mark> <mark>Asumadu</mark> is contesting the <mark>Akwatia</mark> seat against the NDC's Bernard <mark>Bediako</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Patience-2.kokoro.wav"></audio> | |
| <p class="ipa">ði ˌɛnpˌiːpˈiːz sˈɒləmən kwˈAm əsuːmˈɑːduː ɪz kəntˈɛstɪŋ ði akwˈAʃə sˈiːt əɡˈɛnst ði ˌɛndˌiːsˈiːz bˈɜːnəd bɪdɪˈɑːkQ.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Patience-2.poto.wav"></audio> | |
| <p class="ipa">ðɪʲ ˌɛnpˌiːpˈiːz sˈɒlɒmən kwˈame ˌasumˈadu ɪz kəntˈɛstɪŋ ðɪʲ ˌakwatˈiʲa sˈiːt ɐɡˈɛnst ðɪʲ ˌɛndˌiːsˈiːz bˈɜːnəd bˌɪdiʲˈakɔ</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Esa</mark> Payin gave birth to <mark>Bediako</mark> <mark>Ntim</mark>, who became the successor of <mark>Opon</mark> Payin.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Patience-3.kokoro.wav"></audio> | |
| <p class="ipa">ˈɛsə pˈAɪn ɡˈAv bˈɜːθ tə bɪdɪˈɑːkQ ˈɛntˈɪm, hˌuː bɪkˈAm ðə səksˈɛsə ɒv ˈɒpɒn pˈAɪn.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Patience-3.poto.wav"></audio> | |
| <p class="ipa">ˈɛsa pˈeɪɪn ɡˈeɪv bˈɜːθ tə bˌɪdiʲˈakɔ ntˈim hˌuː bɪkˌeɪm ðə səksˈɛsəɹ ɒv ˈopon pˈeɪɪn</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section data-voice="Emmanuel" hidden> | |
| <div class="item"> | |
| <p class="txt"><mark>Volivo</mark> to <mark>Dorfor</mark> <mark>Adidome</mark> Bridge across the <mark>Volta</mark> River has been revived.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-0.kokoro.wav"></audio> | |
| <p class="ipa">vəlˈɪvQ tə dˈɔːfə ˈadɪdˌQm bɹˈɪʤ əkɹˈɒs ðə vˈɒltə ɹˈɪvə haz biːn ɹɪvˈIvd.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-0.poto.wav"></audio> | |
| <p class="ipa">volˈivo tə dˈɔrfɔɹ ˌadidˈome bɹˈɪdʒ əkɹˌɒs ðə vˈɔlta ɹˈɪvə hˈazbiːn ɹɪvˈaɪvd</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Shatta</mark> Bandle was born <mark>Idris</mark> <mark>Firdaus</mark>, a Northerner from a small village called <mark>Karaga</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-1.kokoro.wav"></audio> | |
| <p class="ipa">ʃˈatə bˈandᵊl wɒz bˈɔːn ˈIdɹɪs fˈɜːdWs, ɐ nˈɔːðənə fɹɒm ɐ smˈɔːl vˈɪlɪʤ kˈɔːld kaɹˈɑːɡə.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-1.poto.wav"></audio> | |
| <p class="ipa">ʃˈata bˈandəl wɒz bˈɔːn ˈidɹis fɪrdˈaus ɐ nˈɔːðənə fɹɒm ɐ smˈɔːl vˈɪlɪdʒ kˈɔːld kaɹˈaɡa</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">The Saviour Church of <mark>Ghana</mark> has named a school at <mark>Bonwire</mark> after her, <mark>Nana</mark> <mark>Konadu</mark> Saviour School.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-2.kokoro.wav"></audio> | |
| <p class="ipa">ðə sˈAvjə ʧˈɜːʧ ɒv ɡˈɑːnə haz nˈAmd ɐ skˈuːl at bˈɒnwIə ˈɑːftə hˌɜː, nˈɑːnə kənˈɑːduː sˈAvjə skˈuːl.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-2.poto.wav"></audio> | |
| <p class="ipa">ðə sˈeɪvjə tʃˈɜːtʃ ɒv ɡˈana hɐz nˈeɪmd ɐ skˈuːl at bonwˈiɹe ˈaftə hɜː nˈana kɔnˈadu sˈeɪvjə skˈuːl</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Bofoakwa</mark> <mark>Tano</mark> have severed ties with coach <mark>Frimpong</mark> <mark>Manso</mark> after four months at the helm, the club announced.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-3.kokoro.wav"></audio> | |
| <p class="ipa">bˈɒfQkwə tˈɑːnQ hav sˈɛvəd tˈIz wɪð kˈQʧ fɹˈɪmpɒŋ mˈansQ ˈɑːftə fˈɔː mˈʌnθs at ðə hˈɛlm, ðə klˈʌb ənˈWnst.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Emmanuel-3.poto.wav"></audio> | |
| <p class="ipa">bˌɔfɔˈakwa tˈano hav sˈɛvəd tˈaɪz wɪð kˈəʊtʃ fɹˈɪmpɔŋ mˈanso ˈaftə fˈɔː mˈʌnθs at ðə hˈɛlm ðə klˈʌb ɐnˈaʊnst</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section data-voice="Isaac" hidden> | |
| <div class="item"> | |
| <p class="txt">Member of Parliament for <mark>Bawku</mark> Central, <mark>Mahama</mark> <mark>Ayariga</mark> has reported that three more people were killed in <mark>Bawku</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Isaac-0.kokoro.wav"></audio> | |
| <p class="ipa">mˈɛmbə ɒv pˈɑːlɪmᵊnt fɔː bˈɔːkuː sˈɛntɹᵊl, mahˈɑːmə ˈIɑːɹˌɪɡə haz ɹɪpˈɔːtɪd ðat θɹˈiː mˈɔː pˈiːpᵊl wɜː kˈɪld ɪn bˈɔːkuː.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Isaac-0.poto.wav"></audio> | |
| <p class="ipa">mˈɛmbəɹ ɒv pˈɑːləmənt fɔː bˈɔku sˈɛntɹəl mahˈama ˌajaɹˈiɡa hɐz ɹɪpˈɔːtɪd ðat θɹˈiː mˈɔː pˈiːpəl wɜː kˈɪld ɪn bˈɔku</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Ghanaian</mark> musician <mark>Stonebwoy</mark> has taken legal action against politician and entertainment critic, <mark>Baba</mark> <mark>Sadiq</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Isaac-1.kokoro.wav"></audio> | |
| <p class="ipa">ɡɑːnˈAən mjuːzˈɪʃᵊn stˈQnbwY haz tˈAkᵊn lˈiːɡᵊl ˈakʃᵊn əɡˈɛnst pˌɒlɪtˈɪʃᵊn and ˌɛntətˈAnmᵊnt kɹˈɪtɪk, bˈɑːbɑː sˈadɪk.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Isaac-1.poto.wav"></audio> | |
| <p class="ipa">ɡanˈean mjuːzˈɪʃən stˈoːnbwɔɪ hɐz tˈeɪkən lˈiːɡəl ˈakʃən ɐɡˈɛnst pˌɒlɪtˈɪʃən and ˌɛntətˈeɪnmənt kɹˈɪtɪk bˈaba sˈadik</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Ghana</mark> legend and former Asante <mark>Kotoko</mark> star <mark>Opoku</mark> <mark>Afriyie</mark> has passed away.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Isaac-2.kokoro.wav"></audio> | |
| <p class="ipa">ɡˈɑːnə lˈɛʤᵊnd and fˈɔːmə əsˈant kətˈQkQ stˈɑː ˈɒpQkˌuː ˈafɹɪji haz pˈɑːst əwˈA.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Isaac-2.poto.wav"></audio> | |
| <p class="ipa">ɡˈana lˈɛdʒənd and fˈɔːməɹ ɐsˈant kotˈoko stˈɑːɹ opˈoku ˌafɹijˈiʲe hɐz pˈast ɐwˈeɪ</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Ghanaians</mark> on social media are eulogising veteran Highlife musician, <mark>Nana</mark> <mark>Kwame</mark> <mark>Ampadu</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Isaac-3.kokoro.wav"></audio> | |
| <p class="ipa">ɡɑːnˈAənz ˌɒn sˈQʃl mˈiːdɪə ɑː jˈuːləʤˌIzɪŋ vˈɛtəɹən hˈIlIf mjuːzˈɪʃᵊn, nˈɑːnə kwˈAm ampˈɑːduː.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Isaac-3.poto.wav"></audio> | |
| <p class="ipa">ɡanˈeanz ˌɒn sˈəʊʃəl mˈiːdiːʲəɹ ɑː jˈuːlədʒˌaɪzɪŋ vˈɛtəɹən hˈaɪlaɪf mjuːzˈɪʃən nˈana kwˈame ampˈadu</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section data-voice="Ebenezer" hidden> | |
| <div class="item"> | |
| <p class="txt">The Information Minister, <mark>Kojo</mark> <mark>Oppong</mark> <mark>Nkrumah</mark> says government is working to stabilise the <mark>cedi</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-0.kokoro.wav"></audio> | |
| <p class="ipa">ði ˌɪnfəmˈAʃᵊn mˈɪnɪstə, kˈQʤQ ˈɒpɒŋ ˈɛŋkɹˈuːmə sˈɛz ɡˈʌvnmᵊnt ɪz wˈɜːkɪŋ tə stˈAbəlIz ðə sˈiːdi.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-0.poto.wav"></audio> | |
| <p class="ipa">ðɪʲ ˌɪnfəmˈeɪʃən mˈɪnɪstə kˈɔdʒɔ ˈɔpɔŋ ŋkɹˈuma sˈɛz ɡˈʌvənmənt ɪz wˈɜːkɪŋ tə stˈeɪbəlˌaɪz ðə sˈiːdi</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">The <mark>Adom</mark> TV <mark>Fufuo</mark> Party is underway at the forecourt of The Multimedia Group at <mark>Kokomlemle</mark> in <mark>Accra</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-1.kokoro.wav"></audio> | |
| <p class="ipa">ði ədˈɒm tˌiːvˈiː fjˈuːfjuːˌQ pˈɑːti ɪz ˌʌndəwˈA at ðə fˈɔːkɔːt ɒv ðə mˌʌltɪmˈiːdɪə ɡɹˈuːp at kˈɒkəmlˌɛmᵊl ɪn əkɹˈɑː.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-1.poto.wav"></audio> | |
| <p class="ipa">ðɪʲ ˈadɔm tˌiːvˈiː fufˈuo pˈɑːtiʲ ɪz ˌʌndəwˈeɪ at ðə fˈɔːkɔːt ɒvðə mˌʌltɪmˈiːdiːʲə ɡɹˈuːp at kˌɔkɔmlˈɛmlɛ ɪn ˈakɹa</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">A court has ordered <mark>Marwako</mark> Fast Food in <mark>Accra</mark> to pay over a million <mark>Ghana</mark> <mark>cedis</mark> in damages.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-2.kokoro.wav"></audio> | |
| <p class="ipa">ɐ kˈɔːt haz ˈɔːdəd mɑːwˈɑːkQ fˈɑːst fˈuːd ɪn əkɹˈɑː tə pˈA ˈQvə ɐ mˈɪljən ɡˈɑːnə sˈiːdiz ɪn dˈamɪʤɪz.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-2.poto.wav"></audio> | |
| <p class="ipa">ɐ kˈɔːt hɐz ˈɔːdəd mawˈakɔ fˈast fˈuːd ɪn ˈakɹa tə pˈeɪ ˌəʊvəɹ ɐ mˈɪliən ɡˈana sˈiːdiz ɪn dˈamɪdʒɪz</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Sarkodie</mark>, <mark>Shatta</mark> <mark>Wale</mark> and <mark>Stonebwoy</mark> are undoubtedly three of Ghana's biggest musicians.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-3.kokoro.wav"></audio> | |
| <p class="ipa">sˈɑːkQdi, ʃˈatə wˈAl and stˈQnbwY ɑː ʌndˈWtɪdli θɹˈiː ɒv ɡˈɑːnəz bˈɪɡɪst mjuːzˈɪʃᵊnz.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Ebenezer-3.poto.wav"></audio> | |
| <p class="ipa">sˌakodˈiʲe ʃˈata wˈale and stˈoːnbwɔɪ ɑːɹ ʌndˈaʊtɪdli θɹˈiːʲ ɒv ɡˈanaz bˈɪɡɪst mjuːzˈɪʃənz</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section data-voice="Bright" hidden> | |
| <div class="item"> | |
| <p class="txt"><mark>Odododiodio</mark> MP Edwin <mark>Nii</mark> <mark>Lante</mark> <mark>Vanderpuye</mark>, will not return to Parliament after the expiration of his current term.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Bright-0.kokoro.wav"></audio> | |
| <p class="ipa">ˌQdədˌQdɪˈQdɪˌQ ˌɛmpˈiː ˈɛdwɪn nˈɪI lˈant vˌandəpˈuːj, wɪl nˌɒt ɹɪtˈɜːn tə pˈɑːlɪmᵊnt ˈɑːftə ði ˌɛkspɪɹˈAʃᵊn ɒv hɪz kˈʌɹənt tˈɜːm.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Bright-0.poto.wav"></audio> | |
| <p class="ipa">ˌododˌodiʲodˈiʲo ˌɛmpˈiːʲ ˈɛdwɪn nˈiː lˈante vˌandapˈuːje wɪl nˌɒt ɹɪtˈɜːn tə pˈɑːləmənt ˈaftə ðɪʲ ɛkspəɹˈeɪʃən ɒv hɪz kˈʌɹənt tˈɜːm</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Ghanaian</mark> singer <mark>Kofi</mark> <mark>Mante</mark> has acknowledged <mark>Bisa</mark> Kdei's influence on the highlife music genre.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Bright-1.kokoro.wav"></audio> | |
| <p class="ipa">ɡɑːnˈAən sˈɪŋə kˈQfi mˈant haz əknˈɒlɪʤd bˈiːsə kˈAdˈAz ˈɪnflʊəns ˌɒn ðə hˈIlIf mjˈuːzɪk ʒˈɒnɹə.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Bright-1.poto.wav"></audio> | |
| <p class="ipa">ɡanˈean sˈɪŋə kˈofi mˈantɛ hɐz ɐknˈɒlɪdʒd bˈisa kˈeɪdˈeɪz ˈɪnfluːəns ɒnðə hˈaɪlaɪf mjˈuːzɪk ʒˈɒnɹə</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt">Former President, John <mark>Dramani</mark> <mark>Mahama</mark> has condemned the killing of Al Jazeera journalist Shireen <mark>Abu</mark> <mark>Akleh</mark>.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Bright-2.kokoro.wav"></audio> | |
| <p class="ipa">fˈɔːmə pɹˈɛzɪdᵊnt, ʤˈɒn dɹamˈɑːni mahˈɑːmə haz kəndˈɛmd ðə kˈɪlɪŋ ɒv ˈal ʤazˈiəɹə ʤˈɜːnəlɪst ʃˈIəɹiːn ˈabuː ˈaklA.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Bright-2.poto.wav"></audio> | |
| <p class="ipa">fˈɔːmə pɹˈɛzɪdənt dʒˈɒn dɹamˈani mahˈama hɐz kəndˈɛmd ðə kˈɪlɪŋ ɒv ˈal dʒazˈiəɹə dʒˈɜːnəlˌɪst ʃˈaɪəɹiːn ˈabu ˈaklɛ</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="item"> | |
| <p class="txt"><mark>Ghanaian</mark> legal luminary <mark>Tsatsu</mark> <mark>Tsikata</mark> has proposed a solution to Ghana's recurring <mark>Cedi</mark> depreciation.</p> | |
| <div class="grid"> | |
| <div class="side"> | |
| <h3>Kokoro</h3> | |
| <audio controls preload="none" src="audio/Bright-3.kokoro.wav"></audio> | |
| <p class="ipa">ɡɑːnˈAən lˈiːɡᵊl lˈuːmɪnəɹi tsˈatsuː tsɪkˈɑːtə haz pɹəpˈQzd ɐ səlˈuːʃᵊn tə ɡˈɑːnəz ɹɪkˈɜːɹɪŋ sˈiːdi dɪpɹˌiːʃɪˈAʃᵊn.</p> | |
| </div> | |
| <div class="side poto"> | |
| <h3>poto-tts</h3> | |
| <audio controls preload="none" src="audio/Bright-3.poto.wav"></audio> | |
| <p class="ipa">ɡanˈean lˈiːɡəl lˈuːmɪnəɹi tsˈatsu tsikˈata hɐz pɹəpˈəʊzd ɐ səlˈuːʃən tə ɡˈanaz ɹɪkˈɜːɹɪŋ sˈiːdi dɪpɹˌiːʃɪʲˈeɪʃən</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <script> | |
| const VOICES = ["Grace", "Comfort", "Mercy", "Patience", "Emmanuel", "Isaac", "Ebenezer", "Bright"]; | |
| const tabs = document.getElementById("tabs"); | |
| function show(voice) { | |
| for (const b of tabs.children) | |
| b.setAttribute("aria-selected", String(b.dataset.voice === voice)); | |
| for (const s of document.querySelectorAll("section[data-voice]")) { | |
| const on = s.dataset.voice === voice; | |
| s.hidden = !on; | |
| if (!on) for (const a of s.querySelectorAll("audio")) a.pause(); | |
| } | |
| } | |
| for (const v of VOICES) { | |
| const b = document.createElement("button"); | |
| b.type = "button"; b.textContent = v; b.dataset.voice = v; | |
| b.setAttribute("role", "tab"); b.onclick = () => show(v); | |
| tabs.appendChild(b); | |
| } | |
| show(VOICES[0]); | |
| </script> | |
| <footer> | |
| Kokoro v1.0 through sherpa-onnx, eight British speakers. Pronunciation comes from | |
| 44,321 Ghanaian words compiled into espeak's own dictionary — data rather than | |
| code, so Android, iOS and WebAssembly give the same result. The Kokoro column is | |
| standard Kokoro: its own package, weights and misaki grapheme-to-phoneme. | |
| <br><br> | |
| <a href="https://github.com/GhanaNLP/poto-tts">GhanaNLP/poto-tts</a> · | |
| <a href="https://huggingface.co/ghananlpcommunity/poto-tts-kokoro-gh">the voice on the Hub</a> | |
| · | |
| <a href="https://github.com/GhanaNLP/ghana-english-g2p">the lexicon</a> · | |
| <code>pip install poto-tts</code> | |
| </footer> | |
| </div> | |
| </body> | |
| </html> | |