批处理之家's Archiver

for_flr 发表于 2022-4-11 16:22

powershell自动朗读听写脚本实例

因为要抄写大量的学习强国之类资料。反复抬头看电脑屏幕、低头于笔记本上抄写。
资料文本存于read.txt,遂写一段脚本用于朗读听写,自娱自乐。
分享到论坛,路过的朋友可以帮忙润色就更好了。[code]
add-type -assemblyname system.speech
$speaker=new-object system.speech.synthesis.speechsynthesizer
$speaker.rate=-5
$speaker.volume=100
#添加类型,定义语音速率音量。
function wait-key{
#10秒内获取按键,根据按键决定重复朗读或者暂停或者快速跳到下一句。
    while($counter++ -lt 10){
        if($host.ui.rawui.keyavailable){
            $null=$key=$host.ui.rawui.readkey("noecho,includekeyup").character
            break
        }
        else{
            write-host $counter
            sleep -s 1            
        }
    }
return($key)
}
$txt=gc read.txt
$txt.split(',。!;?')|%{
    $_
    $speaker.speak($_)
    if($_.length -lt 6){
        sleep -s 5
#短句子,停顿5秒用于抄写
    }else{
        $key=wait-key
#长句子,停顿10秒用于抄写。
        if($key){
#10秒等待期间,按数字暂停,按点号跳过等待,其他键重复上一句。
            if($key -match '^\d$'){
                cmd /c pause
            }elseif($key -eq "."){
                $key
            }else{
                $speaker.speak($_)
                sleep -s 5
            }
        rv key
        }
    }
}[/code]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.