Cozy Internet Corner

Introduction

If you follow me on Mastodon, you might have seen some vague references to me wanting to build an XMPP server recently. I wanted to do this because I have the programming itch right now, but I had no idea what project to work on. One person building an XMPP server is obviously preposterous, its simply too complex, and I knew that, but I just wanted to start. I have since come up with a better idea for a project, that is hopefully more manageable, and I will present it here. I call it Idea Number One Thousand Seven Hundred Fifty Seven! (Or simply Masto Radio Bot if you prefer). I call it this because it is one in a line of many, many unfinished projects, not because I know exactly how many ideas I have had.

Idea

I have seen a few cool things as of recently, listed below, and want to bodge them together:

  1. I have been listening to my local FM radio stations programming.
  2. I have seen internet radio stations like nightride.fm.
  3. I have seen Low Tech Magazine's solar powered website.
  4. I have seen the low power computers that Pine64 makes.
  5. I have always been fascinated by high efficiency audio compression algorithms, and basic TTS systems.
  6. I have seen lots of bots on Mastodon.

The combination of all of these things is a Solar Powered Internet Radio Station With Automated Announcements Of News, Weather, And Music, That Also Posts What Its Doing On Mastodon.

This project is significantly more achievable that previous projects because it can easily be done as many small steps, and each step has a concrete outcome. So, the first thing would simply be to make an internet radio at all. Then I can expand by upgrading it as I go. Finally, as a nice bonus, I may be able to repurpose the basic server skeleton I was working on for XMPP in order to be used for the music streaming. (All it dose now is echo over TCP)

Architecture

A very badly drawn diagram of the architecture that is described below

First comes the sources of content for the radio. These will be things like public domain music, weather, and potentially hand selected news. The weather, news, and other text-based content will be run through a TTS engine for broadcast. This will be handled by separate programs to gather and synthesize each information type. These programs will then be called by a scheduler program. The scheduler will decide what gets run when, and will direct the various content programs to output audio and text into a ram filesystem. Finally, a streamer/poster program will consume these files and stream them on my website, or post the text to Mastodon.

For the hardware, I will have a solar panel (probably 100w), that charges a battery (probably 100ah 12v lead acid), that powers a single board computer (already purchased), That talks to the internet through a long outdoor network cable (variable depending on where I decide to locate the contraption), and I will need to house it all in something, like a small shed.

Overall, this will not be a cheap project, but if I work on one part at a time, I hopefully wont have too much trouble with buying things that won't get used.

Conclusion

I sure hope I this project is as achievable as I think it is, because I would really like to actually get something done for once lol... I guess I just need to make sure I don't hold myself to too high standards.

If you want to increase the chances that this project gets done, send me an email or message me on Mastodon in a month reminding me to work on it lol.

Sincerely, Jessica Haines

Reply to this post by email ↪

Get my public key here. The fingerprint should be: "E7A3 936F 8840 51E7 94F5 C0CA 04FB 1416 9CFE C84B"