So, I wanted to make a program that could basically act like a French commentator for, you know, sports games or whatever. I had this idea buzzing around in my head for a while, and I finally decided to give it a shot. I’m not a coder, not really, but I’m pretty good at figuring things out.

Getting Started
First, I needed to figure out how to even approach this. I mean, I knew I wanted it to be able to, like, take in some game info and then spit out some commentary, but that’s a pretty broad idea. I spent a good few hours just Googling stuff.
I looked into things like “text generation” and “natural language processing,” which sounded super complicated, but I figured I could maybe find some pre-built stuff I could use. I figured I’d probably need Python. Everyone always says Python’s good for beginners.
Hitting a Wall (and then climbing over it)
I found some tutorials online, and, man, were they dense. Lots of talk about “models” and “training data” and stuff that went way over my head. I tried following along, but I quickly got lost in the weeds. I almost gave up, to be honest.
But then I had a bit of a breakthrough. I realized I didn’t need to build something super fancy from scratch. I just needed something that could take some basic inputs and generate some French phrases. So, I started looking for simpler tools.
Finding the Right Tools
I stumbled upon some online resources like ready to use translation API’s. This was a game-changer! I was able to, you know, create a basic template, and it can automatically translate the output to french.

With these tools, I could basically create a list of common sports phrases in English, translate and then have the program randomly select and combine them based on what was happening in the “game” (which, for now, was just me manually inputting some basic events).
Putting it all Together
I spent a few evenings messing around with the script. I’d type in something like “Goal scored!” and the program would spit out a phrase in French. It wasn’t perfect, far from it, but it was working! I even added some extra bits to make it sound a bit more, you know, enthusiastic, like adding exclamations and stuff.
I even thought about the intonation so I searched for different ways to change the pitch and tone of the voice, I used different combinations of punctuation to add a little flavor of an excited commentator.
- The use of full stops (.) to keep it short.
- The use of Exclamations (!) and Capital letters to make the phrases sound enthusiastic.
- The use of Commas (,) to produce a natural pause.
Still a Work in Progress
It’s definitely still a work in progress. It’s pretty basic, and it probably wouldn’t fool anyone into thinking it’s a real commentator. But it’s my basic commentator, and I built it from scratch (well, with a lot of help from the internet). I’m pretty proud of that.
Next, I might try to make it a bit more dynamic, maybe have it react to different types of events, or even try to connect it to some kind of live game data. But for now, I’m happy with my little French commentator experiment.
