friendsoft / radiorecorder

a program for recording pre-configured radio broadcasts
1 stars 1 forks source link

Screenshots #2

Open UdoKifferbrehl opened 8 years ago

UdoKifferbrehl commented 8 years ago

Hi there, do you have got screenshots of your radiorecorder in action? The project sounds very interesting. Thanks.

tqmz commented 8 years ago

Update – see comments below :arrow_down: for screenshots!


@UdoKifferbrehl thanks for you interest. I had this running quite nicely, but probably exaggerated a bit as my Raspberry one day stopped working at whole. Probably the SD card. Since I was busy I didn't re-activate the recorder yet, but I want to do so very soon as I'm missing my radio broadcasts ... altough the friendsoft/radiorecorder is just a prototype quickly hacked together, it does work in production.

Concerning screenshots: I fully agree there should be some, along with a README.md covering all steps to set this up. I will try to do so within the next days, and I'm also motivated in improving both the recorder and the friendsoft/radiobroadcasts configuration scheme.

I saw you found further similar projects on Github, which is quite nice. I'll try to get in touch with their maintainers for an exchange, maybe setup a a common IRC channel on Freenode (or Slack, if everything else fails ;) for people who love radio and want to record streams.

What are you personally looking for? friendsoft/radiorecorder has no Web GUI (yet?), it's plain command line driven, based on Crons, and records and tags radio broadcasts by a scheme which allows also rhythms like "every second Tuesday" or even "each first and third Tuesday in a month".

If you have any ideas or proposals please let me know.

UdoKifferbrehl commented 8 years ago

Thank you very much for your answer. A web GUI would be nice for me but it is not a must-have. I plan to record radio on a small VPS and later on a RasPi 3 maybe. I appreciate your effort a lot. Thank you very much :-)

tqmz commented 8 years ago

I re-enabled my Raspberry yesterday (it obviously suffered from too many writes on the SD, now with an USB drive mounted there seems to be no issue anymore) and am currently going through friendsoft/radiobroadcasts, updating schedules and stream URLs. The idea behind that separate repository for stream addresses and broadcast schedules is to allow maintaining it commonly, no matter which client everyone uses for actually doing the recordings. I also took a couple of screenshots already, but found the setup too difficult and "hacky" at the moment for being worth shared at this time. For example, to get a list of scheduled broadcasts for the current week, one has to call record.php exactly at the full hour, or temporarily comment out a condition directly within the code. Obviously it makes more sense to fix that rather than writing docs for it. I'm thus adding a Console functionality in a next step for better usability, and will extract the basic configuration out into a separate file before writing the README.md and finally posting some screenshots .) Will keep you up to date in this ticket, expect to hear from me next week.

What are you planning to record? Full broadcasts? Single tracks?

UdoKifferbrehl commented 8 years ago

I am planning to record full broadcasts (I suppose an average of about two hours). If you like you can add the stations TechnoBase with the stream URL http://listen.technobase.fm/ and Gabber (http://gabber.fm/players/gabberfm.m3u). Thank you very much for keeping me updated :-)

tqmz commented 8 years ago

@UdoKifferbrehl

That is quite nice actually, as while interested in electronic music in general, there's not much techno and even no gabber covered in friendsoft/radiobroadcasts yet.

So both technobase.fm stream and gabber.fm stream technically do work, but do you have two or three broadcasts for testing, too?

http://www.technobase.fm/showplan/ http://gabber.fm/live-schedule/

For adding stations and broadcasts: the radiorecorder loads both stations.dist and broadcasts.dist as a default, thus stations and broadcasts can be added there for everyone.

The other option is to add a local stations and a local broadcasts file in the same format, but with your own entries, so you can instantly add new stations and broadcasts by just editing those files, and even overwrite the official entries (e. g. for providing a subscriber's stream URL rather than a free one). I will happily provide more detailed info and help on this, but we can start with the first option (friendsoft/radiobroadcasts) if you like, just let me know a few broadcasts you're interested in.

UdoKifferbrehl commented 8 years ago

You could add those as well:

N-Joy http://www.ndr.de/resources/metadaten/audio/m3u/n-joy.m3u NDR 1 Niedersachsen http://www.ndr.de/resources/metadaten/audio/m3u/ndr1niedersachsen.m3u 89.0 RTL http://stream.89.0rtl.de/live/mp3-256/direktlinkHP/ BBC 1 http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_one.m3u8 AnimeNfo http://momori.animenfo.com:8000/listen.pls

Thanks!

tqmz commented 7 years ago

@UdoKifferbrehl , I promised some screenshots.

playing

This is my screen playing the records. On the left: cmus. All records of one station are stored in one folder currently, but that's configurable – tokens like %STATION%, %BROADCASTNAME%, %YEAR%, %MONTH% and %DAY% can be used to define the general path. The records obviously can be played with any other music player, too.

Upper right: a tree over latest recordings just on file system.

Mid right: a part of the hourly schedule report for the current week. I'm using this when watching out for recent records.

Lower right: I'm using the mouse wheel over this alsamixer instance to quickly adapt the volume. Evidently not closely related to the radiorecorder itself.

tqmz commented 7 years ago

lastfm-scrobbling

Tagging automatically done by friendsoft/radiorecorder: this is how it looks like when recorded broadcasts got scrobbled with last.fm: the station is used as artist, broadcast name as album, broadcast name with date as title.

The artist page thus serves as station page:

lastfm-albums

Always the (same) broadcast name for each time it's recorded is the album ...

lastfm-album-tracks

... and the individual recordings are the title, which allows nice sorting and charting.

Evidently, you can use any scrobbling service or just local music organization software or players for this, as the tagged data are part of the record files themselves.

tqmz commented 7 years ago

Cron

cron

just one cron needs to be set once the recorder is installed. Every minute it calls the radiorecorder to check if a recording needs to be triggered and if a schedule report is to be sent.

tqmz commented 7 years ago

Recording (processes viewed in htop)

recordings

– there's no limitation (apart from your system) on how many records are started at a time.

All records can have different durations, each will be processed independently without having to wait for the longer broadcasts to finish first.

tqmz commented 7 years ago

Get latest broadcast schedules

update-broadcast-schedules

Within the radiorecorder root directory, just run

composer update friendsoft/radiobroadcasts

to get the latest broadcast schedule updates from friendsoft/radiobroadcasts.

tqmz commented 7 years ago

Select – or define – what is to be recorded.

record-editing

This is my favorite editor Vim – learn more about it at Vimfest Berlin 2016.

The record file (upper half) is your local list of broadcasts to actually get recorded. The friendsoft/radiobroadcasts repository already contains a lot of scheduled broadcasts, and most likely you don't want them all.

Also, besides requesting direct additions or changes to friendsoft/radiobroadcasts via issue or pull request, you can always define your very own stations and broadcasts, too. Those are kept in separate local files, and can also be used to override broadcasts that already got scheduled via friendsoft/radiobroadcasts.

Here in this example (lower half) I'm editing directly the friendsoft/radiobroadcasts as I'm a maintainer of it.

de-music

The format is an extended version of how Crons are defined. The radiorecorder heavily relies on the mtdowling/cron-expression package, and also extends it a bit to


@mtdowling: if you read this: thanks a lot for cron-expression, it's great! (Also Guzzle is great, thanks for that, too). If you're interested in those extensions: the current friendsoft/radiorecorder is just a quickly hacked prototype (my focus really was getting the radio broadcasts as soon as possible) – anyways, I'm working on it step by step now and will watch out for a proper extension of mtdowling/cron-expression and possibly come up with an issue or, after talking with you, a merge request on that subject.

tqmz commented 7 years ago

Once you've updated the broadcasts, check the schedule directly or via the hourly notification mail.

scheduled-broadcasts-this-week


:arrow_up: Back to first screenshot comment.

UdoKifferbrehl commented 7 years ago

Thank you so much!

UdoKifferbrehl commented 7 years ago

I discovered Rundeck (http://rundeck.org/) this week. Would that be suitable to offer a simple setup on a Debian VPS or RasPi?

tqmz commented 7 years ago

Rundeck looks like an interesting tool, but rather than adding such a layer of complexity I'd simplify the actual setup procedure. I have using a single phar file in mind, along with one config file in home directory, like ~/.radiorecorder.