楽曲リリース準備自動化のコード実装
GitHub Actionsを使った音楽制作ワークフローの実装例です。国内配信基準に対応した設定を含みます。
楽曲リリース準備ワークフロー
WAVファイルがアップロードされると自動実行されます:
name: 楽曲リリース準備
on:
push:
paths:
– ‘tracks/**/*.wav’
jobs:
prepare:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v3
– name: FFmpeg セットアップ
run: sudo apt-get install ffmpeg
– name: 音声変換(320kbps MP3)
run: |
for file in tracks/*.wav; do
ffmpeg -i “$file” -codec:a libmp3lame -b:a 320k “${file%.wav}.mp3”
done
– name: 日本語メタデータ追加
run: python add_jp_metadata.py
env:
JASRAC_CODE: ${{ secrets.JASRAC_CODE }}
on:
push:
paths:
– ‘tracks/**/*.wav’
jobs:
prepare:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v3
– name: FFmpeg セットアップ
run: sudo apt-get install ffmpeg
– name: 音声変換(320kbps MP3)
run: |
for file in tracks/*.wav; do
ffmpeg -i “$file” -codec:a libmp3lame -b:a 320k “${file%.wav}.mp3”
done
– name: 日本語メタデータ追加
run: python add_jp_metadata.py
env:
JASRAC_CODE: ${{ secrets.JASRAC_CODE }}
音声品質チェックワークフロー
音声ファイルの品質を自動チェック:
name: 音声品質チェック
on:
push:
paths:
– ‘audio/**/*.{wav,mp3}’
jobs:
quality-check:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v3
– name: 音声解析ツールセットアップ
run: |
sudo apt-get install sox
pip install librosa numpy
– name: 品質チェック実行
run: python audio_quality_check.py
– name: Slack通知(問題検出時)
if: failure()
uses: 8398a7/action-slack@v3
with:
status: failure
text: 音声品質に問題があります
on:
push:
paths:
– ‘audio/**/*.{wav,mp3}’
jobs:
quality-check:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v3
– name: 音声解析ツールセットアップ
run: |
sudo apt-get install sox
pip install librosa numpy
– name: 品質チェック実行
run: python audio_quality_check.py
– name: Slack通知(問題検出時)
if: failure()
uses: 8398a7/action-slack@v3
with:
status: failure
text: 音声品質に問題があります
国内配信基準への対応
音質設定
- ビットレート:320kbps(CD品質)
- サンプリングレート:44.1kHz
- チャンネル:ステレオ
メタデータ管理
- JASRACコード:著作権管理番号
- ISRCコード:国際標準レコーディングコード
- 日本語タグ:UTF-8エンコーディング
チェック項目
- 音量レベル(LUFS基準)
- クリッピング検出
- 無音部分の確認
- 周波数解析
- ファイル形式検証