Skip to content

Releases: kbosompem/agent-hsp

Release list

Agent HSP v0.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 18:04

Added

  • Error log: errors from the app and its screens go to agent-hsp.log in the app's data folder. Settings has "Open log folder".

  • First-run setup offers each download as an optional checkbox: Nemotron, Whisper, yt-dlp, ShemenMusic songs, ShemenMusic backing tracks. It can be run again from Settings.

  • Verse picker in VideoPsalm style: all 66 books, chapters and verses visible at once. Click a book, click a chapter, then click or drag across verses.

  • The Windows build includes Nemotron. CI builds sherpa-onnx with the DLL C runtime and caches it.

  • ShemenMusic and Songbook tabs beside YouTube on the Media page. ShemenMusic lists the songs on shemenmusic.com (the church's music repository) with their backing tracks and lyrics; search titles and lyrics, preview, and "Get" puts the lyrics in the song library (verses, choruses and repeats in singing order) and downloads the track. Songbook opens a songbook file (JSON of songs, lyrics and track links, e.g. made from a PDF songbook; MediaFire links are followed to the file) and "Get all" loads it. Tracks download one at a time and are never fetched twice. Adding a song whose backing track is downloaded sets it to play once when the song goes live ("Play its backing track" on the Service page does the same for songs already in a service). Changing the background audio of the item on screen takes effect at once.

  • Scripture readings have Book, Chapter, From verse and To verse pickers (typing a reference still works). Any service item can have its own background (photo or motion, from the same choices as the Look page) while it is live. Double-click a song to add it and go live; double-click media to play or show it.

  • Media library (Media page) with five folders: General video, Song video (no lyrics), Song audio, Instrumental audio, Instrumental with lyrics. Add files from the computer, or search YouTube in the app and download into a folder (yt-dlp, fetched on first use and kept up to date; HD video when ffmpeg is installed, H.264 preferred). Live streams are left out of results. A notice reminds churches to download only what they have the right to use.

  • Audio while projecting: a player bar at the bottom of the console (play/pause, seek, loop, volume, mute, 4-second fade out, stop) that keeps playing while slides change. Service items: Video (plays full screen on the projector with sound; play/pause/restart on the live screen) and Audio; any item can start background audio (looping by default) or fade it out, e.g. piano under a prayer session's topics and verses.

  • Translation details: every Bible has a short name (NLT), full name, edition and copyright notice. The bundled ones are filled in; imported ones are edited on the Bibles page (Edit), saved with the translation, and can be removed. Slides show the short name after the reference by default ("JOHN 3:16 · NLT"); the Look page switches to full names. Dropdowns show "NLT · New Living Translation".

  • Verse ranges on one slide: "Verses per slide" on the Look page (As many as fit, 1, 2 or 3) and per reading on the Service page. "As many as fit" puts short ranges like John 3:16-17 together (up to 4 verses, about 350 characters) with small verse numbers, and splits long passages; following the reading moves on after the last verse on the slide.

  • Each scripture reading in a service has its own translation picker (default: the Live page's translation), saved with the reading.

  • Console themes from tweakcn are saved under "Your themes" in Settings, named from the theme or by you, shown with colour dots, selectable and removable.

  • My photos and My motion tabs on the Look page: add your own pictures (JPG, PNG, WebP, GIF) and videos (MP4, MOV, M4V, WebM). They are copied into the app data folder, listed in backgrounds/user.json, kept between runs, can be removed, and travel in service bundles. Replaces the one-off "Use my own picture".

  • Export a service two ways from the Service page menu: "for this computer" (.hspservice: the order of service, songs by reference, background by its path) or "bundle for another computer" (.hspbundle: a zip with the songs in full, the projector look and the background file). Import reads either: songs are matched by title, missing ones are added from a bundle, and its look can be applied with one click.

  • Recordings are compressed at Stop to audio.m4a (AAC 48 kbps, about 21 MB an hour instead of 115 MB) with macOS's built-in afconvert. Recording itself stays WAV so a crash loses almost nothing; continuing a session converts it back first. Windows keeps WAV for now.

  • Listen starts a session folder named by local date and time; Stop saves audio.wav, transcript.txt (raw transcript with times) and summary.md (title, outline, every verse shown with its time, key lines). Listen after a recent session asks whether it is the same service (append to the same recording) or a new one. Going live on the Sermon item continues the day's session without asking. "Open recordings folder" in Settings.

  • "HSP" from the pulpit means the wrong thing went up: the last verse comes down, what was on screen before it comes back, and that verse stays off for a minute. It acts on the first partial transcript. Words after it are an instruction ("HSP clear the screen", "HSP next", "HSP John 3:16"). Works under Hold. U on the keyboard does the same undo.

  • "Clear the screen", "clear the board", "take it down": the Logo screen with no text; L brings the slide back.

  • Agent HSP logo (brand/agent-hsp-icon.svg): app icon, console header, page icons and website.

  • Voice commands: "next" on its own, "next chapter", "previous chapter", "jump to chapter 2", "go to chapter 4 verse 5" (also "vs"), and spoken numbers ("go to verse twenty"). "Chapter 4 verse 5" without a book uses the book on screen.

  • Deepgram (online, paid) as a third speech engine in Settings, with the API key stored only on this computer. Streams 16-bit audio to Deepgram's live service and reconnects on its own if the connection drops.

  • The Look page is an accordion (background, free photos and motion, text and dimming, church name and corner logos), with Photos and Motion tabs and video preview pictures.

  • Corner logos: each of the four corners of verse, lyric, announcement and summary slides can show nothing, text, or a logo picture with its own size (Look page). The Logo screen can show a picture instead of the church name.

  • Optional Nemotron streaming speech engine (NVIDIA Nemotron 3.5, 0.6B, run locally with sherpa-onnx and Bible book-name hotwords). Choose it in Settings. Verses typically reach the console about a second after the reference is spoken. Build with npm run build:nemotron after scripts/sherpa/build.sh.

  • Three more bundled translations: Berean Standard Bible (BSB, public domain), Literal Standard Version (LSV, CC BY-SA 4.0) and Free Bible Version (FBV, CC BY-SA 4.0). KJV stays the default. Licences and credits are in desktop/crates/preso-core/assets/BIBLES.md. scripts/bibles/usfm2json.py rebuilds them from eBible.org USFM. The app binary grows by about 12 MB.

  • Free stock backgrounds: 40 photos and 40 motion backgrounds from Pexels, chosen in the Look page, downloaded on first use (not bundled) and credited to their creators. Motion (video) backgrounds play behind verses and lyrics.

  • Every listening session is recorded to sessions/<date_time UTC>/ in the app data folder: audio.wav (16 kHz mono, header refreshed every 5 s so a crash loses little), transcript.jsonl and slides.jsonl, for replay and scoring after a service (issue 12, first part).

  • Service page: build an order of service (songs, scripture, text/announcements, logo, blackout, sermon), save it, duplicate last week's, and run it live with the arrow keys, Page Down/Up or a presentation clicker. Every item except the sermon keeps the AI off the screen; going live on the sermon starts listening.

  • Song library with search by title or lyrics, a plain-text editor, and import from VideoPsalm (agenda .vpagd files and songbook .json), plain text, OpenLyrics XML and OpenSong XML. VideoPsalm verses keep their slide breaks. Long sections split into slides of at most four lines.

  • Songs and services are saved to library.json in the app data folder (written atomically, previous copy kept as library.bak.json).

  • Live keys: B blackout, L logo, Esc clear to logo, H hold, Right/Left next/previous verse, Enter shows the oldest waiting card. Pressing B or L again brings back the slide that was up. Blackout and Logo turn on Hold, where the AI never changes the screen and detected verses wait as clickable cards.

  • Projector slide kinds for blackout, logo and plain text (lyrics, announcements). Church name setting on the Theme page replaces the hard-coded "AMC CHURCH".

  • Transcription health on the console: Listening, Behind by N s, or Not transcribing with the reason. Whisper failures are logged instead of silently returning empty text (issue 2).

  • Streaming partial transcripts. The app transcribes the current sentence every half second while the preacher is still talking. Typical time from a spoken reference to a verse on screen dropped from about 9 seconds to about 1.4 seconds on the synthetic fixtures. A verse fires from partials only when the same chapter and verse appear in two partials in a row.

  • Following a reading. While a range such as Matthew 5:1-12 is on screen, the console moves to the next verse when the preacher reads past the current one, and stops at the last verse. It tolerates reading from a different translation.

  • Switching translation by voice: "show NLT", "read it in the NIV", "the amplified version says". Commentary such as "in the NIV it says" does not switch. Translations that are not loaded give a clear message.

  • Follow-up verses. "Verse 6 says..." shows verse 6 of the chapter the preacher has open. A book named at the end of one sentence joins a chapter named at the start of the next.

  • Projector text scales with the screen siz...

Read more