mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 01:18:34 +00:00
3.4 KiB
3.4 KiB
Trumped TODO
Improve synthesis system
- Speech modes:
- "SHOUT" words for emphasis.
- Question intonation in interrogative sentences.
- Clear conjection words: "But I think..." vs. "Blah blah, BUT blah blah blah."
- Arpabet where the numbers are parameters: AW(0), AW(2), etc.
- Multiple word samples with unit selection
- Pluralization
Words to Fix
- you're / your is 'yer'. too short.
- want is 'wan'. too short.
- that's
- 'what' is 'wet'. bad.
Needed words
- need
- shut up
- suck/sucks
- tell
- idea
Shout words
- die
- favorite
- hands
- tiny
Phonemes to fix
- BReak
- badASS
- deMAND
- naME
- thinKING
- unfortuNate
OLD Last Minute Burndown
-
Disable volume and speed parameters.
-
In-Memory LRU Cache
-
Better audio samples
- Multiple "umm" / "uhh" samples
- Fix words that sound bad
-
User input filtering
- Strip spaces in frontend.
- Make sure there's no XSS injection.
- Remove speed query parameter (for now).
-
Frontend filesize
- Downscale the animation. Maybe make a sprite sheet?
OLD Super Low Priority
- Frontend filesize:
- Progressive loading of the animation (involved).
- Zepto.js
- Remove pixi.js dependency
OLDER Old Goals
HIGH LEVEL GOALS
- Sound better
- Handle load
- Recoup costs
- Look good (UI, speaking capability) - good reflection
- Good code
Audio Samples
- Remove extra space between words (using parsing to insert spacing)
- Phonemes
- Real versions of ['AO0', 'AW0', 'AW2', 'AY0', 'EY0', 'OY0', 'UH0'], which were backfilled with fakes.
Scaling
- Load test
- Read wave files into memory
- Multi-server, with nginx as load balancer
- Prevent others from calling it
- Caching strategy - Caching headers (make sure they work) - Filter strings clientside to boost savings.
Tokenizing
- Plurals
- Times (9 p.m. ET)
Parsing
- (Everything in tokenizing)
- Decimal numbers
- Collapse pauses, eg: "Foo,,," -> "Foo (breath)"
- Numbers that are years (2016)!
- Twitter hashtags, usernames - conjoined word parsing (difficult)
Synthesis
- Get rid of static with "Uhhh", "Ummm" of variable length (option).
- Syllable System:
Cleanup
- Refactor into a very well-defined "SpeakRequest" with all parameters, including new ones like "is_twitter", "missing_word_mode = slience, record_pop, umm", etc.
- Remove old query parameters
- Set default volume
Server
- Favicon, .ico and apple icon
- robots.txt
Hardening
- Reduce API surface
- Limit length of input sentences
- Rate limiting
Presentation
- Better frontend UI
- Testing page (current frontend)
Monetization
- Can I get sued?
- Ads
- Native Apps
- (I don't have time to learn this.)
- Contact other developers?
- PhoneGap? (Blah)
Extra
- Clientside speed changing
- Let people type nonsense syllables
OLD Parsing Examples
- Camel case even outside of hashtags:
- "Google acquires FameBit", StateOfW, AdaLovelaceDay
- Hyphenated: 2-party
- They will get horrible sentences, violently.We have the support.#RepealThe1st
- #100YearsStrong