# Whisper Local Program Documentation

## 1) プログラムの動作
このプログラムは、音声ファイルをテキストに変換するためのもので、OpenAIのWhisperモデルを使用しています。指定された音声ファイルを読み込み、音声をテキストにトランスクリプトします。プログラムは、音声を一度に処理するモード（`once`）と、音声をセグメントに分割して再認識するモード（`split`）の2つのモードをサポートしています。トランスクリプト結果は指定された出力ファイルに保存されます。

## 2) 必要な非標準ライブラリとインストールコマンド
このプログラムを実行するためには、以下の非標準ライブラリが必要です。

- `torch`
  - インストールコマンド: 
    ```bash
    pip install torch
    ```
- `whisper`
  - インストールコマンド: 
    ```bash
    pip install whisper
    ```
- `pydub`
  - インストールコマンド: 
    ```bash
    pip install pydub
    ```

これらのライブラリは、音声処理とトランスクリプションのために必要です。

## 3) 必要な入力ファイル
プログラムは、音声ファイルのパスを入力として受け取ります。音声ファイルは、サポートされている形式（例: WAV, MP3など）である必要があります。

## 4) 実行後に生成される出力ファイル
プログラムは、トランスクリプト結果をテキストファイルとして出力します。出力ファイルの名前は、入力ファイル名に「-transcribed」を付加したものになります。出力ファイルは、指定された出力パスに保存されます。

## 5) コマンドラインでの使用例 (Usage)
プログラムはコマンドラインから以下のように実行できます。

```bash
python whisper_local.py <input_audio_file> [<output_text_file>] [<mode>] [<model>] [<language>]
```

### 引数の説明
- `<input_audio_file>`: トランスクリプトする音声ファイルのパス（必須）
- `<output_text_file>`: 出力テキストファイルのパス（オプション、指定しない場合はデフォルトの名前が使用される）
- `<mode>`: モード（`once`または`split`、デフォルトは`once`）
- `<model>`: 使用するWhisperモデル（`small`, `base`, `medium`, `large`、デフォルトは`small`）
- `<language>`: 音声の言語（デフォルトは`ja`）

### 使用例
```bash
python whisper_local.py audio.wav
```
このコマンドは、`audio.wav`をトランスクリプトし、デフォルトの出力ファイル名で保存します。

```bash
python whisper_local.py audio.wav output.txt split large en
```
このコマンドは、`audio.wav`を`output.txt`にトランスクリプトし、`split`モードで`large`モデルを使用して英語で処理します。