Spaces:
Running
Running
File size: 34,018 Bytes
d67383d 4f091dd b47ad5d 4f091dd b47ad5d 4f091dd b47ad5d 4f091dd 2e69f62 4f091dd 2214778 4f091dd 74f69d5 4f091dd 2214778 cb7b8c8 2214778 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 4f091dd 2e69f62 2214778 cb7b8c8 4f091dd 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 4a0cf51 2e69f62 cb7b8c8 474a80b 4f091dd 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 2e69f62 2214778 cb7b8c8 2214778 2e69f62 cb7b8c8 474a80b 2214778 4f091dd 2214778 4f091dd 74f69d5 4f091dd 74f69d5 4f091dd d67383d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 | <!doctype html>
<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>
|