From 09670939205593e7a4b13baee641fdb7b196b4a3 Mon Sep 17 00:00:00 2001 From: filip Date: Sat, 13 Feb 2021 18:36:45 +0100 Subject: [PATCH] first commit --- make_all.m3u.py | 6 ++++++ make_m3u.py | 16 ++++++++++++++++ pifm | Bin 0 -> 92848 bytes radio.py | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100755 make_all.m3u.py create mode 100755 make_m3u.py create mode 100755 pifm create mode 100755 radio.py diff --git a/make_all.m3u.py b/make_all.m3u.py new file mode 100755 index 0000000..cb6d427 --- /dev/null +++ b/make_all.m3u.py @@ -0,0 +1,6 @@ +import glob +f = open("all.m3u", "w") +for file in glob.iglob("/home/pi/radio_project/sounds/*"): + f.write(file) + f.write("\n") +f.close() diff --git a/make_m3u.py b/make_m3u.py new file mode 100755 index 0000000..fcb93d0 --- /dev/null +++ b/make_m3u.py @@ -0,0 +1,16 @@ +#! python3 +import glob +m3u = input("Filename> ") +m3u = m3u + ".m3u" +f = open(m3u, "w") + +for file in glob.iglob("/home/pi/radio_project/sounds/*"): + print(file + ": Do you want to add this?") + yn = input("y/n> ") + yn = str(yn) + if yn == "y": + f.write(file) + f.write("\n") + if yn == "n": + pass +f.close() diff --git a/pifm b/pifm new file mode 100755 index 0000000000000000000000000000000000000000..8dbd9cc89b5378645e1ac56e198d076c093c5590 GIT binary patch literal 92848 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⁣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 literal 0 HcmV?d00001 diff --git a/radio.py b/radio.py new file mode 100755 index 0000000..84225bc --- /dev/null +++ b/radio.py @@ -0,0 +1,32 @@ +#William, hvis du redigerer denne: ikke legg til norske symboler det fungerer ikke + +import os, glob + +print("Use python3") +playlist = "/home/pi/radio_project/all.m3u" +playlist = input("Playlist file> ") +station_name = "105FM" +station_id = "BEEF" #hex number 0123456789ABCDEF use uppercase +frequency = "105" #in MHZ float stored as string; do not change var type + +#WARNING! WARNING!: Do not set PS aka: program type to 30 or 31. 30 and 31 are for emergency alert system broadcasts +program_type = "9" #MUST NOT be 30 or 31. See above comment + +def m3u(playlist): + with open(playlist) as f: + lines = f.read().splitlines() + print(lines) + return lines + +while True: + for filename in m3u(playlist): + songname = filename.replace("/home/pi/radio_project/sounds/", "") + songname = songname.replace(".wav", "") + songname = songname.replace(".mp3", "") + cmd_to_execute = "sox \"" + filename + "\" -t wav - | /home/pi/radio_project/pifm --freq " + frequency + " --pi " + station_id + " --audio - --ps " + station_name + " --rt \"" + songname + "\" --pty " + program_type + " --power 0 --wait 0" + print("=================================") + print("Spiller av: ") + print(songname) + print(cmd_to_execute) + print("=================================") + os.system(cmd_to_execute)