Looking for a Python bugfix/new feature developer;
We're looking to use open-source software to replace a core part of our aged software stack, but we found several bugs and need some new features added to bring it up to speed.
The software: [url removed, login to view]
It's pretty much an old lightweight python music/audio streamer (to icecast2 for example).
- The config option to shuffle jingles does not shuffle the jingles, and they don't seem to play consistently (seems to play jingles for one hour, then play none for the next, and repeat). Jingles are voice recordings that play between the music files.
- Crossfade configuration options, we'd love a python solution to crossfade between music and between jingles, with the ability to set crossfade time in the config file. A simple scripted crossfade would be ok for the time being but ideally in the future all music files will be read and crossfades and cues detected automatically based off silence near the end of audio files.
- We need the ability to encode from the music and jingles format to ogg vorbis before streaming out to an icecast server
- We need a separate online database (probably MySQL or even Microsoft Azure) that can keep track of what songs and jingles get played at what times, and how many times each song gets played
- Fix the bug that won't allow you to run multiple stations in a single config file (it does work but not consistently)
We're interested in having this run as a function that can be run on-demand on Microsoft Azure's Functions but we aren't sure if this could work yet, and it would require some significant code changes as well to make it properly compatible.
We're interested to see if node-red/node.js could be of use in this project but it's not a requirement.
In regards the crossfade, we are happy to build the advanced crossfade.
If all goes well on this project we will be interested in hiring again for a Django interface
- Forget about encoding - we will just create our files in the format we need.
- We need the ability to play tracks from a premade .m3u file (currently DeeFuzzer automatically generates one from the folder where the media is stored)
- We need to be able to schedule events (playing a specific audio file) in the stream based on the time (i.e. at 4:55pm, schedule the ‘news.mp3’ file to be played next in the stream). As part of event scheduling, we need a simple way to add a line in the config file to schedule files to only play at certain times, e.g: “mon-fri,2pm-3pm,/path/to/track1.mp3,5x” in the config file for DeeFuzzer means - Monday to Thursday between 2pm and 3pm, play this mp3 file, 5 times each hour.
- Ability to live edit the config file and the stream updates in real time without requiring a restart?
Just to note, any changes made we would prefer to be reflected in a YAML config file for DeeFuzzer