批量vtt转lrc

最近在听dlsite的音声,但是.vtt格式的字幕文件在常规手机播放器上无法正常使用。因此想实现最简单的批量vtt转lrc,在网上查找无果后决定自己搞一个。代码如下:

@echo off
chcp 65001

setlocal EnableDelayedExpansion

:: 遍历当前目录下的所有 .vtt 文件
for %%f in (*.vtt) do (
    echo Converting: %%f

    :: 获取不含扩展名的文件基本名,并移除可能的后缀,这部分可自行进行增添
    set "base_name=%%~nf"
    set "base_name=!base_name:.mp3=!"
    set "base_name=!base_name:.vtt=!"
    set "base_name=!base_name:.wav=!"

    :: 创建对应的 .lrc 文件名
    set "lrc_file=!base_name!.lrc"
    echo. > "!lrc_file!"
    set "counter=0"

    :: 读取并转换每一行
    for /f "tokens=*" %%i in (%%f) do (
        set /a counter+=1
        if !counter! geq 3 (
            if !counter!==3 (
                set "ttt=%%i"
            )
            if !counter!==4 (
                echo [!ttt:~3,8!]%%i>>"!lrc_file!"
                set "counter=1"
            )
        )
    )
)

echo All .vtt files have been converted to .lrc format.
pause
endlocal

 这段代码基于fesdfe288大佬的代码进行修改,原文地址vtt转lrc批处理文件_vtt字幕文件转化为lrc-CSDN博客。将原来的转换指定文件更改为转换当前目录所有后缀为vtt的文件,并删除无关后缀残余,适用于单个目录内批量处理(就是同人音声)。经多组测试,测试的文件使用potplayer可以正常播放转换后歌词。

备注:原来存在的问题现在也依然存在,具体情况可参考原文。本修改仅针对特定用途进行。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值