Board logo

标题: [技术讨论] powershell自动朗读听写脚本实例 [打印本页]

作者: for_flr    时间: 2022-4-11 16:22     标题: powershell自动朗读听写脚本实例

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





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2