我的编程空间,编程开发者的网络收藏夹
学习永远不晚

千锋扣丁学堂Python培训之Web版

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

千锋扣丁学堂Python培训之Web版

今天千锋扣丁学堂Python培训老师给大家分一篇关于PythonWeb版语音合成实例详解,首先语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速、音调、音量设置,打破传统文字式人机交互的方式,让人机沟通更自然,下面我们一起来看一下吧。

应用场景

将游戏场景中的公告、任务或派单信息通过语音播报,让玩家玩游戏或配送员送货的同时,也可接听新任务。

文学小说类软件,可以利用百度语音合成技术将文学小说作品进行高质量的朗读,流畅清晰,解放双眼,畅听世界。

软件架构

Python3.7.2、Django2.1.7、baidu-aip(百度语音API)

案例

这里只展示部分代码,有兴趣的同学可以自行下载源码安装调试。

import os

import time

import codecs

from aip import AipSpeech

from django.shortcuts import render

from django.http import HttpResponse

'''

pip install --upgrade pip

pip install django

pip install baidu-aip

'''

def main(request):

return render(request, 'index.html')

def m_main(request):

return render(request, 'm_index.html')

def convert(request):

message = request.POST.get("message")

switch = request.POST.get("switch")

mp3 = du_say(message, switch)

return HttpResponse(mp3)

def du_say(message, switch):

write_txt(message)

app_id = '*'

api_key = '*'

secret_key = '*'

client = AipSpeech(app_id, api_key, secret_key)

if switch == "true":

switch = 3

else:

switch = 4

result = client.synthesis(message, 'zh', 1, {

'vol': 5, 'per': switch,

})

t = time.time()

now_time = lambda: int(round(t * 1000))

path = os.getcwd() + os.path.sep + "static" + os.path.sep + "audio"+os.path.sep

audio = path+str(now_time())+'.mp3'

if not isinstance(result, dict):

with open(audio, 'wb') as f:

f.write(result)

return str(now_time())+'.mp3'

def write_txt(message):

t = time.time()

now_time = lambda: int(round(t * 1000))

path = os.getcwd() + os.path.sep + "static" + os.path.sep + "text"+os.path.sep

text = path+str(now_time())+'.txt'

with codecs.open(text, 'a', encoding='utf8')as f:

f.write(message)

本地部署

从码云拉取项目到本地:

https://gitee.com/52itstyle/b...

配置百度语音API:

https://console.bce.baidu.com...

启动项目:

manage.py runserver

外网部署

这里以Linux为例,代理使用openresty。

安装Python3

wget https://www.python.org/ftp/py...

事先安装依赖,否则后期安装会报错:

yum -y install zlib*

yum -y install libffi-devel

下面开始正式安装:

tar -xvf Python-3.7.1.tar.xz

cd Python-3.7.1

./configure

make && make install

安装Django

pip install Django

安装成功以后需要重新配置并编译安装Python3:

./configure

make && make install

安装服务器uwsgi

pip3 install uwsgi

上传项目到服务器,并切换到speech目录:

mkdir script

在script下新增uwsgi.ini(项目中已经配置好,自行修改路径即可):

[uwsgi]

chdir=/www/speech/

module=speech.wsgi:application

socket=/www/speech/script/uwsgi.sock

workers=5

pidfile=/www/speech/script/uwsgi.pid

http=127.0.0.1:8001

static-map=/static=/www/speech/static

uid=root

gid=root

master=true

vacuum=true

thunder-lock=true

enable-threads=true

harakiri=30

post-buffering=4096

daemonize=/www/speech/script/uwsgi.log

然后使用以下命令启动:

uwsgi --ini uwsgi.ini

执行命令,查看是否启动成功:

[root@AY140216131049Z script]# ps -ef|grep uwsgi

root 3040 1 0 Nov21 ? 00:00:03 uwsgi --ini uwsgi.ini

root 3041 3040 0 Nov21 ? 00:00:00 uwsgi --ini uwsgi.ini

root 3042 3040 0 Nov21 ? 00:00:00 uwsgi --ini uwsgi.ini

root 3043 3040 0 Nov21 ? 00:00:00 uwsgi --ini uwsgi.ini

root 3044 3040 0 Nov21 ? 00:00:00 uwsgi --ini uwsgi.ini

root 3045 3040 0 Nov21 ? 00:00:00 uwsgi --ini uwsgi.ini

root 3046 3040 0 Nov21 ? 00:00:00 uwsgi --ini uwsgi.ini

root 6606 6580 0 18:13 pts/0 00:00:00 grep --color=auto uwsgi

重启:

uwsgi --reload uwsgi.pid

配置Nginx代理:

server {

listen 80;

server_name speech.52itstyle.vip;

charset utf-8;

location / {

include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的

uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间

uwsgi_pass unix:/www/speech/script/uwsgi.sock; # 指定uwsgi的sock文件所有动态请求就会直接丢给他

}

# 动静分离 Nginx 处理静态请求

location /static {

root /www/speech/;

}

}

如果启动HTTPS:

server {

listen 80;

listen 443 ssl;

server_name speech.52itstyle.vip;

#ssl on;

#证书路径

ssl_certificate /usr/local/openresty/nginx/cert/1901523_speech.52itstyle.vip.pem;

#私钥路径

ssl_certificate_key /usr/local/openresty/nginx/cert/1901523_speech.52itstyle.vip.key;

#缓存有效期

ssl_session_timeout 5m;

#可选的加密算法,顺序很重要,越靠前的优先级越高.

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

#安全链接可选的加密协议

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

location / {

include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的

uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间

uwsgi_pass unix:/www/speech/script/uwsgi.sock; # 指定uwsgi的sock文件所有动态请求就会直接丢给他

}

# 动静分离 Nginx 处理静态请求

location /static {

root /www/speech/;

}

}

以上就是关于千锋扣丁学堂Python培训之Web版语音合成实例详解的全部内容,希望对大家的学习有所帮助,最后想要了解更多关于Python和人工智能方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python开发环境搭建视频,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频教程定能让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:279521237。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

千锋扣丁学堂Python培训之Web版

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

千锋扣丁学堂Python培训之Web版

今天千锋扣丁学堂Python培训老师给大家分一篇关于PythonWeb版语音合成实例详解,首先语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速、音调、音量设置,打破传统文字式人机交互的方式,让人机沟通更自然,下面我
2023-01-31

千锋扣丁学堂Python培训之代理IP

今天千锋扣丁学堂Python培训老师给大家分享一篇Python代理IP爬虫新手使用的详细介绍,首先Python爬虫要经历爬虫、爬虫被限制、爬虫反限制的过程。当然后续还要网页爬虫限制优化,爬虫再反限制的一系列道高一尺魔高一丈的过程。爬虫的初级
2023-01-31

千锋扣丁学堂Python培训之操作Ex

今天千锋扣丁学堂Python培训老师给大家分享一篇关于Python3操作Excel文件(读写)的简单实例详解,首先来安装版本安装的版本为0.9.3,但是官网的介绍还是关于Version0.7.3版本的,无妨,不影响理解。安装读Excel文件
2023-01-31

千锋扣丁学堂Python培训之详解实现

今天千锋扣丁学堂Python培训老师给大家分享一篇关于Python两台电脑实现TCP通信的方法示例,文中通过示例代码介绍的非常详细,首先比如为了实现Nao机器人与电脑端的TCP通信,于是研究了一下Python实现TCP通信,在网上也看到了很
2023-01-31

千锋扣丁学堂Python培训之黑客们会

今天千锋扣丁学堂Python培训老师给大家分享一篇关于黑客们会用到哪些关于Python技术的详细介绍,首先Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验证工具都是用Python语言编写的(除了用Ruby写的安全漏洞检测工
2023-01-31

千锋扣丁学堂Python培训之十个安全

今天千锋扣丁学堂Python培训老师给大家分享一篇关于初学者学习Python中的10个安全漏洞以及如何修复漏洞的方法。比如在写代码的过程中,我们的总会遇见各式各样的大坑小坑。Python也不例外,在使用模块或框架时,也存在着许多糟糕的实例。
2023-01-31

千锋扣丁学堂Python培训之开发一个

今天千锋扣丁学堂Python培训老师给大家分享一篇关于如何利用Python开发一个简单的猜数字游戏的详细介绍,文中通过示例代码介绍的非常详细下面我们一起来看一下吧。游戏规则玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示
2023-01-31

扣丁学堂Python培训之Python

今天千锋扣丁学堂Python培训老师给大家分享一篇关于python3字符串操作总结的详细介绍,中通过示例代码介绍的非常详细,下面我们一起来看一下吧。字符串截取s = 'hello's[0:3]'he's[:] #截取全部字符'hello'消
2023-01-31

扣丁学堂Python培训之基于itch

今天扣丁学堂Python培训老师给大家分享一个基于itchat模块实现微信防撤回的案例,比如有时候,女神发来一条消息,说约你看电影,她考虑了一下,又撤回了,不约你了…而你又想知道她究竟发了什么,该怎么办?微信防撤回了解一下。环境要求Pyth
2023-01-31

扣丁学堂Python培训简述Pytho

本篇文章扣丁学堂Python培训小编给读者们分享一下Python线程池模块ThreadPoolExecutor用法,文中结合实例形式分析了Python线程池模块ThreadPoolExecutor的导入与基本使用方法,对此感兴趣的小伙伴就随
2023-01-31

扣丁学堂Python培训详解Pytho

Python生成器与迭代器对于喜欢Python开发的小伙伴们来说应该是不陌生的,不了解的小伙伴也没有关系,本篇文章扣丁学堂Python培训小编就给小伙伴们详解一下Python生成器与迭代器,感兴趣的小伙伴就随小编来了解一下吧。列表生成式:例
2023-01-31

扣丁学堂Python培训简述如何用Py

本篇文章扣丁学堂Python培训小编给大家介绍一下如何用Python实现播放音频和录音功能,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,感兴趣的小伙伴就随小编一起来了解一下吧。三种播放音频的方式使用
2023-01-31

扣丁学堂Python培训详解如何在Ap

对Python开发技术感兴趣的小伙伴是否知道如何在Apache中运行Python WSGI应用呢?不知道的小伙伴也没有关系,本篇文章扣丁学堂Python培训小编就给读者们分享一下如何在Apache中运行Python WSGI应用,对此感兴趣
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录