What is this?
Example Number Channel Output:
Making NumberChannel was designed as a learning experience so that I could gain the basic knowledge needed to make more complicated automated channels in the future. To do this, I broke down what I wanted the channel to do into it's basic steps.
Step 1: Generate the 10 digit number.
I chose 10 digits because US telephone numbers have 10 digits and, to my ear, it sounded better than a 9 or 11 digit number. And 10 is a nice round number, besides.
Step 2: Generate the Text to Speech
This involved learning about how to use Googles TTS API, which was surprisingly easier than I thought.
Step 3: Put the audio all together.
So this was an eye opening aspect and, I think, one of the most powerful parts of this whole thing. I needed to put a jingle at the front and back of the TTS and, LO, there was a python library for that: PyDub. The cool thing about this is that if, in the future, I want to switch to human performed numbers, it will be trivial to stitch the pieces together using this same method.
Step 4: Generate the image.
This was the hardest part. The documentation for PIL is very difficult for beginners to understand.
Step 5: Combine the image and audio into an MP4
Literally the easiest part. FFMPEG for the win!
Step 6: Upload it to YouTube
This part was kinda tricky. The trickiness came, mostly, from figuring out the sweet spot in terms of upload frequency because there is a daily upload limit through the API. If there wasn't, I could upload a video every 43 seconds, even on that old Core 2 Duo. But it looks like uploading every half hour gives enough cooldown time for the API. You might even say the API gets a chance to REST.
Taking what I learned doing this, I'm looking forward to experimenting more with automated YouTube Channels.