animede/sound-efect

easy sound-efect generater

32

stars

1

commits

Python

primary language

Jul 12, 2026

updated

README

SFX Generator

Stable Audio 3 Small SFX を使ったローカル効果音生成アプリ。 バックエンド: FastAPI(単独起動、外部アプリからREST呼び出し可)。フロントエンド: 静的SPA(FastAPIが配信)。

起動方法

cd /home/animede/sound-efect
./venv/bin/python -m app.main                  # host/port は既定値(0.0.0.0:8600)
./venv/bin/python -m app.main --port 8080       # ポート変更
./venv/bin/python -m app.main --reload          # 開発用オートリロード
# または
./venv/bin/uvicorn app.main:app --port 8600

ブラウザで http://<host>:8600/ を開く。

初回起動時、stable_audio_3.StableAudioModel.from_pretrained("small-sfx") がバックグラウンドスレッドで Hugging Face からモデルをダウンロードする。stabilityai/stable-audio-3-small-sfx のゲート(ライセンス同意)が未承認だと 403 で失敗し、そのエラーは /api/statusmodel_error に保持される (生成エンドポイントは 503 を返す)。承認後は huggingface-cli login 等でトークンを設定してから再起動すること。

設定(環境変数)

変数既定値説明
SFX_HOST0.0.0.0待受ホスト
SFX_PORT8600待受ポート
SFX_MODELsmall-sfxStableAudioModel.from_pretrained に渡すモデル名
SFX_DEVICEcudacuda / cpu
SFX_DATA_DIR./generatedWAV と sounds.db の置き場所
SFX_LLM_URLhttp://127.0.0.1:64652/v1翻訳用ローカルLLM(OpenAI互換API)
SFX_LLM_MODELunsloth/gemma-4-E4B-it-GGUF翻訳に使うモデル名

API 一覧

すべて JSON。エラーは {"detail": "..."}

メソッドパス説明
GET/api/statusモデル/翻訳サーバの状態
GET/api/presetsプリセット一覧(約40種)
POST/api/generate効果音を生成(prompt または preset_id)
GET/api/sounds生成済み一覧(新しい順)
GET/api/sounds/{id}1件取得
GET/api/sounds/{id}/audio?download=0|1WAV 取得/ダウンロード
PATCH/api/sounds/{id}改名({"name": "..."})
DELETE/api/sounds/{id}削除
POST/api/sounds/{id}/cut区間削除({"start_s", "end_s"})
POST/api/sounds/{id}/undo直前のカットを1段階アンドゥ
GET/static/index.html を配信

詳細な仕様(リクエスト/レスポンスの形状、バリデーション)は docs/DESIGN.md を参照。

ディレクトリ構成

app/            FastAPI バックエンド
  main.py       起動エントリポイント
  config.py     設定(環境変数)
  sfx_model.py  StableAudioModel ラッパー
  translate.py  日本語→英語翻訳
  store.py      SQLite + WAV 管理
  presets.py    プリセット定義
  routers/api.py  /api/* エンドポイント
static/         フロントエンド(素のHTML/CSS/JS, wavesurfer.js vendor同梱)
generated/      生成された WAV と sounds.db(git管理外)
docs/DESIGN.md  API契約

ライセンス

本アプリは音声生成に Stability AI の Stable Audio 3 Small SFX モデルを使用しています。

Powered by Stability AI

モデル本体は Stability AI Community License の下で提供されており、利用にはライセンスへの同意(Hugging Face 上でのゲート承認)が必要です。 本リポジトリのアプリケーションコード自体のライセンスはモデルのライセンスとは別です。

Contributors

animede/sound-efect

easy sound-efect generater

32

stars

1

commits

Python

primary language

Jul 12, 2026

updated

README

SFX Generator

Stable Audio 3 Small SFX を使ったローカル効果音生成アプリ。 バックエンド: FastAPI(単独起動、外部アプリからREST呼び出し可)。フロントエンド: 静的SPA(FastAPIが配信)。

起動方法

cd /home/animede/sound-efect
./venv/bin/python -m app.main                  # host/port は既定値(0.0.0.0:8600)
./venv/bin/python -m app.main --port 8080       # ポート変更
./venv/bin/python -m app.main --reload          # 開発用オートリロード
# または
./venv/bin/uvicorn app.main:app --port 8600

ブラウザで http://<host>:8600/ を開く。

初回起動時、stable_audio_3.StableAudioModel.from_pretrained("small-sfx") がバックグラウンドスレッドで Hugging Face からモデルをダウンロードする。stabilityai/stable-audio-3-small-sfx のゲート(ライセンス同意)が未承認だと 403 で失敗し、そのエラーは /api/statusmodel_error に保持される (生成エンドポイントは 503 を返す)。承認後は huggingface-cli login 等でトークンを設定してから再起動すること。

設定(環境変数)

変数既定値説明
SFX_HOST0.0.0.0待受ホスト
SFX_PORT8600待受ポート
SFX_MODELsmall-sfxStableAudioModel.from_pretrained に渡すモデル名
SFX_DEVICEcudacuda / cpu
SFX_DATA_DIR./generatedWAV と sounds.db の置き場所
SFX_LLM_URLhttp://127.0.0.1:64652/v1翻訳用ローカルLLM(OpenAI互換API)
SFX_LLM_MODELunsloth/gemma-4-E4B-it-GGUF翻訳に使うモデル名

API 一覧

すべて JSON。エラーは {"detail": "..."}

メソッドパス説明
GET/api/statusモデル/翻訳サーバの状態
GET/api/presetsプリセット一覧(約40種)
POST/api/generate効果音を生成(prompt または preset_id)
GET/api/sounds生成済み一覧(新しい順)
GET/api/sounds/{id}1件取得
GET/api/sounds/{id}/audio?download=0|1WAV 取得/ダウンロード
PATCH/api/sounds/{id}改名({"name": "..."})
DELETE/api/sounds/{id}削除
POST/api/sounds/{id}/cut区間削除({"start_s", "end_s"})
POST/api/sounds/{id}/undo直前のカットを1段階アンドゥ
GET/static/index.html を配信

詳細な仕様(リクエスト/レスポンスの形状、バリデーション)は docs/DESIGN.md を参照。

ディレクトリ構成

app/            FastAPI バックエンド
  main.py       起動エントリポイント
  config.py     設定(環境変数)
  sfx_model.py  StableAudioModel ラッパー
  translate.py  日本語→英語翻訳
  store.py      SQLite + WAV 管理
  presets.py    プリセット定義
  routers/api.py  /api/* エンドポイント
static/         フロントエンド(素のHTML/CSS/JS, wavesurfer.js vendor同梱)
generated/      生成された WAV と sounds.db(git管理外)
docs/DESIGN.md  API契約

ライセンス

本アプリは音声生成に Stability AI の Stable Audio 3 Small SFX モデルを使用しています。

Powered by Stability AI

モデル本体は Stability AI Community License の下で提供されており、利用にはライセンスへの同意(Hugging Face 上でのゲート承認)が必要です。 本リポジトリのアプリケーションコード自体のライセンスはモデルのライセンスとは別です。

Contributors

Languages

Python

37.3%

JavaScript

31.6%

CSS

21.7%

HTML

9.4%