← Commit history

Open-source release: source + README + hero + skills (v0.2.0)

John Lauer ·75ffd8fdb6 ·4mo ago ·parent 3ec3bfa
5 files changed +107
completions/adom-tts.bashadded+13
@@ -0,0 +1,13 @@+_adom_tts() {+	local cur="${COMP_WORDS[COMP_CWORD]}"+	local prev="${COMP_WORDS[COMP_CWORD-1]}"+	case "$prev" in+		--surface) COMPREPLY=($(compgen -W "hydrogen pup" -- "$cur")); return ;;+	esac+	if [[ "$cur" == --* ]]; then+		COMPREPLY=($(compgen -W "--play --surface --wait --out --voice --rate --history --no-pronunciations --show" -- "$cur"))+		return+	fi+	COMPREPLY=($(compgen -W "health version config say voices pronunciations install serve push play pron" -- "$cur"))+}+complete -F _adom_tts adom-tts
docs/hero.pngadded
⋯ 1 unchanged line ⋯
docs/hero.svgadded+94
@@ -0,0 +1,94 @@+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1280" height="720" viewBox="0 0 1280 720" font-family="Liberation Sans, DejaVu Sans, sans-serif">+  <defs>+    <linearGradient id="bg" x1="0" y1="0" x2="0.6" y2="1">+      <stop offset="0" stop-color="#001a3f"/>+      <stop offset="0.45" stop-color="#00142f"/>+      <stop offset="1" stop-color="#0a0e16"/>+    </linearGradient>+    <radialGradient id="glowL" cx="0.18" cy="-0.05" r="0.6">+      <stop offset="0" stop-color="#0061EF" stop-opacity="0.32"/>+      <stop offset="1" stop-color="#0061EF" stop-opacity="0"/>+    </radialGradient>+    <radialGradient id="glowR" cx="1.0" cy="0" r="0.6">+      <stop offset="0" stop-color="#8C6BF7" stop-opacity="0.28"/>+      <stop offset="1" stop-color="#8C6BF7" stop-opacity="0"/>+    </radialGradient>+    <linearGradient id="accent" x1="0" y1="0" x2="1" y2="0">+      <stop offset="0" stop-color="#0061EF"/>+      <stop offset="0.5" stop-color="#00B8B1"/>+      <stop offset="1" stop-color="#8C6BF7"/>+    </linearGradient>+    <linearGradient id="card" x1="0" y1="0" x2="0" y2="1">+      <stop offset="0" stop-color="#161b22" stop-opacity="0.95"/>+      <stop offset="1" stop-color="#0e131a" stop-opacity="0.95"/>+    </linearGradient>+    <linearGradient id="eqg" x1="0" y1="0" x2="0" y2="1">+      <stop offset="0" stop-color="#00B8B1"/>+      <stop offset="1" stop-color="#0061EF"/>+    </linearGradient>+    <clipPath id="shotclip"><rect x="56" y="540" width="812" height="148" rx="12"/></clipPath>+  </defs>++  <rect width="1280" height="720" fill="url(#bg)"/>+  <rect width="1280" height="720" fill="url(#glowL)"/>+  <rect width="1280" height="720" fill="url(#glowR)"/>+  <rect width="1280" height="6" fill="url(#accent)"/>++  <!-- header -->+  <g transform="translate(56,46)">+    <rect x="0"  y="22" width="6" height="16" rx="3" fill="url(#eqg)"/>+    <rect x="11" y="4"  width="6" height="34" rx="3" fill="url(#eqg)"/>+    <rect x="22" y="14" width="6" height="24" rx="3" fill="url(#eqg)"/>+    <rect x="33" y="0"  width="6" height="38" rx="3" fill="url(#eqg)"/>+    <rect x="44" y="24" width="6" height="14" rx="3" fill="url(#eqg)"/>+    <text x="66" y="36" font-size="42" font-weight="700" letter-spacing="-1" fill="#ffffff">adom<tspan fill="#00B8B1">-tts</tspan></text>+  </g>+  <g transform="translate(1224,46)" text-anchor="end">+    <rect x="-372" y="6" width="372" height="40" rx="20" fill="#ffffff" fill-opacity="0.03" stroke="#2b3a52"/>+    <text x="-22" y="32" font-size="17" fill="#9fb3c8"><tspan fill="#8FD3D4" font-weight="600">service-tts</tspan>  ·  one shared voice for all of Adom</text>+  </g>++  <!-- lede -->+  <text x="58" y="148" font-size="25" fill="#c4d2e3">The Adom voice service — <tspan fill="#ffffff" font-weight="700">it talks so you don't have to.</tspan></text>++  <!-- left card: DRIVING -->+  <rect x="56" y="178" width="571" height="338" rx="20" fill="url(#card)" stroke="#243049"/>+  <rect x="56" y="178" width="571" height="338" rx="20" fill="none" stroke="#00B8B1" stroke-opacity="0.18"/>+  <g>+    <!-- speaker + sound waves icon -->+    <polygon points="92,238 104,238 116,228 116,260 104,250 92,250" fill="#00B8B1"/>+    <path d="M124,231 A16,16 0 0 1 124,257" fill="none" stroke="#00B8B1" stroke-width="3" stroke-linecap="round"/>+    <path d="M132,224 A25,25 0 0 1 132,264" fill="none" stroke="#00B8B1" stroke-width="3" stroke-opacity="0.7" stroke-linecap="round"/>+  </g>+  <text x="92" y="305" font-size="15" letter-spacing="2.5" font-weight="700" fill="#00B8B1">WHEN YOU'RE DRIVING</text>+  <text x="92" y="342" font-size="29" font-weight="700" fill="#ffffff">It reads your AI</text>+  <text x="92" y="376" font-size="29" font-weight="700" fill="#ffffff">answers back to you.</text>+  <text x="92" y="416" font-size="18.5" fill="#aebed2">Hands on the wheel — just ask, and</text>+  <text x="92" y="443" font-size="18.5" fill="#aebed2"><tspan fill="#e6edf3" font-weight="600">adom-tts speaks the reply aloud.</tspan></text>+  <text x="92" y="470" font-size="18.5" fill="#aebed2">No screen, no typing.</text>+  <rect x="92" y="492" width="3" height="22" fill="#00B8B1"/>+  <text x="106" y="509" font-size="17" fill="#8FD3D4">"Read me your last answer, I'm driving."</text>++  <!-- right card: DEMO -->+  <rect x="653" y="178" width="571" height="338" rx="20" fill="url(#card)" stroke="#243049"/>+  <rect x="653" y="178" width="571" height="338" rx="20" fill="none" stroke="#8C6BF7" stroke-opacity="0.20"/>+  <g>+    <!-- film/play icon -->+    <rect x="689" y="222" width="54" height="40" rx="8" fill="none" stroke="#8C6BF7" stroke-width="3"/>+    <polygon points="708,232 708,252 726,242" fill="#8C6BF7"/>+  </g>+  <text x="689" y="305" font-size="15" letter-spacing="2.5" font-weight="700" fill="#b7a4ff">WHEN YOU'RE MAKING A DEMO</text>+  <text x="689" y="342" font-size="29" font-weight="700" fill="#ffffff">It voices the video —</text>+  <text x="689" y="376" font-size="29" font-weight="700" fill="#ffffff">with exact timing.</text>+  <text x="689" y="416" font-size="18.5" fill="#aebed2">Feed it your script; get a</text>+  <text x="689" y="443" font-size="18.5" fill="#aebed2"><tspan fill="#e6edf3" font-weight="600">perfectly-timed narration track.</tspan></text>+  <text x="689" y="470" font-size="18.5" fill="#aebed2">No recording booth, no retakes.</text>+  <rect x="689" y="492" width="3" height="22" fill="#8C6BF7"/>+  <text x="703" y="509" font-size="17" fill="#c5b3ff">Script in &#8594; finished voiceover out.</text>++  <!-- proof band: real Playground screenshot -->+  <rect x="55" y="539" width="814" height="150" rx="12" fill="none" stroke="#2b3a52"/>+  <text x="895" y="582" font-size="18" fill="#7e8ea3"><tspan fill="#00B8B1">&#9679;</tspan> the live <tspan fill="#8FD3D4" font-weight="600">TTS Playground</tspan></text>+  <text x="895" y="610" font-size="18" fill="#7e8ea3">Andrew Neural voice · Adom</text>+  <text x="895" y="634" font-size="18" fill="#7e8ea3">pronunciations · instant cache</text>+</svg>
docs/screenshots/playground-thumb.pngadded
⋯ 1 unchanged line ⋯
docs/screenshots/playground.pngadded
⋯ 1 unchanged line ⋯