iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >千锋扣丁学堂Python培训之Web版
  • 549
分享到

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

丁学堂千锋扣Web 2023-01-31 08:01:41 549人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

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

今天千锋扣丁学堂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。

--结束END--

本文标题: 千锋扣丁学堂Python培训之Web版

本文链接: https://www.lsjlt.com/news/193223.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 千锋扣丁学堂Python培训之Web版
    今天千锋扣丁学堂Python培训老师给大家分一篇关于PythonWeb版语音合成实例详解,首先语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速、音调、音量设置,打破传统文字式人机交互的方式,让人机沟通更自然,下面...
    99+
    2023-01-31
    丁学堂 千锋扣 Web
  • 千锋扣丁学堂Python培训之代理IP
    今天千锋扣丁学堂Python培训老师给大家分享一篇Python代理IP爬虫新手使用的详细介绍,首先Python爬虫要经历爬虫、爬虫被限制、爬虫反限制的过程。当然后续还要网页爬虫限制优化,爬虫再反限制的一系列道高一尺魔高一丈的过程。爬虫的初...
    99+
    2023-01-31
    丁学堂 千锋扣 IP
  • 千锋扣丁学堂Python培训之操作Ex
    今天千锋扣丁学堂Python培训老师给大家分享一篇关于Python3操作Excel文件(读写)的简单实例详解,首先来安装版本安装的版本为0.9.3,但是官网的介绍还是关于Version0.7.3版本的,无妨,不影响理解。 安装 读Exce...
    99+
    2023-01-31
    操作 千锋扣 丁学堂
  • 千锋扣丁学堂Python培训之开发一个
    今天千锋扣丁学堂Python培训老师给大家分享一篇关于如何利用Python开发一个简单的猜数字游戏的详细介绍,文中通过示例代码介绍的非常详细下面我们一起来看一下吧。 游戏规则 玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序...
    99+
    2023-01-31
    千锋扣 丁学堂 Python
  • 千锋扣丁学堂Python培训之黑客们会
    今天千锋扣丁学堂Python培训老师给大家分享一篇关于黑客们会用到哪些关于Python技术的详细介绍,首先Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验证工具都是用Python语言编写的(除了用Ruby写的安全漏洞检测...
    99+
    2023-01-31
    黑客 千锋扣 丁学堂
  • 千锋扣丁学堂Python培训之十个安全
    今天千锋扣丁学堂Python培训老师给大家分享一篇关于初学者学习Python中的10个安全漏洞以及如何修复漏洞的方法。比如在写代码的过程中,我们的总会遇见各式各样的大坑小坑。Python也不例外,在使用模块或框架时,也存在着许多糟糕的实例...
    99+
    2023-01-31
    千锋扣 丁学堂 Python
  • 千锋扣丁学堂Python培训之详解实现
    今天千锋扣丁学堂Python培训老师给大家分享一篇关于Python两台电脑实现TCP通信的方法示例,文中通过示例代码介绍的非常详细,首先比如为了实现Nao机器人与电脑端的TCP通信,于是研究了一下Python实现TCP通信,在网上也看到了...
    99+
    2023-01-31
    详解 千锋扣 丁学堂
  • 扣丁学堂Python培训之Python
    今天千锋扣丁学堂Python培训老师给大家分享一篇关于python3字符串操作总结的详细介绍,中通过示例代码介绍的非常详细,下面我们一起来看一下吧。 字符串截取 s = 'hello's[0:3]'he's[:] #截取全部字符'hell...
    99+
    2023-01-31
    丁学堂 Python
  • 扣丁学堂Python培训之基于itch
    今天扣丁学堂Python培训老师给大家分享一个基于itchat模块实现微信防撤回的案例,比如有时候,女神发来一条消息,说约你看电影,她考虑了一下,又撤回了,不约你了…而你又想知道她究竟发了什么,该怎么办?微信防撤回了解一下。 环境要求 P...
    99+
    2023-01-31
    丁学堂 Python itch
  • 扣丁学堂Python培训简述Pytho
    本篇文章扣丁学堂Python培训小编给读者们分享一下Python线程池模块ThreadPoolExecutor用法,文中结合实例形式分析了Python线程池模块ThreadPoolExecutor的导入与基本使用方法,对此感兴趣的小伙伴就...
    99+
    2023-01-31
    丁学堂 Python Pytho
  • 扣丁学堂Python培训详解Pytho
    Python生成器与迭代器对于喜欢Python开发的小伙伴们来说应该是不陌生的,不了解的小伙伴也没有关系,本篇文章扣丁学堂Python培训小编就给小伙伴们详解一下Python生成器与迭代器,感兴趣的小伙伴就随小编来了解一下吧。 列表生成式...
    99+
    2023-01-31
    详解 丁学堂 Python
  • 扣丁学堂Python培训详解如何在Ap
    对Python开发技术感兴趣的小伙伴是否知道如何在Apache中运行Python WSGI应用呢不知道的小伙伴也没有关系,本篇文章扣丁学堂Python培训小编就给读者们分享一下如何在Apache中运行Python WSGI应用,对此感兴趣...
    99+
    2023-01-31
    详解 如何在 丁学堂
  • 扣丁学堂Python培训简述如何用Py
    本篇文章扣丁学堂Python培训小编给大家介绍一下如何用Python实现播放音频和录音功能,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,感兴趣的小伙伴就随小编一起来了解一下吧。 三种播放音频的方式...
    99+
    2023-01-31
    如何用 丁学堂 Python
  • 扣丁学堂区块链培训简述用Django实
    对数字货币的崛起感到新奇的我们,一定想知道其背后的技术——区块链是怎样实现的。本篇文章扣丁学堂区块链培训小编给读者们分享一下用Django实现一个可运行的区块链应用,感兴趣的小伙伴就随小编来了解一下吧。 准备工作 本文要求读者对Pytho...
    99+
    2023-01-31
    区块 丁学堂 Django
  • 深圳Web前端培训学习:js中的模块化--【千锋】
    深圳Web前端培训学习:js中的模块化--【千锋】0.前言  我们知道最常见的模块化方案有CommonJS、AMD、CMD、ES6,AMD规范一般用于浏览器,异步的,因为模块加载是异步的,js解释是同步的,所以有时候导致...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作