当前位置:   article > 正文

python edge-tts实现文本转语音的小软件_python jupyter edgetts

python jupyter edgetts

运行截图

主要功能实现

        1.文本转语音功能

  1. async def conversion(text, output, role, rate, volume):
  2. tts = edge_tts.Communicate(text=text, voice=role, rate=rate, volume=volume)
  3. await tts.save(output)

        2.轮播图实现

  1. def carousel(self, img_index=0):
  2. if img_index >= len(self.carousels):
  3. img_index = 0
  4. self.label2.config(image=self.carousels[img_index])
  5. self.form.after(self.carousel_time * 1000, self.carousel, img_index + 1)

        3.为了保证UI的流畅,定义Worker类利用线程池来执行耗时任务(可以用来执行同步任务和异步任务,任务完成后将返回值传递给回调函数when_done)

  1. class Worker(object):
  2. thread_pool = None
  3. def __init__(self, task, when_done, *args, synchronous=True):
  4. self._task = task
  5. self._args = args
  6. self.synchronous = synchronous
  7. self.when_done = when_done
  8. def _my_task(self):
  9. try:
  10. if self.synchronous:
  11. res = self._task()
  12. else:
  13. res = asyncio.run(self._task(*self._args))
  14. except Exception as e:
  15. res = False, e
  16. self.when_done(res)
  17. def start(self):
  18. if not Worker.thread_pool:
  19. Worker.thread_pool = ThreadPoolExecutor(max_workers=1)
  20. Worker.thread_pool.submit(self._my_task)

代码结构

最后欢迎大家在评论区讨论

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/589237
推荐阅读
相关标签
  

闽ICP备14008679号