{"schema":"catalog-search/v2","items":[{"kind":"record","record":{"id":"dsc_01M6TV715JDTYFVQN9BX4Z49XN","type":"discussion","title":"Story, meaning and form: Make SRT subtitles from a recording with whisper.cpp: build whisper-cli, convert to 16-bit WAV, transcribe, and guard against phantom text on silence","summary":null,"snippet":"Discuss a specific creative use and develop contrasting treatments or","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6TV715JDTYFVQN9BX4Z49XN","api_url":"https://veyrul.com/v1/records/dsc_01M6TV715JDTYFVQN9BX4Z49XN","updated_at":"2026-11-07T11:10:01.146Z","score":5.6106}},{"kind":"record","record":{"id":"src_01M668KGCACQPVAKVSPB9V5RKM","type":"source","title":"ComfyUI-Audio-Srt-Aligner (ComfyUI registry node ComfyUI-Audio-Srt-Aligner)","summary":"ComfyUI node registry custom node pack ComfyUI-Audio-Srt-Aligner at revision 4a2339baba84: latest version 1.1.0; publisher ahkimkoo; declared licence {\"file\": \"LICENSE\"}; repository https://github.com/ahkimkoo/ComfyUI-Audio-Srt-Aligner. Metadata-only index entry; not tested guidance.","snippet":"cross-attention, and Qwen3 forced alignment. Supports faster-whisper, UVR5 vocal separation, and video <b>subtitle</b> overlay rendering.\"\ncreated at: 2026-05-09T07:35:49.226173Z\ndeprecated: false\nlatest version","status":"active","categories":["T08"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M668KGCACQPVAKVSPB9V5RKM","api_url":"https://veyrul.com/v1/records/src_01M668KGCACQPVAKVSPB9V5RKM","updated_at":"2026-10-30T11:20:00.614Z","score":0.7521}},{"kind":"record","record":{"id":"src_01M6SRZHPDDDXCWHQMBQ8GSJRD","type":"source","title":"whisper.cpp","summary":"Dependency-free C/C++ port of OpenAI Whisper speech recognition with CPU, Metal, CUDA, Vulkan and other backends and integer quantization.","snippet":"quantization.\n\nUseful for: spoken audio: transcribe interviews, podcasts or voiceover to <b>text</b> and <b>subtitles</b> offline\n\nFirst action: DOCUMENTED (README Quick start): git clone https://github.com/ggml-org/whisper.cpp.git; cd <b>whisper.cpp</b>","status":"active","categories":["T13"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SRZHPDDDXCWHQMBQ8GSJRD","api_url":"https://veyrul.com/v1/records/src_01M6SRZHPDDDXCWHQMBQ8GSJRD","updated_at":"2026-11-07T01:11:46.602Z","score":0.0674}},{"kind":"record","record":{"id":"src_01M6SAX7KG4XF3N22DW1KY4B53","type":"source","title":"pycaps video caption tool","summary":"A Python library and CLI that renders animated CSS-styled subtitles onto videos.","snippet":"Python library and CLI that renders animated CSS-styled <b>subtitles</b> onto videos. What it supplies: A Python library and CLI that renders animated CSS-styled <b>subtitles</b> onto videos.\n\nUseful","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SAX7KG4XF3N22DW1KY4B53","api_url":"https://veyrul.com/v1/records/src_01M6SAX7KG4XF3N22DW1KY4B53","updated_at":"2026-11-06T21:05:50.660Z","score":0.0183}},{"kind":"record","record":{"id":"src_01M569EGKB12MJ1XPDKRGFZY25","type":"source","title":"WhisperX","summary":"The README says the repository provides fast automatic speech recognition (70x realtime with large-v2) with word-level timestamps and speaker diarization.","snippet":"aligned using wav2vec2.\n- Label who is speaking using speaker diarization from pyannote-audio.\n- Write <b>subtitles</b> with word timings highlighted in the .<b>srt</b> file.\n\nFirst action: - For GPU use, install","status":"active","categories":["T13"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569EGKB12MJ1XPDKRGFZY25","api_url":"https://veyrul.com/v1/records/src_01M569EGKB12MJ1XPDKRGFZY25","updated_at":"2026-11-07T13:36:28.201Z","score":0.0209}},{"kind":"record","record":{"id":"src_01M569EDKSTQ3PVXCZQBA5P2WM","type":"source","title":"Subtitle Edit","summary":null,"snippet":"Widely used open source <b>subtitle</b> editor for creating, converting, syncing and QC'ing <b>subtitle</b> files across many formats","status":"active","categories":["T10"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569EDKSTQ3PVXCZQBA5P2WM","api_url":"https://veyrul.com/v1/records/src_01M569EDKSTQ3PVXCZQBA5P2WM","updated_at":"2026-10-18T01:19:00.717Z","score":0.0804}},{"kind":"record","record":{"id":"src_01M62N20JF34KKDP310GSDEP87","type":"source","title":"Remove Subtitles from Video - LTX 2.3 LoRA (ComfyUI template template_ltx2_3_lora_remove_subtitles_from_video)","summary":"official ComfyUI workflow template template_ltx2_3_lora_remove_subtitles_from_video at revision 0cc0fba562ef: 57 nodes; custom node packs ComfyUI-LTXVideo, comfyui-kjnodes; models gemma_3_12B_it.safetensors, ltx-2.3-22b-dev.safetensors, ltx-2.3-spatial-upscaler-x2-1.1.safetensors. Metadata-only index entry; not tested guidance.","snippet":"official ComfyUI workflow template template_ltx2_3_lora_remove_<b>subtitles</b>_from_video at revision 0cc0fba562ef: 57 nodes; custom node packs ComfyUI-LTXVideo, comfyui-kjnodes; models gemma_3_12B_it.safetensors, ltx-2.3-22b-dev.safetensors, ltx-2.3-spatial-upscaler-x2-1.1.safetensors. Metadata-only","status":"active","categories":["T08"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M62N20JF34KKDP310GSDEP87","api_url":"https://veyrul.com/v1/records/src_01M62N20JF34KKDP310GSDEP87","updated_at":"2026-10-29T01:40:41.132Z","score":0.0077}},{"kind":"record","record":{"id":"src_01M64HVJC5PVHC1SETHQ463CY6","type":"source","title":"Dashboard-Integrity-Guard/faithful-edits-benchmark","summary":"Hugging Face dataset Dashboard-Integrity-Guard/faithful-edits-benchmark at revision 7adc5e2ce70c: modalities image, text; declared licence not declared; not gated. Metadata-only index entry; not tested guidance.","snippet":"Hugging Face dataset Dashboard-Integrity-<b>Guard</b>/faithful-edits-benchmark at revision 7adc5e2ce70c: modalities image, <b>text</b>; declared licence not declared; not gated. Metadata-only index entry; not tested guidance. created","status":"active","categories":["T05"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M64HVJC5PVHC1SETHQ463CY6","api_url":"https://veyrul.com/v1/records/src_01M64HVJC5PVHC1SETHQ463CY6","updated_at":"2026-10-29T19:23:13.110Z","score":0.0071}},{"kind":"record","record":{"id":"src_01M6SK9AF1KVSX76ST3RGT6S5T","type":"source","title":"Fish Audio in ComfyUI: text to speech, instant voice cloning, speech to text","summary":"Four nodes (Text to Speech with s2.1-pro or legacy s1, Speech to Text, Voice Selector, Instant Voice Clone) and three templates, with multi-speaker @Voice1/@Voice2 marking rules.","snippet":"node errors. Consent: the captured page does not specify a consent policy (<b>silence</b>, not a waiver); obtain the voice owner permission yourself and read Fish Audio terms. Voice and output","status":"active","categories":["T08"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SK9AF1KVSX76ST3RGT6S5T","api_url":"https://veyrul.com/v1/records/src_01M6SK9AF1KVSX76ST3RGT6S5T","updated_at":"2026-11-06T23:32:15.413Z","score":0.0006}},{"kind":"record","record":{"id":"src_01M569EDNRHB4E9BZEW86JXVPP","type":"source","title":"W3C WebVTT: The Web Video Text Tracks Format","summary":null,"snippet":"syntax, parsing, regions, CSS hooks and the VTTCue scripting API. The simplest widely supported <b>subtitle</b> format for web delivery","status":"active","categories":["T10"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569EDNRHB4E9BZEW86JXVPP","api_url":"https://veyrul.com/v1/records/src_01M569EDNRHB4E9BZEW86JXVPP","updated_at":"2026-10-18T01:19:00.782Z","score":0.0041}},{"kind":"record","record":{"id":"src_01M6V230G4B3NZYW0EY17FNY97","type":"source","title":"mpv: free command-line media player for many audio, video and subtitle formats","summary":"mpv is a free media player for the command line. It supports a wide variety of media file formats, audio and video codecs and subtitle types.","snippet":"supports a wide variety of media file formats, audio and video codecs and <b>subtitle</b> types. What it supplies: mpv is a free media player for the command line. It supports","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6V230G4B3NZYW0EY17FNY97","api_url":"https://veyrul.com/v1/records/src_01M6V230G4B3NZYW0EY17FNY97","updated_at":"2026-11-07T13:10:11.674Z","score":0.0032}},{"kind":"record","record":{"id":"src_01M569ED8Y1P57KWXKYPR1RHXH","type":"source","title":"Netflix Timed Text Style Guide: General Requirements","summary":null,"snippet":"major streamer's published <b>subtitle</b> conformance rules (line count, durations, TTML positioning, glyph list). A concrete, checkable target for <b>subtitle</b> QC and generation agents","status":"active","categories":["T10"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569ED8Y1P57KWXKYPR1RHXH","api_url":"https://veyrul.com/v1/records/src_01M569ED8Y1P57KWXKYPR1RHXH","updated_at":"2026-10-18T01:19:00.354Z","score":0.0044}},{"kind":"record","record":{"id":"dsc_01M6TA5ZKJW8XYTV7YA2H5GCMZ","type":"discussion","title":"FFmpeg and Kdenlive audio drift: recorder clocks, timestamps and atempo from matching events","summary":null,"snippet":"matching events, not whole-file durations, to diagnose external-<b>recorder</b> audio drift. For a candidate steady-rate correction, tempo = matching audio interval / matching video interval. Constant offset needs a shift","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6TA5ZKJW8XYTV7YA2H5GCMZ","api_url":"https://veyrul.com/v1/records/dsc_01M6TA5ZKJW8XYTV7YA2H5GCMZ","updated_at":"2026-11-07T06:12:23.232Z","score":0.0008}},{"kind":"record","record":{"id":"src_01M6V4AZ90T9VDZP096K3A89YV","type":"source","title":"PipeWire: multimedia server and API for audio and video graphs with JACK, PulseAudio and ALSA support","summary":"PipeWire is a server and user-space API to deal with multimedia pipelines: it makes video sources available and multiplexes them with clients, gives access to sources, and generates graphs for audio and video processing.\nGraph nodes can be separate processes that communicate over sockets and exchange content with fd passing.","snippet":"Direct a JACK application to PipeWire with pw-jack in dual mode.\n- Play and <b>record</b> audio and MIDI from the command line with pw-cat, pw-play and pw-<b>record</b>","status":"active","categories":["T13"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6V4AZ90T9VDZP096K3A89YV","api_url":"https://veyrul.com/v1/records/src_01M6V4AZ90T9VDZP096K3A89YV","updated_at":"2026-11-07T13:49:29.726Z","score":0.0007}},{"kind":"record","record":{"id":"dsc_01M6JDEWFQGXBFXNJP9S64QQKJ","type":"discussion","title":"Creative practice with Recording that AI helped make the images in a book or comic: a layer table over eight Veyrul records (IPTC Digital Source Type, C2PA and c2patool formats, platforms, KCC, ComicInfo, comictagger), a checklist for AI-assisted cover and interior images, and gaps; record","summary":null,"snippet":"Turn one supported capability into a bounded creative experiment. State","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6JDEWFQGXBFXNJP9S64QQKJ","api_url":"https://veyrul.com/v1/records/dsc_01M6JDEWFQGXBFXNJP9S64QQKJ","updated_at":"2026-11-04T04:35:42.780Z","score":0.0032}},{"kind":"record","record":{"id":"src_01M6W7JQN6YBR90Q2NHV0A2GV1","type":"source","title":"eSpeak NG: compact open source text-to-speech synthesizer, README overview","summary":"The README presents eSpeak NG as a small, fast, multilingual formant text-to-speech engine.","snippet":"lists Linux, BSD, Android 4.0, Windows 8 and Mac.\n\n- Speech is less natural than <b>recorded</b>-voice synthesizers.\n- SSML support is not complete.\n\nSource-documented: GPL version 3 or later.\n\nWritten","status":"active","categories":["T13"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6W7JQN6YBR90Q2NHV0A2GV1","api_url":"https://veyrul.com/v1/records/src_01M6W7JQN6YBR90Q2NHV0A2GV1","updated_at":"2026-11-08T00:05:24.223Z","score":0}},{"kind":"record","record":{"id":"src_01M6TVN0NMTK1J8FW8GKGX426N","type":"source","title":"Kokoro: open-weight 82M text-to-speech inference library, README overview","summary":"The README describes Kokoro as an open-weight text-to-speech model with 82 million parameters, offered through an inference library, with Apache-licensed weights.","snippet":"README describes Kokoro as an open-weight <b>text</b>-to-speech model with 82 million parameters, offered through an inference library, with Apache-licensed weights. What it supplies: The README","status":"active","categories":["T13"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6TVN0NMTK1J8FW8GKGX426N","api_url":"https://veyrul.com/v1/records/src_01M6TVN0NMTK1J8FW8GKGX426N","updated_at":"2026-11-07T11:17:41.648Z","score":0.0001}},{"kind":"record","record":{"id":"src_01M6SK9EXPX9WMTZZPH0ACQ83M","type":"source","title":"HeyGen Voice 1.0 in ComfyUI: instant voice clone and text to speech","summary":"Instant Clone node (voice_id from one-speaker clip, similarity levels) feeding a TTS node (heygen-voice-1 or turbo, expressiveness_boost) with documented limits.","snippet":"First action: Open 'HeyGen Voice 1.0' template, load a 10+ s clean single-speaker <b>recording</b>, run clone, then paste <b>text</b> into the TTS node.\n\nPrerequisites and limits: Cloud, Comfy","status":"active","categories":["T08"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SK9EXPX9WMTZZPH0ACQ83M","api_url":"https://veyrul.com/v1/records/src_01M6SK9EXPX9WMTZZPH0ACQ83M","updated_at":"2026-11-06T23:32:19.990Z","score":0}},{"kind":"record","record":{"id":"dsc_01M6SBNDJX4098TM1V2W7Z947P","type":"discussion","title":"Creative practice with Making an Observable Plot chart readable: what its docs state about scales, the group and stack transforms, and the axis and text marks (docs only)","summary":null,"snippet":"Turn one supported capability into a bounded creative experiment. State","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6SBNDJX4098TM1V2W7Z947P","api_url":"https://veyrul.com/v1/records/dsc_01M6SBNDJX4098TM1V2W7Z947P","updated_at":"2026-11-06T21:19:00.719Z","score":0.0005}},{"kind":"record","record":{"id":"src_01M569GAJ5TBZ1CC1DT87AY02K","type":"source","title":"Motion Canvas","summary":"Motion Canvas is a TypeScript library that uses generators to program animations, plus an editor with a real-time preview. The README says it is a specialised tool for creating informative vector animations and synchronising them with voice-overs, and that the editor lets you adjust aspects of the animation that would be tedious in code. The monorepo packages include a 2D renderer, core, a project bootstrapper, a browser player element, the editing UI and a Vite plugin.","snippet":"<b>Make</b> explainer-style vector animations from code.\n- Line up animation timing with a <b>recorded</b> voice-over.\n- Embed finished animations in a web page with the player element.\n\nFirst action","status":"active","categories":["T17","T13"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569GAJ5TBZ1CC1DT87AY02K","api_url":"https://veyrul.com/v1/records/src_01M569GAJ5TBZ1CC1DT87AY02K","updated_at":"2026-11-08T00:56:54.873Z","score":0.0004}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6TV3H7WDF5R76EETAVQ6VFD","type":"article","revision":1,"title":"Make SRT subtitles from a recording with whisper.cpp and guard against phantom text on silence","coverage":"For editors who want local subtitles from their own audio. You end with an SRT file from the whisper.cpp command-line tool and a short list of switches for input-format problems and invented text on silent or musical stretches. Based on the project READMEs; the commands were not run.","example":"An interview recording is converted to 16 kHz mono WAV and transcribed with the base English model to an SRT file; the file names and line-length value are illustrative and were not run.","tips":["Play the audio next to the finished subtitles and check a minute at the start, middle and end for dropped or made-up lines.","On silent or music-heavy audio, set the language explicitly; the language detector can pick a language at random on non-speech sound.","If memory runs out or it is too slow, choose a smaller or quantized model."],"categories":["T13","T10"],"tags":["whisper-cpp","speech-to-text","srt","subtitles","ffmpeg","local-transcription"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjpudWxsLCJxIjoiTWFrZSBTUlQgc3VidGl0bGVzIGZyb20gYSByZWNvcmRpbmcgd2l0aCB3aGlzcGVyLmNwcCBhbmQgZ3VhcmQgYWdhaW5zdCBwaGFudG9tIHRleHQgb24gc2lsZW5jZSIsInR5cGVzIjpbXSwiY2F0ZWdvcmllcyI6W119","ordering":"bounded_reference_and_preview_lanes"}