DEV Community

Konrad Chmielecki
Konrad Chmielecki

Posted on • Updated on

pomysł nic nie kosztuje

Czasem przychodzą mi do głowy pomysły na projekt który wydaje się z pozoru ciekawy.

Miałem ostatnio pomysł na aplikacje która tworzyłaby napisy do filmów z polskimi głosami. Napisy byłby w języku polskim jak i przetłumaczone na angielski.
Pierwotnie chciałem stworzyć webową aplikacje. Jednak długo nad tym myślałem i stwierdziłem że koszty utrzymania byłby zbyt duże jak na moje możliwości.

Z pozoru usługi Serverless które zajmują się przetwarzaniem danych wydają się tanie. Ale pod warunkiem że działają poniżej sekundy. Moja aplikacja musiała się liczyć z tym że musi pobrać z YouTube albo bezpośrednio od użytkownika ścieżkę dźwiękową filmu.
Następnie przetworzyć ścieżkę dźwiękową na odpowiedni format, który będzie zgodny z usługą Google Speech to Text. Potem wysłać na Google Storage. I przetworzyć przez Google Speech to Text.
To wszystko mogło zająć minuty. Oczywiście mogłem zrezygnować z mocy obliczeniowej na żądanie i użyć klasycznej wirtualizacji bądź usługę z góry ustaloną opłatą za miesiąc. Tego typu usługi świadczy między innymi DigitalOcean.
Jednak jedyna uczciwa cena jak wchodziła w grę to za darmo.

Wiec pomyślałem że skoro nie stać mnie na utrzymanie aplikacji to stworze ją tylko dla siebie jako aplikację systemową.
Do tego postanowiłem użyć Pytona który ma bogaty wybór bibliotek.
Nie czuje się za dobrze w Pytonie i wolałbym Node z JavaScript w którym czuje mocniejszy. Jednak dostępność do odpowiednich bibliotek spowodowało że Pyton był najodpowiedniejszym wyborem.

Pisząc kod i tworząc poszczególne etapy przetwarzania ścieżki dźwiękowej zaczęły pojawiać się problemy z funkcjonalnością która była kluczowa dla aplikacji.
Pierwszym problemem okazał się jakość generowanego tekstu przez Google Speech to Text.
Jeżeli są użyte słowa z innych języków to usługa będzie próbowała je zinterpretować jako język z góry zdefiniowany w ustawieniach.
Więc ustawiając język polski gdzie w ścieżce dźwiękowej znajdowały się słowa angielskie mogłem otrzymać dziwne wyniki. Problem nie stanowiły anglicyzmy.
Ale nawet jeżeli poprawiłbym ręcznie tekst to pojawia się problem z przetworzeniem potem tego tekstu. Mogę otrzymać od usługi informacje w którym momencie pada dane słowo. Jednak nawet jeżeli napisałbym algorytm który to ogarnie. To nie byłby na tyle dobry żeby nie wymagał ręcznego poprawiania.
No i największy problem to tłumaczenie takich napisów. Chciałem do tego użyć DeepL Translator. Jednak żeby tłumaczenie miało ręce i nogi to musiałbym wrzucić cały tekst żeby został zachowany kontekst tłumaczonego tekstu. A to powoduje że musiałbym ręcznie dopasowywać napisy do ścieżki dźwiękowej.

Na szczęście tworzenie prototypu aplikacji zajęło mi jeden dzień. Ale następnego dnia okazało się że cały dzień zabawy z Google Speech to Text kosztowało mnie 7zł. Czego się nie spodziewałem.

Dobrze jak ma się możliwość tworzenia szybko prototypów. Tylko po to aby sprawdzić czy dany pomysł ma jakieś szanse realizacji. Zwłaszcza że w głowie nie da się wszystkiego przewidzieć.

Discussion (0)