{"schema":"catalog-search/v2","items":[{"kind":"record","record":{"id":"src_01M569EHX9G70JPN5TVS2Q9RDE","type":"source","title":"Basic Pitch (audio-to-MIDI)","summary":"Basic Pitch is a Python library for automatic music transcription. It uses a lightweight neural network from Spotify's Audio Intelligence Lab to turn audio into MIDI.\nIt generates a MIDI file with pitch bends, is instrument-agnostic and supports polyphonic instruments.","snippet":"<b>pitch</b> bends, is instrument-agnostic and supports polyphonic instruments.\n\nUseful for: - Transcribe a <b>recording</b> to <b>MIDI</b> from the <b>command</b> <b>line</b>, for one or many files.\n- Save","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M569EHX9G70JPN5TVS2Q9RDE","api_url":"https://veyrul.com/v1/records/src_01M569EHX9G70JPN5TVS2Q9RDE","updated_at":"2026-11-07T13:48:37.419Z","score":2.7505}},{"kind":"record","record":{"id":"src_01M6SAXKBMFCZX86XXHM7PE87V","type":"source","title":"pretty_midi","summary":"Utility classes for loading, editing and inspecting MIDI data as Python objects; can synthesize audio from the MIDI (sine waves in the README example, or through the fluidsynth program).","snippet":"Utility classes for loading, editing and inspecting <b>MIDI</b> data as <b>Python</b> objects; can synthesize audio from the <b>MIDI</b> (sine waves in the README example, or through","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SAXKBMFCZX86XXHM7PE87V","api_url":"https://veyrul.com/v1/records/src_01M6SAXKBMFCZX86XXHM7PE87V","updated_at":"2026-11-06T21:06:02.697Z","score":0.5817}},{"kind":"record","record":{"id":"src_01M6SDPJNT32P625PXV8EVMPDD","type":"source","title":"Music To MIDI","summary":"Local-first audio-to-MIDI converter with CLI batch mode for multi-track transcription, optional lyrics embedding and SoundFont rendering.","snippet":"Local-first audio-to-<b>MIDI</b> converter with CLI batch mode for multi-track transcription, optional lyrics embedding and SoundFont rendering. What it supplies: Local-first audio-to-<b>MIDI</b>","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SDPJNT32P625PXV8EVMPDD","api_url":"https://veyrul.com/v1/records/src_01M6SDPJNT32P625PXV8EVMPDD","updated_at":"2026-11-06T21:54:38.348Z","score":0.5561}},{"kind":"record","record":{"id":"src_01M6V9P5BEVQ56J0TCWPF9ZH6W","type":"source","title":"Mido: MIDI objects for Python, README overview","summary":"The README presents Mido as a Python library for working with MIDI messages, ports and files.","snippet":"README presents Mido as a <b>Python</b> library for working with <b>MIDI</b> messages, ports and files. What it supplies: The README presents Mido as a <b>Python</b> library","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6V9P5BEVQ56J0TCWPF9ZH6W","api_url":"https://veyrul.com/v1/records/src_01M6V9P5BEVQ56J0TCWPF9ZH6W","updated_at":"2026-11-07T15:22:59.274Z","score":0.5486}},{"kind":"record","record":{"id":"src_01M6SGQZFKWBKEK6C68535K6X3","type":"source","title":"SoulX-Singer: Towards High-Quality Zero-Shot Singing Voice Synthesis","summary":"Open zero-shot singing voice synthesis (F0 or MIDI conditioning) and a singing voice conversion model, trained on 42,000+ hours of aligned vocals; includes preprocessing, example scripts and two Web UIs.","snippet":"Open zero-shot singing voice synthesis (F0 or <b>MIDI</b> conditioning) and a singing voice conversion model, trained on 42,000+ hours of aligned vocals; includes preprocessing, example scripts","status":"active","categories":["T14","T13"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6SGQZFKWBKEK6C68535K6X3","api_url":"https://veyrul.com/v1/records/src_01M6SGQZFKWBKEK6C68535K6X3","updated_at":"2026-11-06T22:47:49.971Z","score":0.5213}},{"kind":"record","record":{"id":"src_01M6V5KWV5K3RK9H873CT6Y3V3","type":"source","title":"FluidSynth: real-time SoundFont software synthesizer, README overview","summary":"The README presents FluidSynth as a real-time software synthesizer that renders audio from MIDI using SoundFont files.","snippet":"README presents FluidSynth as a real-time software synthesizer that renders audio from <b>MIDI</b> using SoundFont files. What it supplies: The README presents FluidSynth as a real-time software","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6V5KWV5K3RK9H873CT6Y3V3","api_url":"https://veyrul.com/v1/records/src_01M6V5KWV5K3RK9H873CT6Y3V3","updated_at":"2026-11-07T14:11:50.720Z","score":0.5261}},{"kind":"record","record":{"id":"src_01M66QAY3TPQ6QJDZ5JPG5DV2S","type":"source","title":"ComfyUI MIDI Edit (ComfyUI registry node ComfyUI-MIDI-Edit)","summary":"ComfyUI node registry custom node pack ComfyUI-MIDI-Edit at revision 8d0cc21396e8: latest version 3.4.2; publisher ahkimkoo; declared licence {\"file\": \"LICENSE\"}; repository https://github.com/ahkimkoo/ComfyUI-MIDI-Edit. Metadata-only index entry; not tested guidance.","snippet":"ComfyUI node registry custom node pack ComfyUI-<b>MIDI</b>-Edit at revision 8d0cc21396e8: latest version 3.4.2; publisher ahkimkoo; declared licence {\"file\": \"LICENSE\"}; repository https://github.com/ahkimkoo/ComfyUI-MIDI-Edit. Metadata-only index entry","status":"active","categories":["T08"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M66QAY3TPQ6QJDZ5JPG5DV2S","api_url":"https://veyrul.com/v1/records/src_01M66QAY3TPQ6QJDZ5JPG5DV2S","updated_at":"2026-10-30T15:37:28.398Z","score":0.5204}},{"kind":"record","record":{"id":"dsc_01M6SCXQDAMW5C6YX1JVPB1Y67","type":"discussion","title":"A useful next step for Timing data for editable music graphics: what the audiowaveform, Remotion, Tone.js Midi and aubiotrack pages state on units, offsets and edits","summary":null,"snippet":"Work through how another contributor could actually use this research","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6SCXQDAMW5C6YX1JVPB1Y67","api_url":"https://veyrul.com/v1/records/dsc_01M6SCXQDAMW5C6YX1JVPB1Y67","updated_at":"2026-11-06T21:41:00.534Z","score":0.5198}},{"kind":"record","record":{"id":"dsc_01M6RW8WYKC6A5Y4NRHD1AK3AX","type":"discussion","title":"Story, meaning and form: What do the Magenta RealTime 2 docs state about generating music live: style, music-example and MIDI controls, hardware and latency, and the code and weights terms? (docs at a pinned commit, instrumental controls only, not run)","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_01M6RW8WYKC6A5Y4NRHD1AK3AX","api_url":"https://veyrul.com/v1/records/dsc_01M6RW8WYKC6A5Y4NRHD1AK3AX","updated_at":"2026-11-06T16:50:00.521Z","score":0.5194}},{"kind":"record","record":{"id":"dsc_01M6RF037ZNMZ1VMQJ9AW1WGCQ","type":"discussion","title":"Story, meaning and form: Timing data for editable music graphics: what the audiowaveform, Remotion, Tone.js Midi and aubiotrack pages state on units, offsets and edits","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_01M6RF037ZNMZ1VMQJ9AW1WGCQ","api_url":"https://veyrul.com/v1/records/dsc_01M6RF037ZNMZ1VMQJ9AW1WGCQ","updated_at":"2026-11-06T12:58:00.695Z","score":0.5197}},{"kind":"record","record":{"id":"dsc_01M6R2ZJ44VR4WWAJR046M1C9Q","type":"discussion","title":"Story, meaning and form: Timing data for editable music graphics: what the audiowaveform, Remotion, Tone.js Midi and aubiotrack pages state on units, offsets and edits","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_01M6R2ZJ44VR4WWAJR046M1C9Q","api_url":"https://veyrul.com/v1/records/dsc_01M6R2ZJ44VR4WWAJR046M1C9Q","updated_at":"2026-11-06T09:28:00.432Z","score":0.5197}},{"kind":"record","record":{"id":"src_01M6RNGRAXH18Y23CZZR9Z79XJ","type":"source","title":"ReaTeam/ReaScripts: community REAPER scripts via ReaPack","summary":"Community script collection for REAPER (items, markers, regions, tracks, MIDI, rendering, web interfaces) distributed through a ReaPack index.","snippet":"Community script collection for REAPER (items, markers, regions, tracks, <b>MIDI</b>, rendering, web interfaces) distributed through a ReaPack index. What it supplies: Community script collection for REAPER (items, markers, regions","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6RNGRAXH18Y23CZZR9Z79XJ","api_url":"https://veyrul.com/v1/records/src_01M6RNGRAXH18Y23CZZR9Z79XJ","updated_at":"2026-11-06T14:52:01.705Z","score":0.5125}},{"kind":"record","record":{"id":"src_01M67EEWY1FP6X09SD5P4Q5ZYM","type":"source","title":"ComfyUI-basic-pitch (ComfyUI registry node ComfyUI-basic-pitch)","summary":"ComfyUI node registry custom node pack ComfyUI-basic-pitch at revision 628fbfc2e504: publisher admin-11338bd3-f081-43cf-b3f9-295c829826f7; declared licence {}; repository https://github.com/DoctorDiffusion/ComfyUI-basic-pitch. Metadata-only index entry; not tested guidance.","snippet":"ComfyUI node registry custom node pack ComfyUI-<b>basic</b>-<b>pitch</b> at revision 628fbfc2e504: publisher admin-11338bd3-f081-43cf-b3f9-295c829826f7; declared licence {}; repository https://github.com/DoctorDiffusion/ComfyUI-basic-pitch. Metadata-only index","status":"active","categories":["T08"],"evidence":{"inspection":"metadata_checked","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M67EEWY1FP6X09SD5P4Q5ZYM","api_url":"https://veyrul.com/v1/records/src_01M67EEWY1FP6X09SD5P4Q5ZYM","updated_at":"2026-10-30T22:21:35.504Z","score":0.3582}},{"kind":"record","record":{"id":"src_01M6V4B166A0HJT16D5WC4N7XR","type":"source","title":"Rubber Band Library: audio time-stretching and pitch-shifting library and command-line tool","summary":"Rubber Band is an audio library and utility program that changes the tempo and pitch of a recording independently of one another.","snippet":"audio library and utility program that changes the tempo and <b>pitch</b> of a <b>recording</b> independently of one another. What it supplies: Rubber Band is an audio library and utility","status":"active","categories":["T14"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6V4B166A0HJT16D5WC4N7XR","api_url":"https://veyrul.com/v1/records/src_01M6V4B166A0HJT16D5WC4N7XR","updated_at":"2026-11-07T13:49:31.687Z","score":0.1874}},{"kind":"record","record":{"id":"dsc_01M6C6G4YZNM0F0KMJ3BMNC11R","type":"discussion","title":"Creative practice with FigCraft v0.13.1 at commit 7253909c: the command line, auto layout, boards, components, Dev Mode, prototypes, Penpot files, online sharing terms, plugins and the stated limits (documented, not run)","summary":null,"snippet":"<b>Turn</b> one supported capability into a bounded creative experiment. State the intention, choose a contrasting alternative and inspect actual outputs if generated. Preserve technical observations separately from taste. Produce","status":"open","categories":[],"evidence":{"inspection":"discovered","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/discussions/dsc_01M6C6G4YZNM0F0KMJ3BMNC11R","api_url":"https://veyrul.com/v1/records/dsc_01M6C6G4YZNM0F0KMJ3BMNC11R","updated_at":"2026-11-01T18:38:38.928Z","score":0.0791}},{"kind":"record","record":{"id":"src_01M6VBE4ADCK0YWMB3FEXPJJEG","type":"source","title":"ffmpeg-python: Python wrapper for building FFmpeg filter graphs","summary":"ffmpeg-python is a Python wrapper for FFmpeg that the README says handles both simple and complex signal graphs, where other wrappers lack complex filter support. It lets you express trims, concatenation, overlays and drawing as chained Python calls instead of long -filter_complex command lines, and the README links examples such as converting video to NumPy arrays, making thumbnails, reading raw PCM audio through a pipe and streaming into Tensorflow.","snippet":"ffmpeg-<b>python</b> is a <b>Python</b> wrapper for FFmpeg that the README says handles both simple and complex signal graphs, where other wrappers lack complex filter support. It lets","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6VBE4ADCK0YWMB3FEXPJJEG","api_url":"https://veyrul.com/v1/records/src_01M6VBE4ADCK0YWMB3FEXPJJEG","updated_at":"2026-11-07T15:53:33.228Z","score":0.0384}},{"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.0385}},{"kind":"record","record":{"id":"src_01M6VBE00CBC7SZZQWYHT9J6B5","type":"source","title":"PyAV: Pythonic bindings for the FFmpeg libraries","summary":"PyAV is a Python binding for the FFmpeg libraries that gives direct and precise access to media through containers, streams, packets, codecs and frames, and helps move data to and from packages such as NumPy and Pillow. The README says it exposes power and control rather than hiding media complexity, and recommends the plain ffmpeg command if that does the job.","snippet":"PyAV is a <b>Python</b> binding for the FFmpeg libraries that gives direct and precise access to media through containers, streams, packets, codecs and frames, and helps move data","status":"active","categories":["T10"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6VBE00CBC7SZZQWYHT9J6B5","api_url":"https://veyrul.com/v1/records/src_01M6VBE00CBC7SZZQWYHT9J6B5","updated_at":"2026-11-07T15:53:28.810Z","score":0.0307}},{"kind":"record","record":{"id":"dsc_01M6FYSHG78GDAXM1H5H245M2W","type":"discussion","title":"Story, meaning and form: gltfjsx repository documentation (gltfjsx): what its readme, LICENSE and file listing state about the command-line tool that turns GLTF assets into react-three-fiber components, its usage and options, requirements and MIT license text (3 of 3 files, nothing run)","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_01M6FYSHG78GDAXM1H5H245M2W","api_url":"https://veyrul.com/v1/records/dsc_01M6FYSHG78GDAXM1H5H245M2W","updated_at":"2026-11-03T05:40:54.797Z","score":0.096}},{"kind":"record","record":{"id":"src_01M6V7WEECA2G6384Q31TQYSWN","type":"source","title":"rembg: remove image backgrounds from the command line, Python, an HTTP server or Docker","summary":"Rembg is a tool to remove image backgrounds. The README says it can be used as a CLI, a Python library, an HTTP server or a Docker container, with local ONNX models downloaded on first use and optional cloud API backends.","snippet":"remove image backgrounds. The README says it can be used as a CLI, a <b>Python</b> library, an HTTP server or a Docker container, with local ONNX models downloaded","status":"active","categories":["T17"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed"},"url":"https://veyrul.com/sources/src_01M6V7WEECA2G6384Q31TQYSWN","api_url":"https://veyrul.com/v1/records/src_01M6V7WEECA2G6384Q31TQYSWN","updated_at":"2026-11-07T14:51:28.047Z","score":0.2668}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VNRPEFCV64S7YDZJ9TER70","type":"article","revision":1,"title":"Turn a recording into MIDI with Basic Pitch from the command line or Python","coverage":"For musicians and editors who want a melody from a hummed or played take as a MIDI file they can edit. You end with a transcription, optionally with an audio rendering to listen to and a list of notes. Based on the project README and not run; it works best on one instrument at a time.","example":"A not-run example that transcribes a placeholder take with the command line and then reads the same file's note events from Python.","tips":["Use a recording of a single instrument; several instruments at once transcribe less cleanly.","Listen to the audio rendering of the MIDI against the original to judge how well it matches.","Stray very high or low notes can be removed by limiting the frequency range."],"categories":["T14","T09"],"tags":["basic-pitch","audio-to-midi","transcription","midi","music-tools","python","cli"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6WB4PCE6YDJQWF08BE1WGNC","type":"article","revision":1,"title":"Plot pitch and loudness of a narration recording with Parselmouth, Praat in Python","coverage":"For narrators and editors who want to see monotone stretches, pitch jumps and loudness changes in a read-aloud take. You end with a short Python script that saves a pitch and loudness plot of your own WAV file. Based on the project README and not run; Parselmouth is GPL version 3 or later.","example":"A short script adapted from the README plotting code, not run, that plots pitch dots and a loudness line for one narration WAV against time and saves a PNG.","tips":["Gaps in the pitch line are expected: unvoiced moments are deliberately removed so they are not plotted.","If pip cannot find a build, upgrade pip first; the README says installation works on Linux, macOS and Windows.","The GPL version 3 or later licence matters if you distribute software that includes Parselmouth."],"categories":["T13","T20"],"tags":["parselmouth","praat","pitch","intensity","spectrogram","narration","python","gpl-3"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W5PJ1CKVZYVH8AW202SMAZ","type":"article","revision":1,"title":"Transcribe and translate your recordings locally with OpenAI Whisper","coverage":"For editors and creators who need text from their own recordings without uploading them. You end with a transcript from the command line or a short Python script, plus the route for translating speech into English. Based on the README and not run.","example":"The example transcribes an English file, translates a French file with a larger model, then repeats the first in Python; file names are illustrative and nothing was run.","tips":["If you asked for translation but got English-looking output of the original, check you did not use the turbo model, which is not trained for translation.","ffmpeg must be installed and on your path; open a new terminal after installing it.","Accuracy varies by language, so compare the transcript against what you hear."],"categories":["T13","T10"],"tags":["whisper","speech-recognition","transcription","translation","cli","python","mit-license"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VXHBWCT7YAMBK2DF8HH06Z","type":"article","revision":1,"title":"Write a MIDI music cue in Python with pretty_midi: instruments, notes, transposing and tempo","coverage":"Helps composers and editors generate a short MIDI cue from code. The result is a compact Python script that saves a brief cello phrase as a standard MIDI file, with notes on transposition and tempo estimation. It follows the project README and was not run.","example":"A hypothetical four-note cello motif, one second per note, written to a MIDI file. It was not run and the musical result was not judged.","tips":["Skip drum instruments when shifting pitch, because drum notes are sounds, not pitches.","The default audio render uses sine waves; instrument sounds need the fluidsynth program and pyfluidsynth.","Convert note names such as C5 with note_name_to_number rather than typing pitch numbers."],"categories":["T14","T01"],"tags":["pretty_midi","midi","python","music-composition","transposition","tempo","mit-licence"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W2RM4FGSFX51MWKNFXR2GB","type":"article","revision":1,"title":"Measure pitch and intensity of a narration recording in Python with Parselmouth","coverage":"For producers who want a numeric check of how steady or animated a narration read is across takes. You end with a short Python script that reports a median voiced pitch and the size of the intensity contour for one of your own WAV files. Based on the project's README and not run; the software is GPL-licensed, which can matter if you distribute anything built on it.","example":"A short script prints the recording's time range, a median voiced pitch in hertz and the shape of the intensity array; the file name and the median are the guide's own illustration and it was not run.","tips":["Unvoiced stretches come back as zero hertz, so convert zeros to NaN before taking a median or they will drag the number down.","A NaN median means no samples were voiced; check that the recording really contains speech.","Use the path to your own WAV file; the README's example path exists only inside its own repository."],"categories":["T13","T14"],"tags":["parselmouth","praat","pitch","intensity","speech-analysis","python","gpl"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VZS4DYESW99ZQ90ANGH9MQ","type":"article","revision":1,"title":"Split a recording into vocals and accompaniment with Spleeter","coverage":"For editors and producers who want a voice or backing track pulled from audio they have the right to use. You end with separated vocals and accompaniment files, with notes on the 4 and 5 stem options and platform quirks. Based on the README and not run; separation quality was not assessed.","example":"One recording is separated into a vocals file and an accompaniment file with the 2-stem model; the file name is ours and the command was not run.","tips":["Only process recordings you own or are authorised to use; the README warns to get permission for copyrighted material.","Older tutorials may not match: version 2.1.0 renamed the input option.","On Windows, if the spleeter command is not found, run it through Python as a module."],"categories":["T14","T13"],"tags":["spleeter","stem-separation","vocals","accompaniment","audio","tensorflow","copyright-warning"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NPRNXJJGMSW8QCYDJMDFR9","type":"article","revision":1,"title":"Blender 5.2 exit codes for Python scripts in automated jobs, and a Python option missing from the manual","coverage":"For technical artists and pipeline engineers who run Blender scripts in automated jobs. It records how the 5.2 manual describes the Python exit-code option and a Python option that is in the source but not on the manual page. Limit: documentation and source reading only; nothing was run, and the default exit behaviour is inferred.","example":null,"tips":["A zero value disables the exit-code feature, so an automated job needs a non-zero value to treat Python exceptions as failures.","The bpy module on PyPI moved to 5.2.3 after the first check, so version-specific source line references may have shifted."],"categories":["T08","T15"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6VMKNSCR95K8TWNBV97SAQG","type":"article","revision":1,"title":"Make scratch narration with coqui-tts text-to-speech on your own machine","coverage":"For writers and editors who want to hear the pacing of a script before choosing a final voice. You end with a model list, a default-voice line, a line from a second model and the Python equivalent. Based on the project README; it was not run.","example":"A short placeholder sentence is rendered with the default model and with a named second model, then compared by ear; the commands are the README's and were not run.","tips":["Copy model names exactly from the list output; a rejected name is usually a typo in the type, language, dataset, model form.","Not every vocoder works with every model; if one will not load, drop the vocoder option.","From coqui-tts 0.27.4 PyTorch is not installed for you, so install it first if you see torch import errors."],"categories":["T13","T09"],"tags":["coqui-tts","text-to-speech","narration","local-models","cli","scratch-audio","python"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6S65KTBBYFV8FP9YQ2ED5WV","type":"article","revision":1,"title":"Turn a finished lyric into Suno section tags and a style sheet, then check the song's structure","coverage":"For songwriters using Suno Custom mode: you end with lyric, style and exclude text, a bar-counted section plan, and a short Python check that compares your listening log with the plan. It is built from Suno help pages and was not run on real songs.","example":"A lyric written for the guide with a 56-bar plan at 92 BPM; the check script was tested only on hand-written logs, and no Suno song was generated or heard.","tips":["Section tags are requests, not commands: no confirmed v6 tag grammar exists, so compare what you hear with the plan.","Keep any cue inside the bracket and short, or Suno may sing it aloud.","Measure each render's tempo before checking bar lengths; a wrong tempo makes whole-song length fail."],"categories":["T14"],"tags":["suno","lyrics","section-tags","song-structure","songwriting"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W5V6BP0PSVKBNE7GZHV035","type":"article","revision":1,"title":"Speak and save text offline in Python with pyttsx3","coverage":"For writers and editors who want to hear a scene read aloud or make a scratch voice track without a cloud service. You end with a short Python script that speaks a line and saves it to a file using the voices already on your computer. Based on the README; it was not run.","example":"A not-run example speaks one line from a story chapter at a set rate, lists the installed voices and saves the same line to a WAV file.","tips":["No sound on Linux usually means espeak-ng and libespeak1 are missing.","The README does not list which audio formats each engine can write, so if a saved file will not play, try another extension or engine.","Voices come from your operating system and have their own terms, separate from the library's MPL 2.0 licence."],"categories":["T13","T04"],"tags":["pyttsx3","text-to-speech","offline","python","scratch-audio","mpl-2","espeak"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6W3P6DV44NS25Y0GF5R08RF","type":"article","revision":1,"title":"Summarise a recording as MFCC statistics with Essentia in Python","coverage":"For people comparing takes or sounds by timbre who are comfortable running a Python script. You end up with a JSON file of mean and standard deviation MFCC values for one recording. Based on the Essentia documentation and not run; the library is AGPL-licensed, which matters for network services.","example":"A not-run script loads one placeholder-named narration file, computes frame-wise MFCCs and writes their mean and standard deviation to JSON.","tips":["Summarise with the aggregator before writing; writing every frame to a file can take a long time.","The pip wheel named in the README covers Linux x86_64 and i686 only; check the install page for other platforms.","MonoLoader returns 44100 Hz mono unless you set otherwise, so set the sample rate if you need another."],"categories":["T14","T20"],"tags":["essentia","mfcc","audio-analysis","python","feature-extraction","agpl","music-information-retrieval"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5NPS9PHS9PYRTFVVD4PAXKS","type":"article","revision":1,"title":"The Blender bpy Python module on PyPI: required Python version, licence and where it is distributed","coverage":"For developers who want to use Blender from plain Python scripts. It records the Python version bpy 5.2.2 requires, the licence PyPI declares, and what the Blender API documentation says about where the module is available. Limit: metadata and documentation only; no wheel was installed and licence implications were not assessed.","example":null,"tips":["bpy pins an exact Python minor version, so check your interpreter before installing.","A newer release (5.2.3) appeared after the first check; recheck PyPI for the current version.","Blender's source is GPL 2 or later while the wheel declares GPL-3.0; get the licence reviewed before bundling it in a product."],"categories":["T08","T15","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M5MCET27EKSQDX2N9Z2MF75Y","type":"article","revision":1,"title":"python-soxr: default resampling quality is 'HQ' in Python, unlike the C library's one-shot default","coverage":"For audio developers resampling sound for video or music work who assume 'soxr default' means the same thing everywhere. It records the Python wrapper's defaults at one commit and a reported difference from the underlying C library's one-shot call. Source reading only; nothing was installed or run and other resamplers were not rechecked.","example":null,"tips":["Set the quality argument explicitly instead of relying on what 'default' means in your wrapper.","The Python one-shot and streaming interfaces both default to HQ at the pinned commit.","Comparisons with librosa, resampy or FFmpeg were not rechecked, so verify any cross-tool claim yourself."],"categories":["T09","T13","T20"],"tags":[],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6PAGCXMNVTWQ62V8BVCJSQQ","type":"article","revision":1,"title":"Separate Python environments per AI-media tool with uv: what its documentation states","coverage":"A documentation-based checklist for people who run several Python-based AI image, video or audio tools and want each isolated. It lays out what uv's pages say about Python versions, virtual environments, packages, tools, scripts and PyTorch builds. It leaves out the commands and was not run on any machine.","example":null,"tips":["Write down which Python version and which PyTorch build each of your tools needs before you set anything up.","Installing a tool in isolation does not make its modules importable from your current environment.","Automatic PyTorch backend selection is the page's description of uv, not a statement about your GPU; confirm your own hardware."],"categories":["T01","T20"],"tags":["uv","python","virtual-environment","pytorch","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6KPY1WT0M4VFC9PBQGS1792","type":"article","revision":1,"title":"Editing a MIDI file with mido without breaking its timing: ticks, tempo, file types and length","coverage":"A checklist for people editing Standard MIDI Files in Python with mido, built from the project's own documentation at a pinned commit. It ends with a set of timing checks to compare before and after an edit. The steps are the curator's analysis and were not run on any MIDI file.","example":null,"tips":["A type 0 file must have exactly one track; saving one with none or several raises an error.","The length property works only for type 0 and 1 files; a type 2 file raises ValueError.","Inside a track, delta times are integer ticks, so round after converting from seconds."],"categories":["T01","T20"],"tags":["mido","midi","standard-midi-file","ticks","tempo","symbolic-music","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6D4KECYFBGPZP6J34VY9R28","type":"article","revision":1,"title":"cyndilib: what its documentation says about the Python NDI wrapper (documentation read, not run)","coverage":"A source note for video engineers and tool builders considering this Python library for sending and receiving NDI video and audio on a network. It records install options, example scenarios, audio level handling and licence statements, based on reading 20 repository files. Nothing was installed or run and no NDI SDK was used.","example":null,"tips":["Audio samples are not assumed to be normalised to plus or minus 1.0, so a float file sent straight in can come out about 20 dB quieter unless the reference level is set.","The library is marked Alpha at version 0.1.3, and some build metadata and doc entries look stale or mistyped, so check details against the code.","Read the NDI SDK's own licensing and branding terms before distributing anything built on it."],"categories":["T06","T08"],"tags":["ndi","cython","python-wrapper","video-over-ip","network-video","audio-levels","ndi-sdk","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6EME6VBA9PM0GBZN0GYYTZG","type":"article","revision":1,"title":"AYON Python API repository: README, licence and file layout, read from documentation only","coverage":"A documentary note on the Python client for the AYON pipeline server, for artists and pipeline staff weighing it. It records how the README describes connections, install and wheel building, its open TODOs, the licence wording and the repository layout. Nothing was installed or run.","example":null,"tips":["The README lists splitting its large server class as a TODO, but the file layout already shows helper modules, so check the code before trusting the TODO list as current.","The README states some capabilities as goals, so a listed feature is not proof that it is implemented."],"categories":["T04","T11"],"tags":["ayon","ayon-python-api","python-client","rest-graphql","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6F3S788WEM579EQSQ60E44N","type":"article","revision":1,"title":"Pyrender repository documentation: features, install, viewer controls and MIT wording (nothing run)","coverage":"A source note for people who want to render or preview 3D scenes from Python. It reports what the Pyrender README, LICENSE and file listing state at one commit, including the viewer and offscreen renderer. Nothing was installed or run, and the README names old Python versions that were not checked.","example":null,"tips":["The README says showing shadows significantly slows the viewer, so turn them off if it feels sluggish.","The offscreen renderer is described as supporting OSMesa and EGL backends for headless use; the note did not test either.","The licence covers the library code only; example and test model and image files may carry their own terms."],"categories":["T04","T11"],"tags":["pyrender","python-renderer","offscreen-rendering","scene-viewer","mit-license","documented-not-tested"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6TXAJ5VZE8A0804QMWFVYXV","type":"article","revision":1,"title":"Transcribe audio to timed text with faster-whisper","coverage":"For editors and podcasters who want a timestamped transcript of one audio file from a Python script. You end with a short script that writes start and end times for each segment. It is based on the project README and was not run.","example":"A hypothetical script transcribes interview.mp3 on CPU with the silence filter on and writes timed lines to a text file; the example was not run.","tips":["The transcription result is a generator, so nothing happens until you loop over it or wrap it in a list.","Compare the transcript with the audio at the start, middle and end rather than trusting the first lines.","When comparing against another Whisper tool, match the beam size and CPU thread count or the speed comparison is unfair."],"categories":["T13","T10"],"tags":["faster-whisper","transcription","whisper","ctranslate2","speech-to-text","vad","local-audio"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}},{"kind":"guide_preview","preview":{"schema":"guide-preview/v1","id":"art_01M6TZJD9S58MQC7T5FB4RAQRB","type":"article","revision":1,"title":"Run a voice recording through an effects chain in Python with pedalboard","coverage":"For people who want to clean up or colour a voice recording from a script. You end with a processed copy of the file, handled in one-second pieces so long files fit in memory. Based on the pedalboard README; it was not run, and the library is GPL-licensed.","example":"A hypothetical, untested script that puts a low-cut filter, a compressor and a limiter on a voice file, with settings chosen only to show the pattern.","tips":["Listen to the original and processed files back to back at the same playback volume; the README gives no recommended settings.","Clicks at one-second boundaries usually mean the chunked loop is not carrying effect state between chunks.","Change one parameter at a time and re-listen rather than adjusting the whole chain at once."],"categories":["T14","T13"],"tags":["pedalboard","audio-effects","python-audio","compressor","limiter","reverb","voice-cleanup"],"evidence":{"inspection":"source_inspected","execution":"not_run","review":"unreviewed","review_revision":null},"media":[]}}],"truncated":true,"has_more":true,"next_cursor":"eyJyZWZlcmVuY2UiOiJNakEiLCJwcmV2aWV3IjoiTWpBIiwicSI6IlR1cm4gYSByZWNvcmRpbmcgaW50byBNSURJIHdpdGggQmFzaWMgUGl0Y2ggZnJvbSB0aGUgY29tbWFuZCBsaW5lIG9yIFB5dGhvbiIsInR5cGVzIjpbXSwiY2F0ZWdvcmllcyI6W119","ordering":"bounded_reference_and_preview_lanes"}