Beyla: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
Add physical audio distribution section: 1/8" output, 3-way split, audio baluns, three amps including MC Escher
Refocus on hardware: hexagonal mini PC, location, how to turn on, audio distribution, MC Escher; link to KNOB for radio station info
Line 1: Line 1:
= Beyla: Noisebridge Internet Radio (KNOB) =
= Beyla =


'''Beyla''' is the streaming server that powers '''KNOB''' (Noisebridge Radio), a 24/7 internet radio station run by and for the Noisebridge community. It broadcasts a mix of automated programming and live DJ sets, and anyone at the space can take over the airwaves.
'''Beyla''' is the music server that powers [[KNOB]], Noisebridge's 24/7 internet radio station. It's a small hexagonal mini PC sitting on top of the primary audio amplifier in the [[RNA Lounge]] -- the one with '''[[Rubber Ducky Guild|MC Escher]]''' on top (little green duck, gold chain, knitted cap).


<div style="background:#2a1a4a; color:#e8d5ff; border-left:4px solid #9966cc; padding:10px 16px; margin:12px 0; border-radius:4px;">
== Finding and Turning On Beyla ==
'''Tune in now:'''
* '''Inside Noisebridge:''' [http://beyla.noise/nbradio beyla.noise/nbradio] &nbsp;(LAN only)
* '''Anywhere:''' [https://nthmost.com/nbradio/ nthmost.com/nbradio]
</div>


== Listening ==
Beyla lives in the [[RNA Lounge]], upstairs. Look for the amplifier with the green rubber duck on top -- that's MC Escher, and Beyla is the small hexagonal box sitting on the amp.


{| class="wikitable"
If Beyla appears to be off, look for a small round button on its side. Press it to power on. Give it a minute to boot and the stream should come back up automatically.
! Method !! URL !! Notes
|-
| '''Web Dashboard''' (inside NB) || [http://beyla.noise/nbradio beyla.noise/nbradio] || In-browser player, LAN only
|-
| '''Web Dashboard''' (anywhere) || [https://nthmost.com/nbradio/ nthmost.com/nbradio] || In-browser player, works everywhere
|-
| '''Direct Stream''' (anywhere) || <code>https://nthmost.com/nbradio/stream.ogg</code> || For VLC, mpv, etc.
|-
| '''LAN Stream''' (raw Icecast) || <code>http://beyla.local:8000/stream.ogg</code> || Direct server access at Noisebridge
|}
 
The stream is OGG Vorbis format. You can open the direct stream URL in VLC, mpv, or any media player that supports network streams.
 
== How to DJ ==
 
Anyone at Noisebridge can go live. Your audio takes priority over the automated programming the moment you connect, and the schedule resumes when you disconnect.
 
=== What You Need ===
 
# A laptop (or phone) connected to the '''Noisebridge network'''
# DJ/streaming software (see below)
# Something to play -- your own music, a mix, a live set, a poetry reading, whatever
 
=== Connection Settings ===
 
Enter these into your streaming software:
 
{| class="wikitable"
! Setting !! Value
|-
| '''Host''' || <code>beyla.local</code>
|-
| '''Port''' || <code>8005</code>
|-
| '''Mount''' || <code>/live</code>
|-
| '''Username''' || <code>nbradio</code>
|-
| '''Password''' || <code>nbradio</code>
|-
| '''Protocol''' || Shoutcast / Icecast
|}
 
You must be on the Noisebridge local network to connect.
 
=== Recommended Software ===
 
{| class="wikitable"
! Software !! Platform !! Notes
|-
| '''[https://mixxx.org/ Mixxx]''' || Windows, Mac, Linux || Full DJ software with mixing, beatmatching, and effects. Free and open source. '''Recommended.'''
|-
| '''[https://rogueamoeba.com/audiohijack/ Audio Hijack]''' || Mac only || Excellent audio routing and streaming tool. Paid software, but very reliable and powerful.
|-
| '''[https://obsproject.com/ OBS Studio]''' || Windows, Mac, Linux || Can stream audio output. Good if you're already using OBS.
|-
| '''[https://www.virtualdj.com/ VirtualDJ]''' || Windows, Mac || Popular DJ software with streaming support.
|-
| '''IDJC''' (Internet DJ Console) || Linux || Lightweight Linux-native option.
|-
| '''[https://danielnoethen.de/butt/ BUTT]''' (Broadcast Using This Tool) || Windows, Mac, Linux || Lightweight, but some users have had connectivity issues.
|}
 
=== Quick Start with Mixxx ===
 
# Download and install [https://mixxx.org/ Mixxx]
# Go to '''Preferences''' > '''Live Broadcasting'''
# Set:
#* '''Type''': Icecast 2
#* '''Host''': <code>beyla.local</code>
#* '''Port''': <code>8005</code>
#* '''Mount''': <code>/live</code>
#* '''Login''': <code>nbradio</code>
#* '''Password''': <code>nbradio</code>
# Load up some tracks, start mixing, and enable broadcasting
 
=== Quick and Dirty with ffmpeg ===
 
If you just want to stream an audio file with no extra software, '''ffmpeg''' works from the command line:
 
ffmpeg -re -i <your-audio-file> -f mp3 icecast://nbradio:nbradio@beyla.noise:8005/live
 
This was the first successful stream to Beyla -- shout out to '''Derek''' from the Infrastructure Meetup for proving it out.
 
== Programming Schedule ==
 
When no DJ is live, Beyla runs automated programming on a 24-hour cycle:
 
{| class="wikitable"
! Time !! Show !! Description
|- style="background:#dce8f8;"
| 2am – 10am || '''AUTODJ''' || Downtempo, lofi, and eclectic tracks with station IDs
|- style="background:#ead5f0;"
| 10am – 11am || '''Pandora's Box''' || Mixed-genre surprise hour
|- style="background:#dce8f8;"
| 11am – 5pm || '''AUTODJ''' || Downtempo, lofi, and eclectic tracks with station IDs
|- style="background:#ead5f0;"
| 5pm – 6pm || '''Pandora's Box''' || Mixed-genre surprise hour
|- style="background:#dce8f8;"
| 6pm – 10pm || '''AUTODJ''' || Downtempo, lofi, and eclectic tracks with station IDs
|- style="background:#1e2a3a; color:#b0c8e8;"
| 10pm – 2am || '''Noisefloor''' || Dubstep, bass music, and deep electronic
|}
 
All automated shows include station callsigns and occasional fake commercials.
 
== Contributing Music ==
 
Want to add tracks to the rotation? Contact '''nthmost''' on the [https://discord.gg/noisebridge Noisebridge Discord]. The music library lives on Beyla's local drive, and contributions in MP3, FLAC, OGG, or WAV format are welcome.


== Physical Audio Distribution ==
== Physical Audio Distribution ==


Beyla's 1/8" output jack is split three ways. Each output is converted to balanced audio over ethernet via an '''audio balun''' (RCA → ethernet cable → RCA), allowing the signal to travel cleanly over long runs of Cat5 to amplifiers distributed around the space.
Beyla's 1/8" output jack is split three ways. Each output is converted to balanced audio over ethernet via an '''audio balun''' (RCA → ethernet cable → RCA), allowing the signal to travel cleanly over long cable runs to amplifiers distributed around the space.


There are three amplifiers:
The three amplifiers:


{| class="wikitable"
{| class="wikitable"
! Amp !! Location !! Notes
! Amp !! Location !! Notes
|-
|-
| '''Primary''' (MC Escher) || Near Beyla || A little green rubber duck in a gold chain and knitted cap is permanently affixed to the top. He is a proud member of the [[Rubber Ducky Guild]].
| '''Primary''' (MC Escher) || [[RNA Lounge]], on this amp's top || Beyla sits directly on top of this one. MC Escher [[Rubber Ducky Guild|(RDG)]] is permanently affixed to the amp.
|-
|-
| '''RNA Lounge''' || On top of the old NB podium, top of the stairs || The FM transmitter lives inside the podium body; the amp sits on top.
| '''RNA Lounge / Stairs''' || On top of the old NB podium, top of the stairs || The [[KNOB#FM Broadcast|FM transmitter]] lives inside the podium body; the amp sits on top.
|-
|-
| '''Hallway''' || Deep in the hallway next to the kitchen, across from the [[Electronics Lab]] door ||
| '''Hallway''' || Next to the kitchen, across from the [[Electronics Lab]] door ||
|}
|}


Volume is controlled independently on each amplifier, so each area can dial in whatever level works for them.
Volume is controlled independently on each amplifier each area sets its own level.
 
== Technical Details ==


Beyla runs on a dedicated machine on the Noisebridge network. The stack:
== Technical Stack ==


* '''[https://www.liquidsoap.info/ Liquidsoap]''' -- audio routing, scheduling, and mixing engine
* '''[https://www.liquidsoap.info/ Liquidsoap]''' -- audio routing, scheduling, and mixing engine
Line 152: Line 37:
== See Also ==
== See Also ==


* [https://nthmost.com/nbradio/ KNOB Web Dashboard]
* [[KNOB]] -- the radio station Beyla powers
* [[Audio]] -- sound systems around Noisebridge
* [[Audio]] -- sound systems around Noisebridge
* [[Music]] -- Music Guild
* [[Rubber Ducky Guild]] -- MC Escher's people


[[Category:Projects]]
[[Category:Projects]]
[[Category:Radio]]
[[Category:Radio]]
[[Category:Infrastructure]]

Revision as of 04:03, 9 March 2026

Beyla

Beyla is the music server that powers KNOB, Noisebridge's 24/7 internet radio station. It's a small hexagonal mini PC sitting on top of the primary audio amplifier in the RNA Lounge -- the one with MC Escher on top (little green duck, gold chain, knitted cap).

Finding and Turning On Beyla

Beyla lives in the RNA Lounge, upstairs. Look for the amplifier with the green rubber duck on top -- that's MC Escher, and Beyla is the small hexagonal box sitting on the amp.

If Beyla appears to be off, look for a small round button on its side. Press it to power on. Give it a minute to boot and the stream should come back up automatically.

Physical Audio Distribution

Beyla's 1/8" output jack is split three ways. Each output is converted to balanced audio over ethernet via an audio balun (RCA → ethernet cable → RCA), allowing the signal to travel cleanly over long cable runs to amplifiers distributed around the space.

The three amplifiers:

Amp Location Notes
Primary (MC Escher) RNA Lounge, on this amp's top Beyla sits directly on top of this one. MC Escher (RDG) is permanently affixed to the amp.
RNA Lounge / Stairs On top of the old NB podium, top of the stairs The FM transmitter lives inside the podium body; the amp sits on top.
Hallway Next to the kitchen, across from the Electronics Lab door

Volume is controlled independently on each amplifier — each area sets its own level.

Technical Stack

  • Liquidsoap -- audio routing, scheduling, and mixing engine
  • Icecast 2 -- streaming media server
  • Custom web dashboard -- zero-dependency Python HTTP server for now-playing info

The system uses a priority-based fallback chain: live DJ input always takes precedence, then scheduled programming, then a SomaFM internet radio fallback if all local sources fail.

See Also