Voicevoxの話者とIDのリストを得るバッチ

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

楽天モバイルのMTU

以下のバッチファイルで確認する限り、1352+28=1380か。

@echo off
setlocal EnableDelayedExpansion
set HOST=www.google.com
for /L %%i in (1472,-1,1272) do (
    ping -n 1 -f -l %%i %HOST% >nul 2>&1
    rem1回目はウォームアップ ↑
    ping -n 1 -f -l %%i %HOST% >nul 2>&1
    if not errorlevel 1 (
        set /A MTU=%%i+28
        set /A FAIL_PAYLOAD=%%i+1
        echo.
        echo 成功!!!
        echo Path MTU: %%i+28=!MTU! bytes
        echo.
        echo 確認中...
        ping -n 3 -f -l %%i %HOST%
        ping -n 3 -f -l !FAIL_PAYLOAD! %HOST%
        goto :EOF
    )
)
echo 1300~1500に最適なMTUが見つかりませんでした。
pause

vcvars32.bat と vcvars64.bat の在処 on Visual Studio 2026 Community

Visual Studio 2026 Community の vcvars32.bat と vcvars64.bat の在処は

 C:\Program Files\Microsoft Visual Studio\18\Community\VC\Auxiliary\Build

例えば

call "C:\Program Files\Microsoft Visual Studio\18\Community\VC\Auxiliary\Build\vcvars32.bat"

rc /DWIN32 hoge.rc
cl /DWIN32 /Ot /O1 /Oy /Wall /Fe:hoge.exe hoge.c kernel32.lib gdi32.lib user32.lib Dwmapi.lib uxtheme.lib hoge.res > err.txt

みたいに書けばOK。

TV Stickのリセット方法メモ

Chromecastのリセット方法
  1. コンセント抜き差し。
  2. ランプがオレンジ色の間にリセットボタンをGoogleのロゴが表示されるまで長押し(20〜30秒)。
  3. 「no command」の表示が出たらボタンをもう一度押す。
  4. BIOSメニューのようなもの(fastbootリカバリー)が表示される。 ボタン押してカーソル動かし、長押しで選択(工場出荷時設定に戻せる)。

 

Fire TV Stick 4K の safe mode の入り方

Ctrl+Alt+Menu+PrintScrn+"i" with USB OTG キーボード

TYC

もう大人なら
生き様を心得つつありますね。
だからこそ、その道のりを度忘れ
昔の自分を思い出してみて。

子どもに教えてあげて、
親たちもかつては無力だったことを。
子どもに聞かせてあげて、
昔の夢を。
子どもの選択はじきに分かります。

でも理由は訊かないで、
泣かされるだけだから。
ただ見守っていれば悟るでしょう、
結局我が子なのだなと。
そして自分が確かに愛されていることを。


まだ子供だから
親たちのかつての苦悩を知らないでしょう。
だからこそ、親が信念を貫けるように
若さをもって支えてあげて。

親たちに教えてあげて、
子は強さを身に着けていくことを。
親たちに聞かせてあげて、
将来の夢を。
いずれ親たちの考えを知るときが来ます。

でも理由は訊かないで、
泣かされるだけだから。
ただよく見ていれば悟るでしょう、
やっぱり自分の親だったと。
そして自分が確かに愛されていることを。

PDFの編集用バッチファイルのメモ

PDFの余白を削除

@echo on
for %%V in (%*) do (
pdfcrop --margins "0 0 0 0" "%%V" "%%~dpnV-c.pdf"
)

A4判PDFの中央部をB5に切り取る(大体)

@echo on
for %%V in (%*) do (
rungs -q -dNOPAUSE -dBATCH -o "%%~dpnV-b5.pdf" -sDEVICE=pdfwrite -dDEVICEWIDTHPOINTS=516 -dDEVICEHEIGHTPOINTS=728 -dFIXEDMEDIA -c "<</PageOffset [-36 -37]>> setpagedevice" -f "%%~dpnV.pdf"
)

複数のPDFを連結

@echo off
echo %* will be merged.

set /p out="Put the output file name: "
echo wait for a while...
rungs.exe -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%out% %*
pause
)

PDFのファイルサイズを小さく

@echo on
for %%V in (%*) do (
rungs.exe -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%%~dpnV-s.pdf" "%%V" 
)
pause

PDFのファイルサイズをもっと小さく

@echo on
for %%V in (%*) do (
rungs.exe -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%%~dpnV-s.pdf" "%%V" 
)
pause

まとめたもの

@echo off
echo 1. 複数ファイルを連結
echo 2. 余白を調整(初期値: 0 0 0 0)
echo 3. A4 → B5(中央部切り抜き)
echo 4. ファイルサイズを小さく
echo 5. もっと小さく(低品質)
echo 6. 白黒PDFに
set /p choice="choose 1/2/3/4/5/6: "

if "%choice%"=="1" goto P01
if "%choice%"=="2" goto P02
if "%choice%"=="3" goto P03
if "%choice%"=="4" goto P04
if "%choice%"=="5" goto P05
if "%choice%"=="6" goto P06
goto END

:P01
@echo on
echo %* will be merged.
set /p out="Put the output file name: "
echo wait for a while...
rungs.exe -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="%out%" %*
pause
goto END

:P02
setlocal enabledelayedexpansion
@echo on
set /p mgn="余白(mm)を指定(default 0 0 0 0):"
if "%mgn%"=="" set "mgn=0 0 0 0"
set "list="
for %%i in (%mgn%) do (
    set /a intPart=%%i*10000/3527
    set "list=!list!!intPart! "
)
for /f "delims=" %%A in ('echo !list!') do endlocal & set "M=%%A"
for %%V in (%*) do (
    pdfcrop --margins "%M%" "%%V" "%%~dpnV-c.pdf"
)
goto END

:P03
@echo on
for %%V in (%*) do (
    rungs -q -dNOPAUSE -dBATCH -o "%%~dpnV-b5.pdf" -sDEVICE=pdfwrite -dDEVICEWIDTHPOINTS=516 -dDEVICEHEIGHTPOINTS=728 -dFIXEDMEDIA -c "<</PageOffset [-36 -37]>> setpagedevice" -f "%%~dpnV.pdf"
)
goto END

:P04
@echo on
for %%V in (%*) do (
    rungs.exe -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%%~dpnV-s.pdf" "%%V"
)
pause
goto END

:P05
@echo on
for %%V in (%*) do (
    rungs.exe -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%%~dpnV-s.pdf" "%%V"
)
pause
goto END

:P06
@echo on
for %%V in (%*) do (
    rungs.exe -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dProcessColorModel=/DeviceGray -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%%~dpnV_g.pdf" "%%V"
)
pause
goto END

:END

emf2pdf...

【方法1】 metafile2eps: BA for now. 重なりが変?

set path="C:\Program Files (x86)\Metafile to EPS Converter";%PATH%
for %%V in (%*) do (
metafile2eps.exe "%%V" "%%~dpnV.eps"
epstopdf %%~dpnV.eps 
pdfcrop "%%~dpnV.pdf" "%%~dpnV.pdf"
)

https://wiki.lyx.org/Windows/MetafileToEPSConverter

【方法2】 Inkscape: 点線が変?文字が重なったり?文字がなければBA?

for %%V in (%*) do (
"C:\Program Files\Inkscape\bin\inkscape" "%%V" --export-filename="%%~dpnV.pdf"
pdfcrop "%%~dpnV.pdf" "%%~dpnV.pdf"
)

https://inkscape.org/release/inkscape-1.3.2/windows/64-bit/msi/

【方法3】 LibreOffice: 線の太さがダメダメ、点線も変?

set path="C:\Program Files\LibreOffice\program\;%PATH%
for %%V in (%*) do (
soffice --headless --convert-to pdf "%%V"
pdfcrop "%%~dpnV.pdf" "%%~dpnV.pdf"
)

https://ja.libreoffice.org/download/download/

【方法4】 ImageMagick: どうもうまくいかない?

set path="C:\Program Files\ImageMagick-7.1.1-Q16-HDRI";%PATH%
for %%V in (%*) do (
cd "%%~dpV"
convert "%%~nxV" "%%~nV.pdf"
pdfcrop "%%~nV.pdf" "%%~nV.pdf"
)

https://imagemagick.org/script/convert.php

【方法5】 Irfan: ラスターになってしまう?

set path="C:\Program Files\ImageMagick-7.1.1-Q16-HDRI";%PATH%
for %%V in (%*) do (
cd "%%~dpV"
convert "%%~nxV" "%%~nV.pdf"
pdfcrop "%%~nV.pdf" "%%~nV.pdf"
)

https://forest.watch.impress.co.jp/library/software/irfanview/

【方法6】 PDF-XChange Editor + Bullzip: PDF-XChange Editor は emf を表示できるので、それを仮想プリンタでPDFファイルにすればよい。 イイ感じではあったけどバッチ処理のための設定が面倒だったのでやめた。

https://www.pdf-xchange.com/product/downloads

https://www.bullzip.com/products/pdf/download.php