找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 12927|回复: 0

[技术讨论] powershell自动朗读听写脚本实例

[复制链接]
发表于 2022-4-11 16:22:55 | 显示全部楼层 |阅读模式
因为要抄写大量的学习强国之类资料。反复抬头看电脑屏幕、低头于笔记本上抄写。
资料文本存于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. }
复制代码

评分

参与人数 3技术 +3 收起 理由
went + 1 感谢分享
5i365 + 1 技术牛X, 乐于分享
idwma + 1 感谢分享

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:43 , Processed in 0.053107 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表