Voicevoxを立ち上げた状態で、以下のバッチファイルを実行する。
@echo off chcp 65001 > nul setlocal set API_URL=http://localhost:50021/speakers set OUTPUT_FILE=speakers.json set LOGFILE=vv_speakers.txt set PSFILE=%TEMP%\vv_tmp.ps1 curl -s -o "%OUTPUT_FILE%" "%API_URL%" if %ERRORLEVEL% neq 0 ( echo [ERROR] curl failed. Is VOICEVOX running? pause exit /b 1 ) echo $OutputEncoding = [System.Text.Encoding]::UTF8 > "%PSFILE%" echo [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 >> "%PSFILE%" echo $list = Get-Content '%OUTPUT_FILE%' -Encoding UTF8 -Raw ^| ConvertFrom-Json >> "%PSFILE%" echo $list ^| ForEach-Object { $n = $_.name; $_.styles ^| ForEach-Object { Write-Host ^('{0} / {1} ^(ID:{2}^)' -f $n, $_.name, $_.id^) } } >> "%PSFILE%" powershell -ExecutionPolicy Bypass -File "%PSFILE%" > "%LOGFILE%" del "%PSFILE%" type "%LOGFILE%" echo. echo %LOGFILE% に書き出しました。 pause