[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FE92DQXSFXKX7CSQR0M9TV":3,"skill-same:01M6FE92DQXSFXKX7CSQR0M9TV":57},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":39,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M6FE92DQXSFXKX7CSQR0M9TV","audio-voice-recovery",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fpproenca\u002Fdot-skills\u002Faudio-voice-recovery\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[26,27,28,29],"recovery","Audio","voice","audio voice recovery","2026-11-10 10:12:30",false,"# Forensic Audio Research Audio Voice Recovery Best Practices\n\nComprehensive audio forensics and voice recovery guide providing CSI-level capabilities for recovering voice from low-quality, low-volume, or damaged audio recordings. Contains 45 rules across 8 categories, prioritized by impact to guide audio enhancement, forensic analysis, and transcription workflows.\n\n## When to Apply\n\nReference these guidelines when:\n- Recovering voice from noisy or low-quality recordings\n- Enhancing audio for transcription or legal evidence\n- Performing forensic audio authentication\n- Analyzing recordings for tampering or splices\n- Building automated audio processing pipelines\n- Transcribing difficult or degraded speech\n\n## Rule Categories by Priority\n\n| Priority | Category | Impact | Prefix | Rules |\n|----------|----------|--------|--------|-------|\n| 1 | Signal Preservation & Analysis | CRITICAL | `signal-` | 5 |\n| 2 | Noise Profiling & Estimation | CRITICAL | `noise-` | 5 |\n| 3 | Spectral Processing | HIGH | `spectral-` | 6 |\n| 4 | Voice Isolation & Enhancement | HIGH | `voice-` | 7 |\n| 5 | Temporal Processing | MEDIUM-HIGH | `temporal-` | 5 |\n| 6 | Transcription & Recognition | MEDIUM | `transcribe-` | 5 |\n| 7 | Forensic Authentication | MEDIUM | `forensic-` | 5 |\n| 8 | Tool Integration & Automation | LOW-MEDIUM | `tool-` | 7 |\n\n## Quick Reference\n\n### 1. Signal Preservation & Analysis (CRITICAL)\n\n- [`signal-preserve-original`](references\u002Fsignal-preserve-original.md) - Never modify original recording\n- [`signal-lossless-format`](references\u002Fsignal-lossless-format.md) - Use lossless formats for processing\n- [`signal-sample-rate`](references\u002Fsignal-sample-rate.md) - Preserve native sample rate\n- [`signal-bit-depth`](references\u002Fsignal-bit-depth.md) - Use maximum bit depth for processing\n- [`signal-analyze-first`](references\u002Fsignal-analyze-first.md) - Analyze before processing\n\n### 2. Noise Profiling & Estimation (CRITICAL)\n\n- [`noise-profile-silence`](references\u002Fnoise-profile-silence.md) - Extract noise profile from silent segments\n- [`noise-identify-type`](references\u002Fnoise-identify-type.md) - Identify noise type before reduction\n- [`noise-adaptive-estimation`](references\u002Fnoise-adaptive-estimation.md) - Use adaptive estimation for non-stationary noise\n- [`noise-snr-assessment`](references\u002Fnoise-snr-assessment.md) - Measure SNR before and after\n- [`noise-avoid-overprocessing`](references\u002Fnoise-avoid-overprocessing.md) - Avoid over-processing and musical artifacts\n\n### 3. Spectral Processing (HIGH)\n\n- [`spectral-subtraction`](references\u002Fspectral-subtraction.md) - Apply spectral subtraction for stationary noise\n- [`spectral-wiener-filter`](references\u002Fspectral-wiener-filter.md) - Use Wiener filter for optimal noise estimation\n- [`spectral-notch-filter`](references\u002Fspectral-notch-filter.md) - Apply notch filters for tonal interference\n- [`spectral-band-limiting`](references\u002Fspectral-band-limiting.md) - Apply frequency band limiting for speech\n- [`spectral-equalization`](references\u002Fspectral-equalization.md) - Use forensic equalization to restore intelligibility\n- [`spectral-declip`](references\u002Fspectral-declip.md) - Repair clipped audio before other processing\n\n### 4. Voice Isolation & Enhancement (HIGH)\n\n- [`voice-rnnoise`](references\u002Fvoice-rnnoise.md) - Use RNNoise for real-time ML denoising\n- [`voice-dialogue-isolate`](references\u002Fvoice-dialogue-isolate.md) - Use source separation for complex backgrounds\n- [`voice-formant-preserve`](references\u002Fvoice-formant-preserve.md) - Preserve formants during pitch manipulation\n- [`voice-dereverb`](references\u002Fvoice-dereverb.md) - Apply dereverberation for room echo\n- [`voice-enhance-speech`](references\u002Fvoice-enhance-speech.md) - Use AI speech enhancement services for quick results\n- [`voice-vad-segment`](references\u002Fvoice-vad-segment.md) - Use VAD for targeted processing\n- [`voice-frequency-boost`](references\u002Fvoice-frequency-boost.md) - Boost frequency regions for specific phonemes\n\n### 5. Temporal Processing (MEDIUM-HIGH)\n\n- [`temporal-dynamic-range`](references\u002Ftemporal-dynamic-range.md) - Use dynamic range compression for level consistency\n- [`temporal-noise-gate`](references\u002Ftemporal-noise-gate.md) - Apply noise gate to silence non-speech segments\n- [`temporal-time-stretch`](references\u002Ftemporal-time-stretch.md) - Use time stretching for intelligibility\n- [`temporal-transient-repair`](references\u002Ftemporal-transient-repair.md) - Repair transient damage (clicks, pops, dropouts)\n- [`temporal-silence-trim`](references\u002Ftemporal-silence-trim.md) - Trim silence and normalize before export\n\n### 6. Transcription & Recognition (MEDIUM)\n\n- [`transcribe-whisper`](references\u002Ftranscribe-whisper.md) - Use Whisper for noise-robust transcription\n- [`transcribe-multipass`](references\u002Ftranscribe-multipass.md) - Use multi-pass transcription for difficult audio\n- [`transcribe-segment`](references\u002Ftranscribe-segment.md) - Segment audio for targeted transcription\n- [`transcribe-confidence`](references\u002Ftranscribe-confidence.md) - Track confidence scores for uncertain words\n- [`transcribe-hallucination`](references\u002Ftranscribe-hallucination.md) - Detect and filter ASR hallucinations\n\n### 7. Forensic Authentication (MEDIUM)\n\n- [`forensic-enf-analysis`](references\u002Fforensic-enf-analysis.md) - Use ENF analysis for timestamp verification\n- [`forensic-metadata`](references\u002Fforensic-metadata.md) - Extract and verify audio metadata\n- [`forensic-tampering`](references\u002Fforensic-tampering.md) - Detect audio tampering and splices\n- [`forensic-chain-custody`](references\u002Fforensic-chain-custody.md) - Document chain of custody for evidence\n- [`forensic-speaker-id`](references\u002Fforensic-speaker-id.md) - Extract speaker characteristics for identification\n\n### 8. Tool Integration & Automation (LOW-MEDIUM)\n\n- [`tool-ffmpeg-essentials`](references\u002Ftool-ffmpeg-essentials.md) - Master essential FFmpeg audio commands\n- [`tool-sox-commands`](references\u002Ftool-sox-commands.md) - Use SoX for advanced audio manipulation\n- [`tool-python-pipeline`](references\u002Ftool-python-pipeline.md) - Build Python audio processing pipelines\n- [`tool-audacity-workflow`](references\u002Ftool-audacity-workflow.md) - Use Audacity for visual analysis and manual editing\n- [`tool-install-guide`](references\u002Ftool-install-guide.md) - Install audio forensic toolchain\n- [`tool-batch-automation`](references\u002Ftool-batch-automation.md) - Automate batch processing workflows\n- [`tool-quality-assessment`](references\u002Ftool-quality-assessment.md) - Measure audio quality metrics\n\n## Essential Tools\n\n| Tool | Purpose | Install |\n|------|---------|---------|\n| FFmpeg | Format conversion, filtering | `brew install ffmpeg` |\n| SoX | Noise profiling, effects | `brew install sox` |\n| Whisper | Speech transcription | `pip install openai-whisper` |\n| librosa | Python audio analysis | `pip install librosa` |\n| noisereduce | ML noise reduction | `pip install noisereduce` |\n| Audacity | Visual editing | `brew install audacity` |\n\n## Workflow Scripts (Recommended)\n\nUse the bundled scripts to generate objective baselines, create a workflow plan, and verify results.\n\n- `scripts\u002Fpreflight_audio.py` - Generate a forensic preflight report (JSON or Markdown).\n- `scripts\u002Fplan_from_preflight.py` - Create a workflow plan template from the preflight report.\n- `scripts\u002Fcompare_audio.py` - Compare objective metrics between baseline and processed audio.\n\nExample usage:\n\n```bash\n# 1) Analyze and capture baseline metrics\npython3 skills\u002F.experimental\u002Faudio-voice-recovery\u002Fscripts\u002Fpreflight_audio.py evidence.wav --out preflight.json\n\n# 2) Generate a workflow plan template\npython3 skills\u002F.experimental\u002Faudio-voice-recovery\u002Fscripts\u002Fplan_from_preflight.py --preflight preflight.json --out plan.md\n\n# 3) Compare baseline vs processed metrics\npython3 skills\u002F.experimental\u002Faudio-voice-recovery\u002Fscripts\u002Fcompare_audio.py \\\n  --before evidence.wav \\\n  --after enhanced.wav \\\n  --format md \\\n  --out comparison.md\n```\n\n## Forensic Preflight Workflow (Do This Before Any Changes)\n\nAlign preflight with SWGDE Best Practices for the Enhancement of Digital Audio (20-a-001) and SWGDE Best Practices for Forensic Audio (08-a-001).\nEstablish an objective baseline state and plan the workflow so processing does not introduce clipping, artifacts, or false \"done\" confidence.\nUse `scripts\u002Fpreflight_audio.py` to capture baseline metrics and preserve the report with the case file.\n\nCapture and record before processing:\n- Record evidence identity and integrity: path, filename, file size, SHA-256 checksum, source, format\u002Fcontainer, codec\n- Record signal integrity: sample rate, bit depth, channels, duration\n- Measure baseline loudness and levels: LUFS\u002FLKFS, true peak, peak, RMS, dynamic range, DC offset\n- Detect clipping and document clipped-sample percentage, peak headroom, exact time ranges\n- Identify noise profile: stationary vs non-stationary, dominant noise bands, SNR estimate\n- Locate the region of interest (ROI) and document time ranges and changes over time\n- Inspect spectral content and estimate speech-band energy and intelligibility risk\n- Scan for temporal defects: dropouts, discontinuities, splices, drift\n- Evaluate channel correlation and phase anomalies (if stereo)\n- Extract and preserve metadata: timestamps, device\u002Fmodel tags, embedded notes\n\nProcedure:\n1. Prepare a forensic working copy, verify hashes, and preserve the original untouched.\n2. Locate ROI and target signal; document exact time ranges and changes across the recording.\n3. Assess challenges to intelligibility and signal quality; map challenges to mitigation strategies.\n4. Identify required processing and plan a workflow order that avoids unwanted artifacts.\n   Generate a plan draft with `scripts\u002Fplan_from_preflight.py` and complete it with case-specific decisions.\n5. Measure baseline loudness and true peak per ITU-R BS.1770 \u002F EBU R 128 and record peak\u002FRMS\u002FDC offset.\n6. Detect clipping and dropouts; if clipping is present, declip first or pause and document limitations.\n7. Inspect spectral content and noise type; collect representative noise profile segments and estimate SNR.\n8. If stereo, evaluate channel correlation and phase; document anomalies.\n9. Create a baseline listening log (multiple devices) and define success criteria for intelligibility and listenability.\n\nFailure-pattern guardrails:\n- Do not process until every preflight field is captured.\n- Document every process, setting, software version, and time segment to enable repeatability.\n- Compare each processed output to the unprocessed input and assess progress toward intelligibility and listenability.\n- Avoid over-processing; review removed signal (filter residue) to avoid removing target signal components.\n- Keep intermediate files uncompressed and preserve sample rate\u002Fbit depth when moving between tools.\n- Perform a final review against the original; if unsatisfactory, revise or stop and report limitations.\n- If the request is not achievable, communicate limitations and do not declare completion.\n- Require objective metrics and A\u002FB listening before declaring completion.\n- Do not rely solely on objective metrics; corroborate with critical listening.\n- Take listening breaks to avoid ear fatigue during extended reviews.\n\n## Quick Enhancement Pipeline\n\n```bash\n# 1. Analyze original (run preflight and capture baseline metrics)\npython3 skills\u002F.experimental\u002Faudio-voice-recovery\u002Fscripts\u002Fpreflight_audio.py evidence.wav --out preflight.json\n\n# 2. Create working copy with checksum\ncp evidence.wav working.wav\nsha256sum evidence.wav > evidence.sha256\n\n# 3. Apply enhancement\nffmpeg -i working.wav -af \"\\\n  highpass=f=80,\\\n  adeclick=w=55:o=75,\\\n  afftdn=nr=12:nf=-30:nt=w,\\\n  equalizer=f=2500:t=q:w=1:g=3,\\\n  loudnorm=I=-16:TP=-1.5:LRA=11\\\n\" enhanced.wav\n\n# 4. Transcribe\nwhisper enhanced.wav --model large-v3 --language en\n\n# 5. Verify original unchanged\nsha256sum -c evidence.sha256\n\n# 6. Verify improvement (objective comparison + A\u002FB listening)\npython3 skills\u002F.experimental\u002Faudio-voice-recovery\u002Fscripts\u002Fcompare_audio.py \\\n  --before evidence.wav \\\n  --after enhanced.wav \\\n  --format md \\\n  --out comparison.md\n```\n\n## How to Use\n\nRead individual reference files for detailed explanations and code examples:\n\n- [Section definitions](references\u002F_sections.md) - Category structure and impact levels\n- [Rule template](assets\u002Ftemplates\u002F_template.md) - Template for adding new rules\n\n## Reference Files\n\n| File | Description |\n|------|-------------|\n| [AGENTS.md](AGENTS.md) | Complete compiled guide with all rules |\n| [references\u002F_sections.md](references\u002F_sections.md) | Category definitions and ordering |\n| [assets\u002Ftemplates\u002F_template.md](assets\u002Ftemplates\u002F_template.md) | Template for new rules |\n| [metadata.json](metadata.json) | Version and reference information |\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fpproenca\u002Fdot-skills\u002Faudio-voice-recovery",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill audio-voice-recovery",{"tool":49,"command":50},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill audio-voice-recovery",{"tool":52,"command":53},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill audio-voice-recovery","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fpproenca\u002Fdot-skills\u002Faudio-voice-recovery\u002FSKILL.md",true,[],[58,68,78,87,93,100],{"skillNo":59,"name":60,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":64,"publishedAt":30},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[63],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[65,66,67],"model","model hierarchy","model hierarchy skill",{"skillNo":69,"name":70,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":74,"publishedAt":30},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[73],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[75,76,77],"MCP","zoom","zoom mcp",{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":30},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[84,85,86,76],"sdk","zoom apps sdk","apps",{"skillNo":88,"name":89,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":30},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[89],{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":99,"publishedAt":30},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[98],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[95],{"skillNo":101,"name":102,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":30},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[102]]