Skip to main content
10 min read

REQ:IQ — Song Requests

Your audience picks songs from their phones. The show plays them. Nobody texts you 'CAN U PLAY FROZEN' ever again.

REQ:IQ gives your show a public viewer page where people at the curb can see what’s playing, watch what’s coming up, and request a song. Requests slide into your player automatically — with guardrails you control, so one enthusiastic kid can’t queue “Baby Shark” eleven times.

You run the whole night from one screen: the Live deck. Play, pause, and skip the show, watch the queue fill, pick how the next song gets chosen, and send a banner to every phone on the street. This guide starts with what viewers see, then walks your side of the booth.

The big picture

  • A viewer taps Request on your page → it joins the queue.
  • Your player connection (the FPP plugin, or the native xSchedule plugin) inserts the song right after the current one.
  • The queue advances pending → playing → played, live on everyone’s phone.
  • Prefer a vote to a queue? Switch the night to Crowd Pick and the curb votes on what plays next instead of lining songs up one by one.

Set it up

  1. 1

    Pick your safeguards

    On the Live tab, open the Safeguards drawer and choose a preset (Relaxed, Standard, Strict) or tune it yourself: queue depth, per-viewer limits, request spacing, same-song cooldown, back-to-back prevention, and song fatigue (auto-hide a song after a set number of plays in a night). Auto-Voting settings live in this drawer too.
  2. 2

    Set your request schedule

    On the Schedule tab, pick which nights take requests. The viewer page respects these dates automatically.
  3. 3

    Connect your player

    FPP: install the plugin and click Enable REQ:IQ (guide). xSchedule: install the native plugin and do the same (guide).
  4. 4

    Share the viewer page

    Put the link (or a QR code) on a yard sign. Your catalog even seeds itself from the sequences on your player — zero uploads needed.

What viewers see

The viewer page is mobile-first and built for a quick tap from the curb. It opens on the Request tab with a Now Playing card up top and a searchable grid of your songs below.

Viewer page — Request tab
Now playing
Wizards in Winter
2:41 left · Up next: Mary, Did You Know
Carol of the Bells
Last Christmas
Feliz Navidad
Retired for tonight
Let It Snow
Jingle Bells
Sleigh Ride
Now Playing on top, then the song grid. Each tile has a Request button; a song at its nightly limit is dimmed.
  • Request tab — a Now Playing card (with album art, time remaining, and lyrics when available), an Up Next list, and a searchable song grid. Tap a song for a detail card with its lighting cues and colors. After requesting, there’s a short undo window in case of a mis-tap.
  • Up Next — the running order under Now Playing, with any live requests on top (tagged Next, Requested, or In queue) and the scheduled rotation below. Each row shows a rough wait like 7 min, added up from the real run times of the songs ahead of it.
  • “In Queue” → “On Air” — when a viewer requests a song, its tile shows an In Queue overlay with its place in line (#3) and a live countdown to when it should play. The moment it starts, that flips to a green On Air badge. Songs other people requested show a small #N in line marker so the curb can see the line filling up.
  • “Retired for tonight” — a song that has hit its play limit for the night shows up dimmed and labeled, so people see why they can’t request it instead of just getting bounced.
  • Nothing to request yet — before your catalog has any requestable songs, the grid shows a friendly “No songs available to request right now” note rather than a blank page, so visitors know the page is working.
  • Crowd Pick round — when the night is set to voting, the songs people have nominated go head-to-head (in voting mode the request button becomes Nominate for the vote). Vote bars grow live, a countdown ticks down, and the winner plays next — with confetti when it lands. Voting is free and doesn’t use up a viewer’s request allowance.
  • Listen along — when you’ve turned on phone audio, a tap-to-listen button sits under Now Playing and the song plays from the viewer’s phone, synced to your lights. See Listen along below.
  • Suggest tab — viewers can pitch songs you don’t have yet, and see whether you accepted or declined past suggestions.
  • About tab — your show info, FM frequency, and socials.
  • Announcement banner — when you send a live announcement, it drops in across the top of every viewer page so the whole curb sees it at once.

Crowd Pick voting

Crowd Pick turns the open grid into a quick head-to-head. Viewers nominate songs, the ballot lines up everything that’s been nominated (topped up from the catalog if only a couple came in), the crowd taps to vote, the tallies climb live, and the winner plays next. Each viewer gets one free vote per round, and a vote never counts against their request limit — so a big crowd can all weigh in. A song that just won isn’t offered again on the next ballot.

Viewer page — Crowd Pick round
Crowd Pick · vote now0:14

One free vote per round · winner plays next

Tap to vote. Bars and tallies update live; the leader is highlighted and a countdown runs the round.

From your side, an open round shows the contenders, live tallies, and a countdown, with one-tap controls to extend it, skip it, or close it and lock in the winner. More on choosing when rounds run in how the next song is picked below.

Listen along — show audio on their phones

No FM radio? No problem. Turn on phone audio and a “Listen along on your phone” button appears under Now Playing on the viewer page. One tap and the song plays from the viewer’s own phone, in sync with your lights — great for people walking up, or cars where the FM dial is a mystery.

Under the hood, the phone downloads the whole song first and plays it locally, nudged to stay locked to your show’s clock — so there’s no laggy live stream to buffer. If the sync drifts, it corrects itself with tiny speed nudges you can’t hear. A song is roughly 5 MB of data; the next song preloads while the current one plays, so track changes are seamless.

  1. 1

    Confirm your music rights

    On the Audio tab, confirm you have the rights to stream your music to viewers at your show. Audio can’t turn on without this — it’s your show, your responsibility (same as FM).
  2. 2

    Turn on phone audio

    Flip the Enable phone audio toggle. The Listen button appears on your viewer page right away.
  3. 3

    Pull your songs from FPP

    Tap Pull from FPP and your plugin uploads the exact MP3s your show plays — no re-exporting, no mismatched files. (Needs fpp-SETIQ plugin 1.2.6 or newer; there’s a manual upload fallback too.)
  4. 4

    Tune the PA offset by ear

    Stand where your audience stands, listen to a phone next to your speakers, and step the PA offset until they line up. Changes apply live to every listening phone.
  • FM stays. Phone audio rides alongside your transmitter — the About tab still shows your frequency, and cars keep tuning in like always.
  • Karaoke gets better too. With phone audio and synced lyrics together, a viewer’s phone is a full sing-along machine. If lyric lines land early or late, nudge them from the Live tab (the Karaoke lyrics nudge card) — positive shows lyrics later, and saves push live to every open karaoke screen.
  • Purge anytime. Turning audio off keeps your files; Delete uploaded audio removes them from storage completely.

The Live control deck

The Live tab is your show-control console. You run the show right from here — no jumping to FPP — and the queue sits in the same view, so you can see what the curb wants while you drive.

REQ:IQ — Live deck
Now playing
Wizards in Winter
PreviousRestartPauseNextStop
Live queue
1Mary, Did You Knowfrom the curbPlaying
2Carol of the Bellsrequested 0:30 agoPlay ›
3Sleigh Riderequested 1:10 agoPlay ›
Show controls and volume on top; Now Playing and the live queue below. Tap Play on a request to jump it to the front.
  • Show controls — previous, restart, pause, next, and stop, all in one row.
  • Volume — the slider mirrors the volume on your player both ways. Nudge it up at showtime, or turn the box knob down and the slider follows.
  • The live queue — Now Playing and every pending request together. Play a request to jump it to the front, remove one, or clear the lot.
  • Up next · tonight’s playlist — a numbered, ever-present list of your scheduled rotation, read straight from your SET:IQ plan. It’s a revolving door: it follows the song on air, then wraps back to the top of the playlist, so it never runs dry — and it stays put even while a request is playing. Hover (or tap) any row and a Jump here control appears — one tap sends the show straight to that song, no waiting for the queue to drain.
  • Fire a PSA — play an announcement sequence next, ahead of the queue. Tag a sequence psa in your catalog, pick it from the strip, and hit Play now — good for a quick “we’re live till 9” without leaving the booth.

The pre-show check

The Live console opens with a Pre-show check — a quick readiness list so nothing’s missing when the curb shows up. It confirms your FPP plugin is connected (a box that’s standing by reads idle, which is fine), your sequences are synced, your public link is claimed, requests are armed, and the volume is up. Each item links to where you fix it, and the whole thing tucks away once everything’s green.

Start a show — launch the night

Before the show starts, the Live tab opens with a Start a show launcher. It counts down — “Tonight’s show starts in 0:42:15,” or “Ready when you are” once you’re past showtime — and previews tonight’s setlist, so you can see what’s about to play while the curb fills in.

  • Start Tonight’s Show kicks the night off from the yard — no walk back to FPP. It jumps your box straight to tonight’s planned playlist. (No plan tonight? It reads No show tonight and points you at another night.)
  • Play a Different Show opens a calendar of your season. Tap any night that has a planned setlist to run that playlist on the box right now — a one-time run of whatever SET:IQ pushed to FPP for that night. Good for testing, or re-running last night’s set.
  • Stop the box sits at the bottom to end the run, and the whole launcher steps aside once the show is genuinely on air.

How the next song is picked

Pick one of three modes on the Live deck. You can switch any time, and the viewer page rearranges to match.

  • Queue — plays requests in the order they came in, jukebox-style. The simplest way to run.
  • Vote — runs a Crowd Pick round every time, so the curb votes on every next song.
  • Auto — does both. It flips to voting once enough people are watching, then falls back to the queue on quiet nights so a near-empty street still gets songs. The viewer button follows along: it reads Nominate for the vote while voting is live and flips back to Request this song the moment Auto drops back to the jukebox.

Safeguards — keep the queue sane

The Safeguards drawer opens right from the Live tab, so the rules sit where you’re already running the show. Start from a preset — Relaxed, Standard, or Strict — then tune any knob:

  • Queue depth — how many pending songs can wait at once. When the queue is full, new requests are turned away until a slot opens.
  • Per-viewer limits and request spacing — cap how many songs one person can request, and how fast.
  • Same-song cooldown — after a song plays, nobody can request it again for a set time.
  • Back-to-back prevention — stops the same song from playing twice in a row.
  • Song fatigue — auto-hide a song after a set number of plays in a night. That’s where “Retired for tonight” comes from.
  • Auto-Voting — turn Auto mode on or off and set the viewer count where it flips from queue to voting. Override it per night from the Schedule drawer.
  • Geofencing — keep the show local. Stand at your display, tap Use my current location to set the pin, pick a radius (0.25 mi is a good default), and viewers farther out can’t request songs or stream the phone audio — a live listen stops shortly after someone leaves the area. You choose what happens when a phone has no location: allow the request (the default) or block it. Off by default, and it does nothing until the pin is set. Viewer locations are checked in the moment and never stored.

Lock requests by tag

Want a kids-only early run, or an all-spooky set? On the Live deck, tap one or more tag chips to limit what viewers can request. The viewer page only offers songs that match until you switch the locks back off. Leave them all off to allow everything.

Live announcements

The megaphone on the Live deck sends a banner to every viewer page at once — “turn your radio to 88.1,” “last song at 9,” that sort of thing. Save the messages you reuse, and clear the banner with one tap when it’s done.

Preview — watch the show live

The Preview tab renders the sequence your box is playing right now — your whole yard as a live pixel view, running off the same show clock the viewer phones use. It’s the fastest way to check that your lights, lyrics, and audio all line up without standing in the driveway, and it works from the studio or your phone.

  • 3D or 2D. Preview opens in true 3D — drag to orbit the yard, scroll to zoom — so matrix panels and fence runs keep their real shape. Flip to a flat 2D view any time.
  • Synced lyrics. Turn on the lyric overlay to see the karaoke line land against the live show, so you can spot timing drift before your viewers do.
  • Optional audio. Play the song in your browser, locked to the same clock, to check lights and sound together. Leave it off and the lights and lyrics still come up right away.
  • Any rendered song. Preview shows a song once its render is on file. A song with no render yet shows a short empty state pointing you to where you add one.

More in the booth

  • Analytics — a Tonight / Season view of your show. See how much demand your safeguards turned away and why, an engagement funnel from page view to played song, the night’s request arc, new-versus-returning visitors, and a sortable per-song scorecard of requests, plays, skips, and fatigue — plus Crowd Pick margins and turnout once a round has run. Great for spotting safeguards set too tight.
  • Suggestions — review viewer pitches: Accepted, Declined, or Already have it.
  • Branding — make the viewer page look like your show, not ours: your name, colors, and links. It also builds a Yard-sign QR code for your viewer page — pick a style (Classic, Signal Red, Midnight, Evergreen, Plum, or Custom colors), drop your logo in the middle, and download it as a PNG or SVG for a sign or a stream overlay.

FAQ

A request was rejected with 'queue full.'

That’s the queue-depth safeguard doing its job: it caps how many pending songs can wait at once. When one plays, a slot opens up.

What's the difference between cooldown and spacing?

Same-song cooldown is per song: after it plays, nobody can request it again for that long. Request spacing is per person: one viewer can’t fire requests faster than the interval you set.

A song shows as 'fatigued' or 'Retired for tonight.' What now?

It hit your per-night play limit, so it’s resting until tomorrow. On the viewer page it appears dimmed with a “Retired for tonight” label so people know why they can’t request it. Even “Feliz Navidad” needs a breather. Raise the fatigue threshold in Safeguards if you disagree.

How does Crowd Pick voting work?

Set the night to Vote (or Auto with enough viewers) and the page shows a head-to-head between a few songs instead of the open grid. Viewers tap to vote, the tallies grow live, and the winner plays next. Each viewer gets one free vote per round, and voting doesn’t count against their request limit.

What's the difference between Queue, Vote, and Auto?

Queue plays requests in order, jukebox-style. Vote runs a Crowd Pick round every time. Auto does both — voting when the crowd is big enough (you set the viewer threshold in Safeguards) and the queue on quieter nights.

How do I play a specific request right now?

Live tab → find it in the queue → Play. It jumps to the front and interrupts (or waits — your choice in Safeguards).

Can I skip ahead to a song in my scheduled rotation?

Yes. On the Live tab, find it in the Up next list and hover (or tap) the row, then tap Jump here. The show jumps straight to that song on your player. This is for the scheduled rotation — for a viewer request, use Play in the live queue instead.

Can I change the volume from REQ:IQ?

Yes. The volume slider on the Live deck controls your player, and it mirrors both ways — turn the knob on the FPP box and the slider follows along.

Can I limit requests to certain songs for a while?

Yes. On the Live deck, use Lock Requests by Tag and pick the tags you want — say, “kids” for an early-evening run. The viewer page only offers songs that match until you switch the locks back off.

Can viewers request when I start the show outside its planned hours?

Yes. If your box is actually playing — an early start, a re-run of last night, a test — requests stay open, even outside the window SET:IQ planned. A running show always wins over the schedule clock. The one exception is a manual Open/Closed override, which is your explicit kill switch either way.

How do viewers hear the music — do they still need FM?

FM still works like always. But with phone audio on (the Audio tab), viewers can also tap Listen along on your phone under Now Playing and hear the show from their own phone, in sync with the lights. Use both — FM for cars, phones for the sidewalk.

How much data does Listen along use?

About 5 MB per song — the phone downloads each song once and plays it locally. There’s no continuous stream running, so an hour of listening is roughly an album’s worth of data, not a movie’s.

Phone audio doesn't line up with my yard speakers.

That’s what the PA offset on the Audio tab is for. Stand by your speakers with a listening phone and step the offset until they lock — changes apply live, no restart needed. Amps and FM chains add their own delay, so every yard needs a slightly different number.

Why did a viewer's audio stop when they drove away?

If geofencing is on, phone audio follows the same rule as requests — it’s for people at the show. A live listen re-checks location every couple of minutes and stops once someone is clearly outside your radius (with slack built in, so a bad GPS reading at the edge of the fence never cuts audio on someone who’s actually there).

The page says the show is offline but my lights are clearly on.

A box that’s actively playing a song now stays online even if its heartbeat lags a little, so a true “offline” means no heartbeat is arriving at all. Check that your plugin is running, then toggle REQ:IQ off and on from the plugin page — on FPP, or on the native xSchedule plugin. A box standing by before the show reads idle, not offline — that’s normal.
Stuck? Email support@lightsofelmridge.com — a real human reads it. Usually the same human who wrote these docs.