π€
Defending Against DDoS with AWS WAF: Focusing on User Experience
Running a website inevitably means facing abnormal traffic attacks. Especially when aiming for global services, the domain itself becomes more exposed, increasi...
hhlee
2024-11-12
π€
Developing a Global Version Website with GPT & Copilot
When developing a website, you might be tempted to focus solely on your native language. However, if you're offering a SaaS service that can be sold globally, i...
hhlee
2024-10-29
π€
UX Details to Make All TTS Engines Properly Read Korean
VideoStew offers a variety of AI voices. From Google Wavenet, Amazon Polly, KT AI Voice, Naver Clova, Azure, to ElevenLabs...As a result, a natural issue arises...
Junwoo
2024-08-27
π€
Practical GPT Utilization for Startup Marketers (We said GPT, but we only used Claude π
)
Hello, this is Jun from VideoStew.Lately, I've been writing a lot of behind-the-scenes posts. In this post, I will summarize how I, as a non-developer at a star...
Junwoo
2024-07-22
π€
Videostew: Turn Your Message into Video, Just as You Envisioned
Hello, this is Jun from Videostew. Today, I'd like to share the story of how we created Videostew and why we chose to build it the way we did. You might call it...
Junwoo
2024-07-15
π€
The Struggles of a SaaS Startup with Viral Marketing through Open Chat
Getting StartedMost startups don't have a lot of money. Especially when it comes to marketing budgets! (Or they tend to be extra frugal.) Maybe that's why free ...
Junwoo
2023-12-01
π€
DIY Battery Replacement for the New MacBook: A Retrospective
The haunting aspect of owning a Mac is the bone-chilling repair costs when it breaks down. That's why my team and I have been doing our own Mac repairs for quit...
hhlee
2022-08-05
VideoStew offers a variety of AI voices. From Google Wavenet, Amazon Polly, KT AI Voice, Naver Clova, Azure, to ElevenLabs...
As a result, a natural issue arises: each model is trained differently, so even the same sentence is read slightly differently. This difference is particularly noticeable when reading units.
In this post, weβll discuss the considerations we took into account to ensure proper reading of units in Korean when generating TTS.
Getting Measurement Units Right
When using various TTS engines, we encountered an issue where even the expression "100kg" was read differently by each engine. Some would read it as "hundred K-G," while others would trail off awkwardly at the end with "hundred krr..." (
Yes, even AI can get flustered...)Of course, there were engines that read it accurately as "hundred kilograms."
To address this, we developed a preprocessing library to standardize how these units are read across all engines.
Getting Numbers Right
Running this service, we encountered another unexpected issue. (Korean is truly a fascinating language..)
In Korean, there are two ways to read numbers, something we instinctively use but might not notice.
For instance, when telling time, "10μ 10λΆ" is read as "yeol si sip bun." Why...?
And while general numbers are read in Sino-Korean ("il, i, sam"), when a quantity unit is added, they are read in native Korean ("han gae, du gae, se gae"). Official measurement units use Sino-Korean. (e.g., 10cm = "sip sen-ti-mi-teo")
Alright, let me give you a number. β90β. How would you read it?
Technically, up to 90 should be read as βninety.β Some of you might have read it as βnine zero.β As numbers get larger, we tend to adopt a more convenient way to read them.
Letβs think about smaller numbers. β9.β Yes, everyone would read this as βnine.β
Following this principle, we developed a preprocessing system that reads numbers from 1 to 99 in their unique word forms. However, this is just a guideline, and weβre open to changing it based on customer feedback. For instance, βfortyβ might feel more natural than βfour zero.β
Anyway, to ensure a consistent user experience, we created a unit library corresponding to the unique word forms like βone, two, three.β
If you're looking to implement a TTS service, this library could be useful. However, keep in mind that it's not a complete version as we continuously discover unexpected units through customer feedback.
Detail in UX = Success in SaaS
Encountering the term βquantifierβ for the first time, we faced many challenges while providing a video editing SaaS solution in Korea. It was yet another reminder of how dynamic and remarkable the Korean language isβ¦
While we sometimes envy English-speaking services, they surely have their own set of challenges.
Of course, VideoStew offers a feature called [Manual Text Designation]. This allows you to generate TTS regardless of what's displayed on the screen.
< Setting the sound to be read by TTS regardless of the subtitles displayed on the screen >
By using this method, you can write as you like and as it sounds, leading TTS to pronounce more naturally and allowing users to correct any misread units directly.
The reason we focus on such details is our conviction that these small differences determine the growth of the service.
Users have a preconceived notion of how a sentence with numerical expressions should be read the moment they input it. If it doesn't generate as expected, that's an initial problem. Our ultimate UX goal is to produce the expected result as quickly as possible without additional editing.
We will continue to post our UX considerations like this in the future. As mentioned earlier, in the current situation where all services are leveling up, we believe that pondering over such details determines the success or failure of a service.