Create mp3 files by passing text to the OpenAI endpoint inside a Spring application. Use Spring's HTTP exchange interfaces, Java records, text blocks, bean validation, and even the GraalVM native image library to create an effective, powerful application.
Tales from the jar side:
▶️ Newsletter: https://kenkousen.substack.com
▶️ YouTube channel: https://www.youtube.com/@talesfromthe...
▶️ Home page: http://www.kousenit.com
Welcome to Tales from the jar side! New newsletter every Sunday, new newsletter video every Monday, and additional technical videos (Java, Gradle, JUnit, Spring, and lots more) every week.
Affiliate links:
These are products I use on a regular basis. If you click on them, your price doesn't change, but I may receive a small referral fee. Feel free to try them out.
▶️ Tella.tv: https://tella.tv/?via=tftjs
Tella is a great screen capture program. Very simple to use, but very powerful. :)
▶️ Descript: https://www.descript.com/?lmref=HHcVuA
This is a great program for transcribing videos and letting you edit them by editing the transcript. It also has several AI features like Studio Sound, Background Removal, Eye Tracking, Autodub, and more. I use it especially for YouTube Shorts.
▶️ TubeBuddy: https://www.tubebuddy.com/pricing?a=t...
This is about the best tool around for giving you statistics on YouTube videos.
▶️ CleanShot: https://cleanshot.sjv.io/Tftjs
I use this as my primary way of making screenshots. You can save them locally or to the cloud, crop and do other edits, add backgrounds, and more.
▶️ Manning Publications: https://www.manning.com/?utm_source=m...
This is where my first book, "Making Java Groovy", was published, but you can use the link for any Manning books
00:00 - Welcome to Tales from the jar side
00:20 - OpenAI Text to Speech
01:48 - A Spring Boot Application
03:20 - HTTP Exchange Interfaces
04:30 - Inject the interface into a service
06:00 - Configure the Beans
07:32 - Generate Audio
08:33 - Input Validation
10:18 - The JLayer library
13:11 - GraalVM native image compiler
15:16 - Summary