audio-voice-recovery について
音声フォレンジック、音声強調、文字起こしのワークフロー向けリファレンススキルです。優先順位付きのルールとスクリプトで、事前分析、計画、音声指標の比較を支援します。
主な機能
- 01優先順位付きの音声処理ルール
- 02処理前の保全と分析
- 03ノイズ、スペクトル、人声の処理指針
- 04文字起こしとフォレンジック認証の指針
- 05事前レポートと計画用スクリプト
- 06処理前後の指標比較
活用シーン
- 01ノイズや小音量の録音から音声を復元
- 02文字起こし用の音声準備と結果評価
- 03録音の改ざんや編集箇所の調査
- 04フォレンジック音声処理の記録と確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill audio-voice-recoveryインストール後、Claude Code で/audio-voice-recoveryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonassets/templates/_template.mdreferences/_sections.mdforensic-chain-custody.mdforensic-enf-analysis.mdforensic-metadata.mdforensic-speaker-id.mdforensic-tampering.mdnoise-adaptive-estimation.mdnoise-avoid-overprocessing.mdnoise-identify-type.mdnoise-profile-silence.mdnoise-snr-assessment.mdsignal-analyze-first.mdsignal-bit-depth.mdsignal-lossless-format.mdsignal-preserve-original.mdsignal-sample-rate.mdspectral-band-limiting.mdspectral-declip.mdspectral-equalization.mdspectral-notch-filter.mdspectral-subtraction.mdspectral-wiener-filter.mdtemporal-dynamic-range.mdtemporal-noise-gate.mdtemporal-silence-trim.mdtemporal-time-stretch.mdtemporal-transient-repair.md詳細
法科学的音声研究における音声復元のベストプラクティス
低品質、音量の小さい、または損傷した音声録音から音声を復元するための、CSI レベルの機能を備えた包括的な音声鑑識・音声復元ガイドです。8 つのカテゴリにわたる 45 のルールを収録し、音声の強調、法科学的分析、文字起こしのワークフローを影響度に基づいて優先順位付けしています。
適用する場面
以下のような場合に、このガイドラインを参照してください。
- ノイズの多い録音や低品質の録音から音声を復元する場合
- 文字起こしや法的証拠のために音声を強調する場合
- 音声の法科学的な認証を実施する場合
- 改ざんや編集箇所の有無を調べるために録音を分析する場合
- 自動音声処理パイプラインを構築する場合
- 聞き取りにくい音声や劣化した音声を文字起こしする場合
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス | ルール数 |
|---|---|---|---|---|
| 1 | 信号の保全と分析 | 重大 | signal- | 5 |
| 2 | ノイズのプロファイリングと推定 | 重大 | noise- | 5 |
| 3 | スペクトル処理 | 高 | spectral- | 6 |
| 4 | 音声の分離と強調 | 高 | voice- | 7 |
| 5 | 時間領域の処理 | 中〜高 | temporal- | 5 |
| 6 | 文字起こしと音声認識 | 中 | transcribe- | 5 |
| 7 | 法科学的認証 | 中 | forensic- | 5 |
| 8 | ツール連携と自動化 | 低〜中 | tool- | 7 |
クイックリファレンス
1. 信号の保全と分析(重大)
signal-preserve-original- 元の録音は決して変更しないsignal-lossless-format- 処理には可逆形式を使用するsignal-sample-rate- 元のサンプルレートを維持するsignal-bit-depth- 処理には最大ビット深度を使用するsignal-analyze-first- 処理前に分析する
2. ノイズのプロファイリングと推定(重大)
noise-profile-silence- 無音区間からノイズプロファイルを抽出するnoise-identify-type- ノイズ低減の前にノイズの種類を特定するnoise-adaptive-estimation- 非定常ノイズには適応型推定を使用するnoise-snr-assessment- 処理の前後に SNR を測定するnoise-avoid-overprocessing- 過剰な処理やミュージカルノイズを避ける
3. スペクトル処理(高)
spectral-subtraction- 定常ノイズにはスペクトル減算法を適用するspectral-wiener-filter- 最適なノイズ推定にはウィーナーフィルターを使用するspectral-notch-filter- 音程のある干渉音にはノッチフィルターを適用するspectral-band-limiting- 音声には周波数帯域制限を適用するspectral-equalization- 法科学的イコライゼーションを使用して明瞭度を回復するspectral-declip- 他の処理を行う前にクリッピングされた音声を修復する
4. 音声の分離と強調(高)
voice-rnnoise- リアルタイムの機械学習ノイズ除去には RNNoise を使用するvoice-dialogue-isolate- 複雑な背景音には音源分離を使用するvoice-formant-preserve- ピッチ操作中はフォルマントを維持するvoice-dereverb- 部屋の反響音には残響除去を適用するvoice-enhance-speech- 手早く結果を得るには AI 音声強調サービスを使用するvoice-vad-segment- 対象を絞った処理には VAD を使用するvoice-frequency-boost- 特定の音素に合わせて周波数帯域をブーストする
5. 時間領域の処理(中〜高)
temporal-dynamic-range- ダイナミックレンジ圧縮を使用して音量を均一にしますtemporal-noise-gate- ノイズゲートを適用して、音声以外の区間を無音にしますtemporal-time-stretch- タイムストレッチを使用して明瞭度を高めますtemporal-transient-repair- トランジェントの損傷(クリック音、ポップ音、音切れ)を修復しますtemporal-silence-trim- 無音部分をトリミングし、書き出し前に正規化します
6. 文字起こしと認識(中)
transcribe-whisper- ノイズに強い文字起こしに Whisper を使用しますtranscribe-multipass- 音声が聞き取りにくい場合にマルチパス文字起こしを使用しますtranscribe-segment- 対象を絞った文字起こしのために音声を分割しますtranscribe-confidence- 確信度スコアを記録して、不確かな単語を追跡しますtranscribe-hallucination- ASR のハルシネーションを検出して除外します
7. フォレンジック認証(中)
forensic-enf-analysis- タイムスタンプ検証に ENF 分析を使用しますforensic-metadata- 音声メタデータを抽出して検証しますforensic-tampering- 音声の改ざんや接合を検出しますforensic-chain-custody- 証拠の保管・管理の連鎖を記録しますforensic-speaker-id- 識別のために話者の特徴を抽出します
8. ツールの統合と自動化(低〜中)
tool-ffmpeg-essentials- 基本的な FFmpeg 音声コマンドを習得しますtool-sox-commands- 高度な音声編集に SoX を使用しますtool-python-pipeline- Python 音声処理パイプラインを構築しますtool-audacity-workflow- 視覚的な分析と手動編集に Audacity を使用しますtool-install-guide- 音声フォレンジックのツールチェーンをインストールしますtool-batch-automation- バッチ処理のワークフローを自動化しますtool-quality-assessment- 音声品質の指標を測定します
必須ツール
| ツール | 用途 | インストール |
|---|---|---|
| FFmpeg | フォーマット変換、フィルタリング | brew install ffmpeg |
| SoX | ノイズプロファイリング、エフェクト | brew install sox |
| Whisper | 音声の文字起こし | pip install openai-whisper |
| librosa | Python 音声分析 | pip install librosa |
| noisereduce | ML ノイズ低減 | pip install noisereduce |
| Audacity | 視覚的な編集 | brew install audacity |
ワークフロースクリプト(推奨)
同梱のスクリプトを使用して、客観的なベースラインを生成し、ワークフロー計画を作成して、結果を検証します。
scripts/preflight_audio.py- フォレンジックの事前確認レポートを生成します(JSON または Markdown)。scripts/plan_from_preflight.py- 事前確認レポートからワークフロー計画のテンプレートを作成します。scripts/compare_audio.py- ベースライン音声と処理済み音声の客観的な指標を比較します。
使用例:
# 1) Analyze and capture baseline metrics
python3 skills/.experimental/audio-voice-recovery/scripts/preflight_audio.py evidence.wav --out preflight.json
# 2) Generate a workflow plan template
python3 skills/.experimental/audio-voice-recovery/scripts/plan_from_preflight.py --preflight preflight.json --out plan.md
# 3) Compare baseline vs processed metrics
python3 skills/.experimental/audio-voice-recovery/scripts/compare_audio.py \
--before evidence.wav \
--after enhanced.wav \
--format md \
--out comparison.md
フォレンジック事前確認ワークフロー(変更前に必ず実施)
SWGDE Best Practices for the Enhancement of Digital Audio (20-a-001) および SWGDE Best Practices for Forensic Audio (08-a-001) に沿って事前確認を行います。
客観的なベースライン状態を確立し、処理によってクリッピング、アーティファクト、または誤った「完了」の確信が生じないようにワークフローを計画します。
scripts/preflight_audio.py を使用してベースライン指標を取得し、レポートをケースファイルとともに保存します。
処理前に取得・記録する項目:
- 証拠の識別情報と完全性を記録します:パス、ファイル名、ファイルサイズ、SHA-256 チェックサム、ソース、フォーマット/コンテナ、コーデック
- 信号の完全性を記録します:サンプルレート、ビット深度、チャンネル数、再生時間
- ベースラインのラウドネスとレベルを測定します:LUFS/LKFS、トゥルーピーク、ピーク、RMS、ダイナミックレンジ、DC オフセット
- クリッピングを検出し、クリップしたサンプルの割合、ピークヘッドルーム、正確な時間範囲を記録します
- ノイズプロファイルを特定します:定常ノイズか非定常ノイズか、主要なノイズ帯域、SNR の推定値
- 関心領域(ROI)を特定し、時間範囲と時間経過に伴う変化を記録します
- スペクトル成分を調べ、音声帯域エネルギーと明瞭度へのリスクを推定します
- 時間的な欠陥をスキャンします:ドロップアウト、不連続、スプライス、ドリフト
- チャンネル間の相関と位相の異常を評価します(ステレオの場合)
- メタデータを抽出して保存します:タイムスタンプ、デバイス/モデルタグ、埋め込みメモ
手順:
- フォレンジック用の作業コピーを準備し、ハッシュを検証して、元データには一切手を加えず保存します。
- ROI と対象信号を特定し、正確な時間範囲と録音全体を通じた変化を記録します。
- 明瞭度と信号品質に影響する課題を評価し、課題と緩和策を対応付けます。
- 必要な処理を特定し、望ましくないアーティファクトを避ける処理順を計画します。
scripts/plan_from_preflight.pyで計画の草案を生成し、ケース固有の判断を加えて完成させます。 - ITU-R BS.1770 / EBU R 128 に基づいてベースラインのラウドネスとトゥルーピークを測定し、ピーク/RMS/DC オフセットを記録します。
- クリッピングとドロップアウトを検出します。クリッピングがある場合は、まずデクリッピングを行うか、作業を中断して制約を記録します。
- スペクトル成分とノイズの種類を調べ、代表的なノイズプロファイルの区間を収集して SNR を推定します。
- ステレオの場合は、チャンネル間の相関と位相を評価し、異常を記録します。
- 複数のデバイスを使ったベースラインの聴取ログを作成し、明瞭度と聴きやすさの成功基準を定めます。
失敗パターンを防ぐためのガードレール:
- 事前確認のすべての項目を取得するまで、処理を行わないでください。
- 再現できるよう、各処理、設定、ソフトウェアのバージョン、時間区間をすべて記録してください。
- 処理済みの出力を未処理の入力と比較し、明瞭度と聴きやすさの向上度を評価してください。
- 過剰な処理を避け、除去された信号(フィルター残差)を確認して、対象信号の成分を取り除いていないことを確かめてください。
- 中間ファイルは非圧縮のまま保ち、ツール間で移動する際はサンプルレート/ビット深度を維持してください。
- 元データと照合して最終確認を行ってください。満足できない場合は修正するか、作業を中止して制約を報告してください。
- 要求された内容が実現できない場合は、制約を伝え、完了したと宣言しないでください。
- 完了を宣言する前に、客観的な指標と A/B 聴取を必須としてください。
- 客観的な指標だけに頼らず、批判的な聴取で裏付けてください。
- 長時間の確認では、耳の疲労を避けるために聴取の休憩を取ってください。
クイック音声強調パイプライン
# 1. Analyze original (run preflight and capture baseline metrics)
python3 skills/.experimental/audio-voice-recovery/scripts/preflight_audio.py evidence.wav --out preflight.json
# 2. Create working copy with checksum
cp evidence.wav working.wav
sha256sum evidence.wav > evidence.sha256
# 3. Apply enhancement
ffmpeg -i working.wav -af "\
highpass=f=80,\
adeclick=w=55:o=75,\
afftdn=nr=12:nf=-30:nt=w,\
equalizer=f=2500:t=q:w=1:g=3,\
loudnorm=I=-16:TP=-1.5:LRA=11\
" enhanced.wav
# 4. Transcribe
whisper enhanced.wav --model large-v3 --language en
# 5. Verify original unchanged
sha256sum -c evidence.sha256
# 6. Verify improvement (objective comparison + A/B listening)
python3 skills/.experimental/audio-voice-recovery/scripts/compare_audio.py \
--before evidence.wav \
--after enhanced.wav \
--format md \
--out comparison.md
使用方法
詳細な説明とコード例については、各リファレンスファイルを参照してください。
リファレンスファイル
| ファイル | 説明 |
|---|---|
| AGENTS.md | すべてのルールをまとめた完全ガイド |
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/_template.md | 新しいルール用のテンプレート |
| metadata.json | バージョンとリファレンス情報 |