pages/garden/opti-speech/index.html

34 lines
35 KiB
HTML
Raw Normal View History

<article class="h-entry"><!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Opti-Speech | The Paper Pilot</title>
<meta name="description" content="The Paper Pilot's Digital Garden">
<meta name="generator" content="VitePress v1.2.2">
<link rel="preload stylesheet" href="/assets/style.BhozF2zR.css" as="style">
<script type="module" src="/assets/app.BWNzf1uB.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.Mb1uu3dm.js">
<link rel="modulepreload" href="/assets/chunks/theme.7_fD55hJ.js">
<link rel="modulepreload" href="/assets/garden_opti-speech_index.md.8xReaC4D.lean.js">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Pacifico&amp;family=Roboto+Mono:ital,wght@0,400;0,600;1,400&amp;display=swap">
<link rel="manifest" href="/site.webmanifest">
<link rel="alternate" type="text/mf2+html" href="/changelog">
<link rel="alternate" type="application/rss+xml" title="Changelog" href="/changelog/rss">
<link rel="alternate" type="application/atom+xml" title="Changelog" href="/changelog/atom">
<link rel="alternate" type="application/json+xml" title="Changelog" href="/changelog/json">
<meta name="og:description" content="The Paper Pilot's Digital Garden">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--[--><!--]--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>The Paper Pilot</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://moddingtree.com" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Profectus</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://incremental.social" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Incremental Social</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://code.incremental.social/thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Forgejo</title><path d="M16.7773 0c1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.1175a7.0759 7.0759 0 0 1 4.148-1.4205l.1176-.001 1.3385.0002c.4973-.8827 1.4434-1.4788 2.5288-1.4788 1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.319c.8827.4973 1.4788 1.4434 1.4788 2.5287 0 1.602-1.2986 2.9005-2.9005 2.9005-1.6018 0-2.9004-1.2986-2.9004-2.9005 0-1.0853.596-2.0314 1.4788-2.5287l-.0002-9.9831c0-3.887 3.1195-7.0453 6.9915-7.108l.1176-.001h1.3385C14.7458.5962 15.692 0 16.7773 0ZM7.2227 19.9052c-.6596 0-1.1943.5347-1.1943 1.1943s.5347 1.1943 1.1943 1.1943 1.1944-.5347 1.1944-1.1943-.5348-1.1943-1.1944-1.1943Zm9.5546-10.4644c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Zm0-7.7346c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Z"/></svg></a><a class="VPSocialLink no-icon" href="https://matrix.to/#/@thepaperpilot:incremental.social" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg role="img
. Last tended to <a href='https://code.incremental.social/thepaperpilot/pages/commit/91e757f7ccbeb570d900aaa5b49e6e4874d19b2f' title='Wed Jun 5 23:25:48 2024 -0500'><time class='dt-updated' datetime='Wed Jun 5 23:25:48 2024 -0500'>9 days ago</time></a>
.</p><hr/><div class="e-content"><blockquote><p>Tags: <a href="/garden/my-projects/">My Projects</a></p></blockquote><p>In college I continued development on the Opti-Speech project, originally built alongside the scientific paper <a href="https://www.researchgate.net/profile/Thomas-Campbell-11/publication/354182612_Opti-speech_a_real-time_3d_visual_feedback_system_for_speech_training/links/6424679ca1b72772e4360fa2/Opti-speech-a-real-time-3d-visual-feedback-system-for-speech-training.pdf" target="_blank" rel="noreferrer">Opti-speech: a real-time, 3d visual feedback system for speech training</a></p><h2 id="the-original-project" tabindex="-1">The Original Project <a class="header-anchor" href="#the-original-project" aria-label="Permalink to &quot;The Original Project&quot;"></a></h2><p>The Optispeech project involves designing and testing a real-time tongue model that can be viewed in a transparent head while a subject talks — for the purposes of treating speech errors and teaching foreign language sounds. This work has been conducted in partnership with Vulintus and with support from the National Institutes of Health (NIH).</p><p><img src="/garden/system-architecture-600_1717384793933_0.jpg" alt="system-architecture-600.jpg"></p><iframe width="560" height="315" src="https://www.youtube.com/embed/9uHqIRs7ZjM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style="display:block;margin:auto;"></iframe><p>This video shows a talker with WAVE sensors placed on the tongue hitting a virtual target sphere located at the alveolar ridge. When an alveolar consonant is hit (e.g., /s/, /n/, /d/) the sphere changes color from red to green.</p><iframe width="560" height="315" src="https://www.youtube.com/embed/Oz42mKvlzqI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen style="display:block;margin:auto;"></iframe><p>This video shows an American talker learning a novel sound not found in English. When the post-alveolar consonant is hit, the target sphere changes color from red to green. Here, the NDI WAVE system serves as input.</p><h2 id="my-work" tabindex="-1">My Work <a class="header-anchor" href="#my-work" aria-label="Permalink to &quot;My Work&quot;"></a></h2><p>As the sole programmer at UT Dallas Speech Production Lab at the time, my changes involved updating to a more modern version of Unity, improving the interface, in general cleaning up tech debt so it can more easily support new features, and added support for additional EMA systems, namely the Carstens AG501.</p><p><img src="/garden/new-interface_1717384734845_0.png" alt="new-interface.png"></p><p>In addition, the program now includes documentation and unit tests to improve program stability and maintainability going forward.</p><p><img src="/garden/documentation_1717384823218_0.png" alt="documentation.png"></p><p><img src="/garden/unittests_1717384825666_0.png" alt="unittests.png"></p></div></div></main><!----><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"garden_babble-buds_index.md\":\"Bdco8gHV\",\"garden_cinny_index.md\":\"BfOC4rxf\",\"garden_capture-the-citadel_index.md\":\"BT_SFe83\",\"garden_chat-glue_index.md\":\"BwPqJHHy\",\"garden_commune_index.md\":\"DEB1H5lT\",\"garden_decentralized_index.md\":\"DFYCu6fM\",\"garden_digital-gardens_index.md\":\"CakxBNtd\",\"garden_chronological_index.md\":\"Cqr6pZa9\",\"garden_fediverse_index.md\":\"oEmtcK3k\",\"garden_fedi-v2_index.md\":\"Cw_BJg5B\",\"garden_command-palettes_index.md\":\"Cm1utE8d\",\"garden_forgejo_index.md\":\"BPVc0wpG\",\"garden_freeform-vs-chronological-dichotomy_index.md\":\"CxD_wlMt\",\"garden_freeform_index.md\":\"DX61_hRi\",\"garden_game-dev-tree_index.md\":\"Dc3Uus84\",\"garden_guide-to-incrementals_appeal-to-developers_index.md\":\"DDhc_5Nw\",\"garden_guide-to-incrementals_index.md\":\"Cewyg5On\",\"garden_guide-to-incrementals_navigating-criticism_index.md\":\"Canx9B3U\",\"garden_ivy-road_index.md\":\"CJPIalur\",\"garden_incremental-social_index.md\":\"caAYc4L7\",\"garden_life-is-strange_index.md\":\"DuIJxtPy\",\"garden_guide-to-incrementals_defining-the-genre_index.md\":\"DTAELYsE\",\"garden_kronos_index.md\":\"CmrPAHoC\",\"garden_guide-to-incrementals_what-is-content_index.md\":\"BaHYlDrf\",\"garden_matrix_index.md\":\"TosMRx5L\",\"garden_mbin_index.md\":\"uqsGaJDR\",\"garden_premium-currency_index.md\":\"TIsDNjCg\",\"garden_pre-order-bonuses_index.md\":\"DTGQWrnc\",\"garden_this-knowledge-hub_index.md\":\"B7Dn3tU6\",\"garden_artificial-intelligence_index.md\":\"BvC5aWSd\",\"garden_v-ecs_index.md\":\"BlQ203sh\",\"public_gamedevtree_docs_basic-layer-breakdown.md\":\"DBz-aAkR\",\"public_gamedevtree_2.0-format-changes.md\":\"C1i9BICC\",\"public_gamedevtree_docs_buyables.md\":\"DgH1-fm2\",\"public_gamedevtree_docs_achievements.md\":\"BAhD6lBB\",\"public_gamedevtree_docs_getting-started.md\":\"B3fqMhEq\",\"public_gamedevtree_docs_infoboxes.md\":\"BSjqPPEK\",\"public_gamedevtree_docs_layer-features.md\":\"DENuwPtP\",\"public_gamedevtree_docs_subtabs-and-microtabs.md\":\"BmcSeyFR\",\"garden_open-source_index.md\":\"CftIgrV1\",\"public_kronos_docs_trees-and-tree-customization.md\":\"BjrQmf2B\",\"public_kronos_readme.md\":\"DtVgqJ6L\",\"changelog_index.md\":\"B4AEMlHa\",\"garden_advent-incremental_index.md\":\"BLPQgHPD\",\"garden_nostr_index.md\":\"Ciyhu9xG\",\"garden_atproto_index.md\":\"T-4ya3J3\",\"public_gamedevtree_docs_clickables.md\":\"DvDoN2Er\",\"garden_vitepress_index.md\":\"hRYGCv4z\",\"public_gamedevtree_changelog.md\":\"BaEtzPu1\",\"public_gamedevtree_docs_!general-info.md\":\"JNS0f2qW\",\"public_kronos_docs_updating-tmt.md\":\"DTEdYaNH\",\"garden_the-cozy-web_index.md\":\"B5w3WCtf\",\"garden_logseq_index.md\":\"D1i9v4d_\",\"garden_wanderstop_index.md\":\"D6-sYtZa\",\"index.md\":\"DCyM0yje\",\"public_lit_docs_buyables.md\":\"R_dNT8SD\",\"public_kronos_docs_!general-info.md\":\"BJVZ7VhF\",\"garden_the-small-web_index.md\":\"BkKbQpN9\",\"garden_the-indieweb_amplification_index.md\":\"BGVq1cso\",\"garden_opti-speech_index.md\":\"8xReaC4D\",\"garden_activitypub_index.md\":\"DtNb9_zq\",\"public_kronos_docs_achievements.md\":\"CSKQ_Jwd\",\"public_gamedevtree_docs_updating-tmt.md\":\"ir-CQQOo\",\"public_gamedevtree_docs_upgrades.md\":\"D99_tgsS\",\"public_gamedevtree_docs_milestones.md\":\"Dhs_Ycq9\",\"public_kronos_changelog.md\":\"D3Whj0Y0\",\"public_lit_changelog.md\":\"M-KOXILD\",\"public_kronos_docs_bars.md\":\"DlwjXrWF\",\"public_kronos_docs_milestones.md\":\"BSy085vv\",\"public_kronos_docs_infoboxes.md\":\"pfo_hWCQ\",\"public_lit_readme.md\":\"D-TwG4DK\",\"public_kronos_docs_buyables.md\":\"Dzz9-69p\",\"public_lit_docs_challenges.md\":\"D6T5nH4U\",\"public_kronos_docs_upgrades.md\":\"Bd3Yau1D\",\"garden_my-projects_index.md\":\"8GgMwa2f\",\"public_lit_docs_achievements.md\":\"BdnBAsqL\",\"public_lit_docs_bars.md\":\"os8oz_cY\",\"public_kronos_old things_2.0-format-changes.md\":\"fmuhFckJ\",\"public_kronos_docs_main-mod-info.md\":\"CVo8LyYh\",\"public_lit_docs_custom-tab-layouts.md\":\"Vftsl_a3\",\"public_gamedevtree_docs_main-mod-info.md\":\"BYYhC
</body>
</html></div></article>