Parallel TTS web demo based on Flask + Vue (Vuetify).

Related tags

Flask flask demo web vue tts
Overview

PTTS 网页演示

[TOC]

使用 Flask + Vue(框架:Vuetify)完成的语音合成单网页演示项目,语音合成后端基于我的另一个项目 atomicoo/ParallelTTS

目录结构

.
|--- backend/
     |--- pretrained/  # 预训练模型
     |--- mytts.py     # 封装 TTS 类
     |--- ...
|--- dist/             # 前端的编译输出
|--- frontend/
     |--- public/
     |--- src/
          |--- components/
               |--- MyParaTTS.vue  # 语音合成页面
          |--- ...
     |--- ...
|--- client.py         # 接口测试脚本
|--- LICENSE
|--- README.md         # 说明文档
|--- requirements.txt  # 依赖文件
|--- server.py         # 服务器端启动脚本

快速开始

$ git clone https://github.com/atomicoo/PTTS-WebAPP.git
$ cd PTTS-WebAPP/frontend/
$ npm install --save
$ npm run dev
$ cd ..
$ pip install -r requirements.txt
$ python server.py
$ python client.py

运行 npm run dev 命令后,项目根目录下应该已经生成前端代码的编译输出,在 ./dist/ 目录下。

运行 python server.py 命令后,服务器端已经启动,可以先试试 python client.py 测试一下语音合成接口是否正常。

如果至此一切正常,那直接访问 http://localhost:5000/ 即可。

image-20210412175503742

一些问题

  • 语音合成后端基于我自己的另一个项目 atomicoo/ParallelTTS,但为了简化重构了代码结构,如果想要换成其他语言的话,理论上只需要替换掉 ./config/ 下的配置文件和 ./pretrained/ 下的模型文件即可,但没有经过完全测试,不能确保不会出现问题。
  • 目前只支持调整语速,后续会增加音量和语调的调整,如果有大佬能帮忙搞定就更好了 [doge]。(已完成)
  • 语调的调整使用 变速不变调(TSM)+ 重采样 方案来完成;音量的调整使用比较简单粗暴的方式,后续会改掉。

参考资料

You might also like...
A Fast API style support for Flask. Gives you MyPy types with the flexibility of flask
A Fast API style support for Flask. Gives you MyPy types with the flexibility of flask

Flask-Fastx Flask-Fastx is a Fast API style support for Flask. It Gives you MyPy types with the flexibility of flask. Compatibility Flask-Fastx requir

Flask-app scaffold, generate flask restful backend

Flask-app scaffold, generate flask restful backend

Flask pre-setup architecture. This can be used in any flask project for a faster and better project code structure.

Flask pre-setup architecture. This can be used in any flask project for a faster and better project code structure. All the required libraries are already installed easily to use in any big project.

Pf-flask-rest-com - Flask REST API Common Implementation by Problem Fighter Library

In the name of God, the Most Gracious, the Most Merciful. PF-Flask-Rest-Com Docu

Flask-Discord-Bot-Dashboard - A simple discord Bot dashboard created in Flask Python
Flask-Discord-Bot-Dashboard - A simple discord Bot dashboard created in Flask Python

Flask-Discord-Bot-Dashboard A simple discord Bot dashboard created in Flask Pyth

Open-source Flask Sample built on top of flask-dance library
Open-source Flask Sample built on top of flask-dance library

Open-source Flask Sample built on top of flask-dance library. The project implements the social login for Github and Twitter - Originally coded by TestDriven.IO.

Flask-redmail - Email sending for Flask

Flask Red Mail: Email Sending for Flask Flask extension for Red Mail What is it?

Flask Sitemapper is a small Python 3 package that generates XML sitemaps for Flask applications.

Flask Sitemapper Flask Sitemapper is a small Python 3 package that generates XML sitemaps for Flask applications. This allows you to create a nice and

Flask-template - A simple template for make an flask api

flask-template By GaGoU :3 a simple template for make an flask api notes: you ca

Owner
Atomicoo
Stay hungry, stay foolish!
Atomicoo
Flask-Starter is a boilerplate starter template designed to help you quickstart your Flask web application development.

Flask-Starter Flask-Starter is a boilerplate starter template designed to help you quickstart your Flask web application development. It has all the r

Kundan Singh 259 Dec 26, 2022
flask-reactize is a boostrap to serve any React JS application via a Python back-end, using Flask as web framework.

flask-reactize Purpose Developing a ReactJS application requires to use nodejs as back end server. What if you want to consume external APIs: how are

Julien Chomarat 4 Jan 11, 2022
Lux Academy & Data Science East Africa Python Boot Camp, Building and Deploying Flask Application Using Docker Demo App.

Flask and Docker Application Demo A Docker image is a read-only, inert template that comes with instructions for deploying containers. In Docker, ever

Harun Mbaabu Mwenda 11 Oct 29, 2022
Are-You-OK is a Flask-based, responsive Web App to monitor whether the Internet Service you care about is still working.

Are-You-OK Are-You-OK is a Flask-based, responsive Web App to monitor whether the Internet Service you care about is still working. Demo-Preview Get S

Tim Qiu 1 Oct 28, 2021
A multi-container docker application. Implemented and dockerized a web-based service leveraging Flask

Flask-based-web-service-with-Docker-compose A multi-container docker application. Implemented and dockerized a web-based service leveraging Flask. Des

Jayshree Rathi 1 Jan 15, 2022
Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.

Flask-Bcrypt Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application. Due to the recent increased prevelance of

Max Countryman 310 Dec 14, 2022
Flask-Rebar combines flask, marshmallow, and swagger for robust REST services.

Flask-Rebar Flask-Rebar combines flask, marshmallow, and swagger for robust REST services. Features Request and Response Validation - Flask-Rebar reli

PlanGrid 223 Dec 19, 2022
Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.

Flask-Bcrypt Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application. Due to the recent increased prevelance of

Max Countryman 282 Feb 11, 2021
Brandnew-flask is a CLI tool used to generate a powerful and mordern flask-app that supports the production environment.

Brandnew-flask is still in the initial stage and needs to be updated and improved continuously. Everyone is welcome to maintain and improve this CLI.

brandonye 4 Jul 17, 2022
Flask Project Template A full feature Flask project template.

Flask Project Template A full feature Flask project template. See also Python-Project-Template for a lean, low dependency Python app. HOW TO USE THIS

Bruno Rocha 96 Dec 23, 2022