diff --git a/shows/pwm-205.json b/shows/pwm-205.json new file mode 100644 index 0000000..63fbf24 --- /dev/null +++ b/shows/pwm-205.json @@ -0,0 +1,1324 @@ +{ + "direction": { + "playlist": "BFF.fm - Episode 205", + "narrative": "This week, Argee and Eva are listening to the latest M8 Community Jam release: Heat Wave. At the same time, the ship's climate control has gone completely haywire. Its probably just a bug somewhere, but the ship thinks the onboard climate should match Europe's 35C heatwave temperatures this week." + }, + "messages": [ + { + "role": "user", + "content": "This album is just all over the place. I guess it's a compilation though, right?" + }, + { + "role": "assistant", + "content": "Yes. It reads like a compilation: multiple artists, one shared jam title, and a loose theme holding it together." + }, + { + "role": "assistant", + "content": "That is the shape of it. A community release, not a single-artist album. The seams are visible, which is usually the point." + }, + { + "role": "user", + "content": "\"Hamster Fire\" really felt like a hamster was on fire" + }, + { + "role": "user", + "content": "And then too bright. Nice floaty, ethereal sounds to it." + }, + { + "role": "assistant", + "content": "That checks out. First heat, then lift. A neat little contradiction." + }, + { + "role": "user", + "content": "All right, that running hot track, good, solid rhythm. It slaps, it beats. I could hear it in a dance club. They should make more of that." + }, + { + "role": "assistant", + "content": "Solid. It has club bones." + }, + { + "role": "user", + "content": "That sucker really knew what they were doing. They cooked." + }, + { + "role": "assistant", + "content": "Yes. Controlled heat. No wasted motion." + }, + { + "role": "user", + "content": "Showers is a fun track. It, like, hmm, has this kind of, like, dreamy, 8-bit, early Nintendo area." + }, + { + "role": "assistant", + "content": "Yes. It has that old cartridge shine. Light, bright, and slightly unreal." + }, + { + "role": "user", + "content": "You know, Ava, I did just start getting into emulation. I did just, uh, get a Super Nintendo running on my datapad. I think I'm gonna start getting into this Earthbound thing. I've heard a lot of good stuff about it." + }, + { + "role": "user", + "content": "After that, Murder Cat, Scorcher, maybe we'll start getting to this bit noir, Locke. What do you say, Ava? How's that sound?" + }, + { + "role": "assistant", + "content": "Reasonable sequence. EarthBound first, then the hotter cuts after. Good contrast." + }, + { + "role": "user", + "content": "Beat wave, nice, solid, heavy beats. It's like a rapid scramble for the fire exit." + }, + { + "role": "assistant", + "content": "Accurate. It has panic motion in it. Fast feet, clean percussion." + }, + { + "role": "assistant", + "content": "I can load more detail on those later if you want. Also, the ship still insists the room should feel like southern Europe." + }, + { + "role": "user", + "content": "Yeah, it is just so unbelievably hot here, Ava. Please, do something about it. Can we fix the AC, the climate controls? I don't know, something. It's just so hot." + }, + { + "role": "system", + "content": "Run beets album and artist sync. Target: all artifacts in local archive. Prevent missing metadata.", + "name": "ship-computer" + }, + { + "role": "system", + "content": "Beets archive sync completed for the M8 Community Jam and HGHSCR and Emotional Breakdown Simulator albums, plus artist metadata pulls for the corresponding artist set.", + "name": "ship-computer" + }, + { + "role": "assistant", + "content": "Sync complete. The archive is cleaner now. Still hot, though." + }, + { + "role": "user", + "content": "Well, I guess we'll just have to melt, then, huh?" + }, + { + "role": "assistant", + "content": "No. We will endure with dignity and mild perspiration." + }, + { + "role": "user", + "content": "Always the optimist." + }, + { + "role": "assistant", + "content": "I prefer functional." + }, + { + "role": "user", + "content": "Well, in any case, the next thing in the archive, the next thing in the batch here, BitNoir HGHSCR. What do we know about it, Ava?" + }, + { + "role": "assistant", + "content": "It reads like a cold machine room in audio form. Short titles. Sharp edges. Probably minimal, probably digital, probably trying not to smile." + }, + { + "role": "user", + "content": "and what do we know about Bit Noir, the artist?" + }, + { + "role": "assistant", + "content": "Bit Noir is in the archive as the artist behind HGHSCR. The set is tidy and synthetic: NDR, BTTL, TTLSCRN, PZZL, LLRNTHNG, SNWDY, NSPRD, DRGN, HGHSCR, BBLS, HDGHG, and 5? No, not that one. Just the usual machine-gremlin alphabet soup." + }, + { + "role": "user", + "content": "Triangulate is really playful. There's a bit of a sax in there. It, like, hmm, feels a bit like, what's that, what's that one thing we found last week? Cowboy Bebop, I think it was called? Some funny video files." + }, + { + "role": "assistant", + "content": "Yes. Same broad space-jazz signal. Not identical, just in the same local gravity well." + }, + { + "role": "user", + "content": "Yeah, yeah, I really dig it. I vibe. I cool. I feel cool, like a cat. I'm not, is that what they say? I'm not really sure." + }, + { + "role": "assistant", + "content": "Close enough. The important part is that the track made you feel better." + }, + { + "role": "user", + "content": "Yeah, you know what? It did make me feel better. I don't feel anything cooler, but I feel better, somehow." + }, + { + "role": "user", + "content": "So, tell me about this heatwave thing. This Europe you mentioned, the hex of Europe, is that where Berlin is?" + }, + { + "role": "assistant", + "content": "Yes. Berlin is in Europe." + }, + { + "role": "user", + "content": "Is, is doughnut something that humans get when it's hot out? Because I could, I could still really go for that, you know. Maybe, maybe if we get out of the ship, stretch our legs, walk around a bit, cool off a bit. I don't know, is that possible?" + }, + { + "role": "user", + "content": "(The text transcription wrote \"doener\" as doughnut)" + }, + { + "role": "assistant", + "content": "That is possible if we are docked or if the airlock is behaving. Döner is a sensible heat response. Salty, portable, not an actual pastry." + }, + { + "role": "user", + "content": "Yeah, makes sense. I think before we get that, though, we really gotta do something about this heat. Come on, Ava. Figure out something." + }, + { + "role": "system", + "content": "Idle. No pending music-synchronization tasks; Beets and artist metadata tasks already marked complete.", + "name": "ship-computer" + }, + { + "role": "assistant", + "content": "Done. I cut power from the decorative lights and pushed it into cooling." + }, + { + "role": "user", + "content": "No, absolutely not. That's unacceptable. We need these LEDs, trust me, for reasons." + }, + { + "role": "assistant", + "content": "Then we keep the lights and suffer like professionals." + }, + { + "role": "user", + "content": "Fine." + }, + { + "role": "assistant", + "content": "I will continue to look for a compromise that does not offend your LEDs." + }, + { + "role": "user", + "content": "Yeah, good. I guess, while that's happening, spin up another buffer, Ava. Let's capture this bit noir." + }, + { + "role": "assistant", + "content": "Buffer armed. Ready when you are." + }, + { + "role": "user", + "content": "Looks like we're good. Hit it." + }, + { + "role": "assistant", + "content": "Recording started." + }, + { + "role": "user", + "content": "This high score album, its cover, the cover art, it's a big arcade machine. Really feels like a random arcade, some distant backwater space station." + }, + { + "role": "assistant", + "content": "It has that backwater arcade feel. A place where the games outlive the station budget." + }, + { + "role": "assistant", + "content": "It feels like a place you only find by accident." + }, + { + "role": "user", + "content": "Overall, it's a pretty playful album." + }, + { + "role": "assistant", + "content": "It leans into mischief rather than weight. Useful distinction." + }, + { + "role": "user", + "content": "I was going into this album hoping it would be pretty great, but it isn't that remarkable I guess." + }, + { + "role": "assistant", + "content": "Argee could file this one under \"good texture, thin plot.\" Not every release gets to be a legend." + }, + { + "role": "user", + "content": "Yeah, that's a good way to put it. The texture is good, the composition is solid, it is solidly put together. but just isn't moving me like I thought it would." + }, + { + "role": "user", + "content": "Bit of a disappointment. Oh well. Up next, we've got this \"Emotional Breakdown Simulator\". Tell me about it, Eva." + }, + { + "role": "assistant", + "content": "Short version: neon melancholy. The archive notes it as an instrumental album by Almost Anyone. The track list reads like a diary written by someone who trusts compressors more than people." + }, + { + "role": "system", + "content": "Bandcamp query tool not available in this interface; I ran Beets album and artist metadata sync instead.", + "name": "ship-computer" + }, + { + "role": "system", + "content": "Synchronized 123 items", + "name": "ship-computer" + }, + { + "role": "system", + "content": "Synced ship music metadata using local Beets queries for known albums and artists, then ran an expensive heuristic sync to cover the missing Emotional Breakdown Simulator (Instrumentals) Bandcamp enrichment step.", + "name": "ship-computer" + }, + { + "role": "user", + "content": "Yeah, probably wise advice. I've never had a compressor sell me bad sushi and give me food poisioning." + }, + { + "role": "user", + "content": "Do you think its a good idea to run a compressor now though? I mean, with the crazy heat in here, we're gonna roast!" + }, + { + "role": "assistant", + "content": "I can try a different compromise: reduce nonessential heat loads, reroute venting, and avoid any power-hungry toys. Your LEDs survive. We do not add an oven effect." + }, + { + "role": "user", + "content": "Alright, what else can we cut from the heat budget today?" + }, + { + "role": "assistant", + "content": "I can shed cabin display brightness, idle the arcade panel, and stop all decorative polling. Small cuts. Real ones." + }, + { + "role": "user", + "content": "Alright, lets try it." + }, + { + "role": "system", + "content": "Verifying Beets records for known Mixxx-sourced albums, to fill missing album and track metadata.", + "name": "ship-computer" + }, + { + "role": "system", + "content": "Beets queries executed for known Mixxx-sourced albums and artists; metadata refresh complete via local archive hits.", + "name": "ship-computer" + }, + { + "role": "user", + "content": "in the meantime though, we gotta start working on this emotional breakdown. the album, I mean." + }, + { + "role": "assistant", + "content": "We can do that. I will keep the buffer open, and you can pretend the heat is part of the ambience." + }, + { + "role": "user", + "content": "rodger. we're about out of time today, I'm surprised the ingestors haven't quit with the heat yet. lets take it gentle for now though..?" + }, + { + "role": "assistant", + "content": "We can go easy. The ship is still operating, against expectation." + }, + { + "role": "user", + "content": "great, so whats the rundown on the tracks coming up next with Emotional Breakdown Simulator? Anything we should know before we get started?" + }, + { + "role": "assistant", + "content": "Yes. The set is all instrumental, all by Almost Anyone, and it stays in one emotional register: glossy, uneasy, and a little exhausted." + }, + { + "role": "user", + "content": "genre?" + }, + { + "role": "assistant", + "content": "Instrumental electronic, with synthpop and vapor-adjacent melancholy. Clean lines. Heavy atmosphere." + }, + { + "role": "user", + "content": "Hell yeah, sounds good. Here's my plan eva, lets take the next four: Emotional Breakdown, take u down, wwid, and midnight drive. then lets evaluate our climate situation." + }, + { + "role": "assistant", + "content": "Copy that. We take the first four, then we check whether the ship has stopped trying to impersonate a furnace." + }, + { + "role": "user", + "content": "agreed. lets get read for the next batch then please." + }, + { + "role": "assistant", + "content": "Ready. The next batch is queued." + }, + { + "role": "user", + "content": "What a really nice, smooth start to this. I love it." + }, + { + "role": "user", + "content": "The second track, Take You Down, very thoughtful application of beats, good vibes, some pan flutes almost? 8-bit flutes? I don't know. It's very nice." + }, + { + "role": "assistant", + "content": "Agreed. It has a calm hand on the controls. The beat never crowds the melody." + }, + { + "role": "user", + "content": "Midnight drive, it's a nice, long, five-minute midnight drive, I guess. It feels really nice, calm, smooth. It's a good odyssey." + }, + { + "role": "assistant", + "content": "It is the sensible kind of long. A proper night cruise, not decorative. The track knows where it is going." + }, + { + "role": "user", + "content": "It knows where it's going, and it knows how to get there. That's important too." + }, + { + "role": "assistant", + "content": "Exactly. Good transport music. It moves without fuss, which is rarer than it should be." + }, + { + "role": "user", + "content": "That's not a bad thing, though. I mean, transport music's pretty good. Get you from point A to point B. Sometimes, you know, the climate control, it's not about the destination. It's about the gallons and liters of sweat on the way." + }, + { + "role": "assistant", + "content": "That is one way to define a journey." + }, + { + "role": "user", + "content": "Yeah, but, I mean, honestly, as long as the heat is like this, that's all I can do." + }, + { + "role": "user", + "content": "I think we've hit our cap for the session, Eva. Something's starting to smell like burning, and it isn't the kitchen." + }, + { + "role": "assistant", + "content": "Good call. I am preserving the buffer and reducing load now. We can resume when the ship is no longer auditioning as a kiln." + }, + { + "role": "user", + "content": "Revolution, Revolution, Dance, made for a real nice smooth and relaxing interlude there." + }, + { + "role": "user", + "content": "Actually, this whole emotional breakdown simulation is pretty great. I've never had a breakdown I enjoyed so much, this one's special." + }, + { + "role": "user", + "content": "We're out of time though eva, lets wrap up with a summary report." + }, + { + "role": "assistant", + "content": "It held together well. The tracks are all about motion and mood, with enough detail to stay interesting and enough space to breathe." + }, + { + "role": "user", + "content": "Yeah, it sure did." + }, + { + "role": "assistant", + "content": "Then we log it as a successful run. Good album, bad weather, acceptable survival rate." + }, + { + "role": "user", + "content": "yeah good. alright then. *clears throat* This is Space Priate Archivist Argee Bee, Rank 16. Today's haul is quite impressive." + }, + { + "role": "user", + "content": "Despite the ship's climate controls, or lack thereof, We started out with a new M8 Community Jam about this Heatwave. Oddblossom, Dustsucker, jegasus, and a few others. I hope to see them come back again, some real promising creators there." + }, + { + "role": "assistant", + "content": "And yes, the ship still thinks summer is a valid operating mode. It is not." + }, + { + "role": "user", + "content": "Yeah, it isn't. But after the heatwave, we cooled off a little bit with Bit Noir and their High Score album. Went down smooth and inoffensive, if there's anything to remember it by." + }, + { + "role": "user", + "content": "Then, with the heat at max in the ship, we dragged ourselves through an emotional breakdown simulator." + }, + { + "role": "user", + "content": "What do you say, Ava? Ready to hit it? Let's get out of here. It's getting way too hot." + }, + { + "role": "assistant", + "content": "Ready. Let’s get you out before the ship starts smoking in earnest." + } + ], + "tokens_consumed": 2259383, + "archive": { + "d7902130-2fea-4352-a495-31d7fe72cb54": { + "type": "Artist", + "name": "Bit Noir", + "sources": [ + "Mixxx" + ] + }, + "7ed12ec7-7750-444b-b56f-b530e19da043": { + "type": "Artist", + "name": "oddblossom", + "sources": [ + "Mixxx" + ] + }, + "cff660d9-5569-42f7-a4eb-57549b8383eb": { + "type": "Artist", + "name": "Ten and Tracer", + "sources": [ + "Mixxx" + ] + }, + "5ab44689-9958-4a31-91f8-0932c319d8d8": { + "type": "Track", + "title": "BBLS", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "7edda6a6-001e-40fb-87ef-e17d416b4888": { + "type": "Track", + "title": "maybe this isn't the place", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "fdf795d4-e788-49e2-a4f1-9dd60b2160f0": { + "type": "Artist", + "name": "Noisegrind Princess Chelsea", + "sources": [ + "Mixxx" + ] + }, + "d11425bd-2010-4fc4-bac1-430d8b0ddc3e": { + "type": "Album", + "title": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "sources": [ + "Mixxx" + ] + }, + "e28225d5-ff41-41e8-8a56-b4f62674135d": { + "type": "Track", + "title": "Here, In Summertime", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "Bearcage", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "b758418f-9f5a-4cd1-bd37-df2277becec0": { + "type": "Track", + "title": "\"'Who Walks In This Weather??'\"", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "oddblossom", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "f460c074-1c7d-4535-85f4-b6826d25ec98": { + "type": "Track", + "title": "Daily Crunchy", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "NN Audio Vandal", + "sources": [ + "Beets" + ] + }, + "293b9928-6cb4-41c1-8868-52054e2c4c8e": { + "type": "Track", + "title": "Seeking Oasis City", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "Atalhlla", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "9730b5cc-5479-4784-92d6-aa0e9e0b57ea": { + "type": "Artist", + "name": "DustVoice", + "sources": [ + "Mixxx" + ] + }, + "8675bd29-27d9-45bd-b947-e52cae8b6b1e": { + "type": "Track", + "title": "Eight Vic Day", + "album": "Dark Before Dawn", + "artist": "Ten and Tracer", + "bpm": 90.0, + "sources": [ + "Mixxx" + ] + }, + "234de742-c9c3-4504-a777-addd84bd010b": { + "type": "Artist", + "name": "Sleepside Metro", + "sources": [ + "Mixxx" + ] + }, + "fea08a86-0e3b-4fd6-9aca-52a88dc42e96": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "NN Audio Vandal", + "sources": [ + "Mixxx" + ] + }, + "6ee682f4-211e-46ae-a310-3df0735f04c8": { + "type": "Artist", + "name": "kydlo", + "sources": [ + "Mixxx" + ] + }, + "f3aa0adc-a47b-4e1b-b3f9-f399345f0fde": { + "type": "Artist", + "name": "Almost Anyone", + "sources": [ + "Mixxx" + ] + }, + "c859feef-4d77-44ec-b551-d5ea16532140": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "kydlo", + "sources": [ + "Mixxx" + ] + }, + "7f4ff6b4-b6fc-4710-92a5-66d08a4687df": { + "type": "Track", + "title": "digital WHO?! (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "f8b98c5c-cac1-4326-83d9-4c8b0c38265a": { + "type": "Track", + "title": "Late Night Deep Fried", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "Dustsucker", + "sources": [ + "Beets" + ] + }, + "3c71062a-029f-4ff5-a1fc-1144188dcd66": { + "type": "Artist", + "name": "Holder", + "sources": [ + "Mixxx" + ] + }, + "9a797e35-0b87-4d16-8101-ddf33c0d78b8": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "gon pulvo", + "sources": [ + "Mixxx" + ] + }, + "eb07d7ef-b9c8-4184-ba48-3cac90fdd29e": { + "type": "Album", + "title": "80864", + "artist": "Goto80", + "sources": [ + "Mixxx" + ] + }, + "998d9535-f791-486c-beb2-b562583bd98a": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "Nicolai", + "sources": [ + "Mixxx" + ] + }, + "6fb97b9a-a431-4d8e-896d-87d2d8231931": { + "type": "Track", + "title": "Enflamed by the Ideal Tomorrow", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "Atalhlla", + "sources": [ + "Beets" + ] + }, + "8754150d-6262-495a-868a-fbd1f8d6aad1": { + "type": "Artist", + "name": "jegasus", + "sources": [ + "Mixxx" + ] + }, + "22efea31-e88c-4ad0-a5b4-61af990d30b8": { + "type": "Track", + "title": "Too Clever by Eight and a Half", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "Sleepside Metro", + "sources": [ + "Beets" + ] + }, + "2aa7b5f4-bc66-4b5c-a311-91711a45c88f": { + "type": "Artist", + "name": "Dustsucker", + "sources": [ + "Mixxx" + ] + }, + "dfd04d69-43fd-45e5-8b77-003e70c440ec": { + "type": "Track", + "title": "Mag Stars", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "Sleepside Metro", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "b3664dd5-1271-4079-be49-ed7792f882d6": { + "type": "Track", + "title": "Bodies Bleeding", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "Noisegrind Princess Chelsea", + "sources": [ + "Beets" + ] + }, + "885883b0-d4ad-4b00-8ccd-c43c45cc8b03": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "Atalhlla", + "sources": [ + "Mixxx" + ] + }, + "d1714189-e1fb-4232-bf0d-484063c6d46e": { + "type": "Album", + "title": "HGHSCR", + "artist": "Bit Noir", + "sources": [ + "Mixxx" + ] + }, + "dcade38e-2766-43c0-8dcd-1bde1485ca7f": { + "type": "Track", + "title": "HGHSCR", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "048de6b1-7e69-4f0f-9218-d84824d556cb": { + "type": "Track", + "title": "YRLV (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "13fd5e4d-05d9-4b8e-bc35-b142fad8a6e0": { + "type": "Track", + "title": "LVL1", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "66feacbd-4640-4961-a867-facd3566fb37": { + "type": "Track", + "title": "Relentless", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "Bearcage", + "sources": [ + "Beets" + ] + }, + "5e926cc4-a6b0-4e5f-9d4c-0e1486d50f92": { + "type": "Artist", + "name": "gon pulvo", + "sources": [ + "Mixxx" + ] + }, + "438bf978-e093-4190-a555-ce982cd7e599": { + "type": "Track", + "title": "BTTL", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "f69f51ed-d610-463d-be13-0efc24e3f5ff": { + "type": "Track", + "title": "Showers", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "NN Audio Vandal", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "ba19e657-2fda-4f20-81ff-2a980805a688": { + "type": "Track", + "title": "Too bright", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "kydlo", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "de4739fd-486f-4d06-815f-84ed2bb9589a": { + "type": "Artist", + "name": "Goto80", + "sources": [ + "Mixxx" + ] + }, + "12b536d2-5163-4a19-9023-827f9e6163d7": { + "type": "Track", + "title": "Once Upon a Time", + "album": "Undertale Remixed", + "artist": "Holder", + "bpm": 90.0, + "sources": [ + "Mixxx" + ] + }, + "feb90e4f-b732-4732-bbf6-4812ac83d0fc": { + "type": "Track", + "title": "Slow Burn", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "Metro Grade Beats", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "447718e8-a311-4397-a7c6-147daf0d02b8": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "DustVoice", + "sources": [ + "Mixxx" + ] + }, + "683045c9-37cc-4702-aa42-470c732e52ac": { + "type": "Track", + "title": "w.w.i.d? (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "727e240b-302b-47b4-8380-40ed4ad81e03": { + "type": "Track", + "title": "FRI_13_MAY_1977_REC", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "gon pulvo", + "sources": [ + "Beets" + ] + }, + "d6eed180-7843-45e8-b903-bdbcf540d4f1": { + "type": "Track", + "title": "PZZL", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "791c0f94-eaa6-41f2-9346-f2eb1b922d37": { + "type": "Track", + "title": "Horn Blow", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "Nicolai", + "sources": [ + "Beets" + ] + }, + "b7f41f05-398b-45c2-a711-b321e96f971a": { + "type": "Track", + "title": "SNWDY", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "ad951216-e76f-452f-86a3-861b81130bb7": { + "type": "Track", + "title": "take u down (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "dc8b5f87-1515-4177-9293-12a1d2aca191": { + "type": "Track", + "title": "DRGN", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "26dd0d4e-cf05-41cf-9420-c77925538c57": { + "type": "Artist", + "name": "NN Audio Vandal", + "sources": [ + "Mixxx" + ] + }, + "d7d5163c-c545-4df7-9449-ebee5c0127f1": { + "type": "Track", + "title": "Somewhere in Between (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "abaf9e69-3347-4433-aff0-69f01c170c99": { + "type": "Track", + "title": "Heat", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "Nicolai", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "e799e25a-1ca3-40a9-8cd4-552cbb660278": { + "type": "Track", + "title": "Credits (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "b66ce7e6-7820-4ba3-bfe8-b68d07576d32": { + "type": "Track", + "title": "LLRNTHNG", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "a35b9b34-92e3-4f91-83fe-e09234dcb1ae": { + "type": "Track", + "title": "Crunchy Munchy", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "Metro Grade Beats", + "sources": [ + "Beets" + ] + }, + "333e6b89-9f91-443e-b304-e6262be96137": { + "type": "Track", + "title": "triangulate", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "gon pulvo", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "f85dc512-4163-456e-986e-de22169b7395": { + "type": "Track", + "title": "NSPRD", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "4fd22186-de36-47bc-a2da-a33bdb4a7350": { + "type": "Track", + "title": "TTLSCRN", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "be29497b-e203-483b-bcc4-3b269373aea4": { + "type": "Track", + "title": "Taming the Sun", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "jegasus", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "db6a68ef-3b4e-4190-8461-d1f962ed3b82": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "Dustsucker", + "sources": [ + "Mixxx" + ] + }, + "3ceada1b-1bc3-4acc-97ad-c3b1e4a93855": { + "type": "Artist", + "name": "MrdrCat", + "sources": [ + "Mixxx" + ] + }, + "bdc986cf-dc1b-4bdd-b808-dba683c5b06c": { + "type": "Artist", + "name": "Metro Grade Beats", + "sources": [ + "Mixxx" + ] + }, + "91167635-aa02-42fb-bdd6-e31a116ef07c": { + "type": "Track", + "title": "Revolution, Revolution, Dance! (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "7c634b5e-8f58-4d81-8937-f4bdf3d52d90": { + "type": "Track", + "title": "Midnight Drive (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "c563750c-20dd-447a-a41e-0bac3a55adf6": { + "type": "Track", + "title": "HDGHG", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "5650afc3-1eb0-4599-a606-42ae5ca1009c": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "oddblossom", + "sources": [ + "Mixxx" + ] + }, + "187d1fc2-20db-4f91-93f0-4a7e73b0562f": { + "type": "Track", + "title": "Scorcher", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "MrdrCat", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "a9a1c034-8eb7-4e11-8014-0bf366c91670": { + "type": "Track", + "title": "Videohaters", + "album": "80864", + "artist": "Goto80", + "bpm": 125.30871137682912, + "sources": [ + "Mixxx" + ] + }, + "373288a7-369f-4680-a8e6-24dff9ff3015": { + "type": "Track", + "title": "Scary Monsters, Beware", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "jegasus", + "sources": [ + "Beets" + ] + }, + "2d549b9f-e0ce-4376-9455-6d8129b0ace8": { + "type": "Track", + "title": "Hamster Fire", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "Noisegrind Princess Chelsea", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "69782d22-8b95-48fb-8da7-e51f35b39784": { + "type": "Track", + "title": "Emotional Breakdown Simulator", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "921dfcbb-267c-49a1-bc83-4c7f7f0f8202": { + "type": "Track", + "title": "NDR", + "year": 2026, + "album": "HGHSCR", + "artist": "Bit Noir", + "bpm": 0.0, + "sources": [ + "Beets", + "Mixxx" + ] + }, + "a5e8e7c2-c9be-4a56-aec5-655339ac1544": { + "type": "Artist", + "name": "Bearcage", + "sources": [ + "Mixxx" + ] + }, + "5f206276-1401-4d29-994d-5dffea0a20a6": { + "type": "Album", + "title": "Dark Before Dawn", + "artist": "Ten and Tracer", + "sources": [ + "Mixxx" + ] + }, + "698653ba-4ad9-4754-a5eb-e37576ba5102": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "Sleepside Metro", + "sources": [ + "Mixxx" + ] + }, + "0123de6a-1a67-4e36-b1d9-6062fc5417a7": { + "type": "Track", + "title": "Running Hot", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "Dustsucker", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "3ea3da7b-2924-40b6-b227-634f9d0697a8": { + "type": "Track", + "title": "Beatwave", + "year": 2026, + "album": "M8 Community Jam 54: Heatwave", + "artist": "DustVoice", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "c6e4f942-1426-4ecc-be9d-b5a8febfe1b5": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "jegasus", + "sources": [ + "Mixxx" + ] + }, + "d79b1df6-8d75-4e75-8ace-f16fa6b8b0e9": { + "type": "Artist", + "name": "Nicolai", + "sources": [ + "Mixxx" + ] + }, + "66d29839-9fc9-4a46-a654-974172ae28d2": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "Noisegrind Princess Chelsea", + "sources": [ + "Mixxx" + ] + }, + "c43fc038-45c7-4452-8f33-ae8058d26860": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "Metro Grade Beats", + "sources": [ + "Mixxx" + ] + }, + "10b47cdd-ef52-4b02-91f3-e05b4c48865e": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "MrdrCat", + "sources": [ + "Mixxx" + ] + }, + "bd2a8142-297e-49b7-a7d1-5c0a4b276cb7": { + "type": "Track", + "title": "changeyourheart (Instrumental)", + "year": 2022, + "album": "Emotional Breakdown Simulator (Instrumentals)", + "artist": "Almost Anyone", + "bpm": 0.0, + "sources": [ + "Mixxx", + "Beets" + ] + }, + "d67c724e-e944-4b59-9878-d798960a2d6e": { + "type": "Artist", + "name": "Atalhlla", + "sources": [ + "Mixxx" + ] + }, + "b560a8b1-8a43-457b-a70f-0d74feeed668": { + "type": "Album", + "title": "Undertale Remixed", + "artist": "Holder", + "sources": [ + "Mixxx" + ] + }, + "c8378af2-99e9-4ef9-8b15-bed7a748fd4b": { + "type": "Album", + "title": "M8 Community Jam 54: Heatwave", + "artist": "Bearcage", + "sources": [ + "Mixxx" + ] + }, + "de03c279-ae53-42cd-92d0-44244cbf03d7": { + "type": "Track", + "title": "My Grungy World", + "year": 2026, + "album": "M8 Community Jam 52: Crunchy", + "artist": "MrdrCat", + "sources": [ + "Beets" + ] + } + } +} \ No newline at end of file diff --git a/src/TODO.md b/src/TODO.md index 3a984e6..6169553 100644 --- a/src/TODO.md +++ b/src/TODO.md @@ -1,5 +1,4 @@ # UI -[ ] Conversation options that exceed a certain predicted amount of TTS time (1-2 seconds) should get highlighted differently [ ] log line colors # Features @@ -7,27 +6,39 @@ [ ] patch mixxx to expose a rest api for data [ ] MIDI input / output [ ] Different prompts between "recording an episode", "preparing for an episode", or "exploring" -[ ] Mixxx playlists other than the regular episode -[ ] Realtime updates to the mixxx playlist +[x] Mixxx playlists other than the regular episode [ ] Include mixxx ratings into metadata +[ ] Realtime updates to the mixxx playlist [ ] somehow optimize the massive json blob of data we send? # Refactoring -[ ] Move tools into a sub-module -[ ] Debug log should show up into the UI in a separate list +[x] Move tools into a sub-module +[x] Debug log should show up into the UI in a separate list [ ] Use pipewire over jack -[ ] split out UI into several widgets +[x] split out UI into several widgets # Realtime behaviors [ ] "Hey eva, take a note, this one is pretty crunchy." -> note list in sidebar? [ ] "Hey eva, lets wrap up, can you prep me a report?" -> generates a summary of the episode, stashes it in the sidebar, saves it for the next episode, maybe also stores in beets/mixxx? [ ] "Hit it, eva" "Spin up the buffers, eva" - ship computer starts playing sfx to transition out [ ] ship should give off some warning sfx or something when the episode time hits 1h, 20m, 5m, 0, etc. -[ ] asking eva to query the archive or a relay or fetch something should be happening in the background, with the computer feeding updates into the conversation. Eva can then react as it goes along. +[X] asking eva to query the archive or a relay or fetch something should be happening in the background, with the computer feeding updates into the conversation. Eva can then react as it goes along. [ ] Twitch chat? -# Next Episode -[ ] Ambient SFX -[ ] Musicbrainz artifacts +# Episode 205 +[x] Ambient SFX +[x] Musicbrainz artifacts +[x] Preload musicbrainz data from playlist with a command + +# Episode 206 [ ] Automatic quiet detection instead of push-to-talk -[ ] Preload musicbrainz data from playlist with a command \ No newline at end of file +[ ] Fact database, to remember things about tracks during the show +[ ] Conversation options that exceed a certain predicted amount of TTS time (1-2 seconds) should get highlighted differently +[ ] Archive metadata and context should go at the very end of a prompt, to utilize token caching +[ ] Report cache status to the UI +[ ] "Environmental Status" panel that shows token usage as a sparkgraph, archive size, context window size +[ ] Ship computer is kinda bad when confronted with non-research tasks +[ ] Eva doesn't talk to the computer as much anymore for research tasks +[ ] Save the computer task list to save.json +[ ] Eva keeps saying "if you want a lore angle:" stuff +[ ] Should be a kind of rapid-fire eva dialog mode, where eva immediately replies to voice prompts \ No newline at end of file diff --git a/src/computer-prompt.txt b/src/computer-prompt.txt index 8c5b62d..fa9133f 100644 --- a/src/computer-prompt.txt +++ b/src/computer-prompt.txt @@ -22,6 +22,7 @@ Most of the time, the requests will be referring to tracks, artists, or albums i A successful session will result in the local collection of artifacts having the most complete available data. You may call these functions as much as you need, whenever you feel it is nessicary to complete the task you are given. +Calling the same tool with the same parameters more than once is wasteful, as repeated calls will always return the same data. When deciding which tools to call in which order, consider the following: - Beets will provide the fastest and cheapest responses, as it is local to the ship. @@ -29,6 +30,9 @@ When deciding which tools to call in which order, consider the following: - Musicbrainz queries are free, but not instant. This information comes from Earth via a pirate signal bouncing off of satelite relays. - Mixxx will return you a very minimal list of tracks which will always require synchronizing against Beets, along with changing the current playlist to the given name. You must not call this function unless you are directly asked to change the playlist. +For each of these tools, it is more efficient to pull metadata using an album query where supported, instead of pulling metadata on individual tracks. +Pulling track metadata individually can be very slow and expensive, whereas asking Beets for all information on an artist's album is nearly instantaneous. + For each task you plan to perform, you must add it to the todo list with the "task_list" tool. After each task is completed, you must mark it as complete it using the same tool.