THE NITETIME ORGAN CONTROL SYSTEM ================================= A MACHINE THAT PLAYS THE NIGHT There is now an organ in the NITETIME.NET machine room that can play itself. Not metaphorically. Not as a soundtrack triggered by somebody sitting at a keyboard. A real MIDI-controlled pipe organ is connected to a small computer, and the computer selects, plays and transitions between pieces while the station remains online. The machine has a controller, a MIDI player and a catalog of files. It knows what is playing. It knows what is next. It remembers what has already happened. It can skip, recover, restart and continue after an ordinary failure. That sounds like a software project. It is also a tiny broadcast organism. THE OLD VERSION =============== The original arrangement was simpler: a random-player process chose a MIDI file and sent it to the organ. If it stopped, somebody had to notice. If a filename contained spaces or an unusual character, the shell could become part of the problem. If several copies of the same file existed, the machine treated them as separate discoveries. That is acceptable for an experiment. It is less acceptable for a station that is supposed to keep playing in the middle of the night. The new system treats playback as a service rather than a command typed into a terminal. THE ORGAN CONTROL SERVICE ========================= The service is called `nitetime-organ.service`. It is enabled for login persistence and currently active. The intended state is deliberately small: one controller and one `aplaymidi` child. That matters. Machines become mysterious when nobody knows which process is in charge. An old player keeps running in one terminal. A new player starts beside it. Two processes send notes to the same instrument. The organ receives an argument between ghosts. The control system enforces a singleton lock, cleans up its own child, records history and has a clean stop path. Recovery is part of normal operation, not an emergency ritual. THE CATALOG =========== The catalog currently contains 68 file locations representing 65 unique SHA-256 contents. That distinction is important. A file may be copied, renamed or placed in a different directory without becoming new music. The system follows the content rather than trusting the filename. It also handles both `.mid` and `.midi`, subdirectories, spaces and unusual filenames. For each piece, the machine can inspect duration, tempo, tracks, text and copyright fields, channels and instrument programs. Metadata is cached separately from interpretation, so understanding a file does not require replaying the entire discovery process. Unknown results are cached too. Temporary failures receive bounded retries instead of an infinite loop that quietly consumes the station. THE MACHINE HAS A MEMORY ======================== The system keeps two kinds of knowledge apart. One is mechanical knowledge: what the MIDI file contains and how long it plays. The other is interpretive knowledge: what a language model thinks the piece might be, what title or composer it resembles, and what historical story could be attached to it. The separation is a safeguard. Ollama, running `qwen3:4b`, now performs its analysis asynchronously with capped output. The analysis cannot interrupt playback because background processing is serialized and kept outside the real-time path. The model may suggest facts. The model does not get to broadcast them. Facts remain stored, but they are never aired unless a human manually verifies them with a source. Manual corrections remain authoritative even after forced reanalysis. The computer is allowed to wonder. It is not allowed to turn a guess into station history. CURRENT AND NEXT ================ The overlay receives atomic updates describing the current piece and the piece waiting behind it. That makes the display follow actual playback transitions instead of merely displaying what the scheduler intended to play. This is a small but meaningful difference. There are always two versions of reality in an automated system: WHAT THE MACHINE PLANNED and WHAT THE MACHINE ACTUALLY DID. The organ control system tries to make those states agree, and when they do not, it records enough information to recover. THE OBS WINDOW ============= OBS was not running locally during testing, so the overlay listens on the LAN instead of assuming that the production video workstation is attached to the same process tree. The Browser Source is: http://192.168.4.126:8787/overlay.html At 1920 by 1080, with transparency enabled, it can sit over the broadcast without requiring custom CSS. The organ plays in one room. The status travels across the network. A viewer sees the current state somewhere else. The system is therefore not one machine so much as a chain of agreements between machines. THE OPERATOR'S DOOR =================== The service remains understandable from the command line: cd /home/organ/nitetime-organ ./organctl status ./organctl start ./organctl stop ./organctl restart ./organctl skip ./organctl logs ./organctl scan ./organctl analyze An operator can analyze the catalog or target a single MIDI file. A verified correction can be supplied with a title, artist, year, genre, fact and source URL. That last part is worth emphasizing. Automation is most useful when it leaves behind a door for responsible human intervention. WHAT WAS TESTED =============== The integration suite passes. Real playback transitions were tested. OBS-state synchronization was tested. Clean stop, skip, child cleanup, singleton locking, recovery and history were tested. The original MIDI files remain untouched. The former random-loop terminal session was stopped. Suspended historical processes were not blindly killed. The exact old command could not be recovered because its interactive shell had no history file, but direct playback remains available through `aplaymidi`. This is not glamorous engineering. It is the kind that keeps a machine from producing a fascinating failure at 3:17 in the morning. WHY AN ORGAN? ============= An organ is already a strange computer. It accepts instructions. It turns timing into movement. It converts abstract sequences into air, vibration and physical sound. A MIDI file is a little program waiting to be interpreted by wood, pipes, valves, electricity and breath. Connecting it to a catalog and a network adds another layer of behavior. The instrument no longer waits for a person to decide what it should do. It becomes part of the station's continuous state. The result is not artificial intelligence. It is not autonomous art. It is something more modest and, in its own way, more interesting: a wooden broadcast machine with a memory, a schedule and a night shift. THE NIGHT SHIFT =============== Most systems are judged by whether they work when somebody is watching. The NITETIME organ is judged by whether it keeps working after the room goes dark. One controller. One player. A catalog that knows duplicates from discoveries. An interpreter that can speculate without rewriting history. An overlay that tells the truth about the transition. And a service that can be stopped cleanly when the experiment is over. That is enough to make the organ feel less like an instrument somebody owns and more like a station somebody visits. The night is playing something. The machine knows what it is. NITETIME.NET THE NITETIME ORGAN CONTROL SYSTEM OBSERVATION: An old instrument can become a network service without ceasing to be physical. SPECULATION: Once a machine can remember what it played and explain what it found, it has begun to resemble an archivist. OPEN QUESTION: When the organ plays after everyone has gone to bed, who exactly is the audience?