Log in
History

About Captive

Captive was created from a personal need, after my partner’s father rather quickly lost most of his hearing. I then saw how debilitating such hearing loss can be.

As I was talking to him in the Christmas vacation of 2022, I realized that I may have the ability to make it easier for him to understand what is going on. That Christmas I quickly created several prototypes to determine the most effective speech recognition solution I could implement.

I tried many approaches. Initially, I attempted to use the built-in speech recognition in iOS and Android, however they failed miserably in recognizing Norwegian speech.

Then I looked at the web speech API, which exposes any native speech recognition of the operating system to the browser. While this API is very cool, it focuses mostly on command recognition, not recognizing freely spoken text. Also, the quality on most operating systems is less than ideal.

So, the jump to the cloud was seemingly the only option. I tried out a range of different providers, but landed on Microsoft Azure’s Cognitive Services. This seemed to most robustly recognize Norwegian speech in my tests, and I was honestly blown away by how well it managed to accurately record what was being said.

Jump almost 7 months ahead, and I had a working application that satisfies the needs I wanted to solve. It has been a labor of love to create, being worked at while waiting for my daughter to fall asleep, or at night when the house has been quiet.

I hope you will find it useful.

Best regards,

Thanks to

Attributions

Captive would not be possible without the following wonderful projects or services.

Svelte and SvelteKit

SvelteKit is a wonderful framework to develop web applications in, and it has been a joy to use.

Fluent Svelte

This project implements large parts of Microsoft’s Fluent Design System for the web.

Supabase

Supabase provides a hosted PostgreSQL instance in the cloud, and adds easy authentication on top.

Captive

PRE-RELEASE