★★★ 本文源自AI Studio社区精品项目,【点击此处】查看更多精品内容 >>>


基于PP-TTS的安卓手机部署

本案例将使用 PaddleSpeech 中的语音合成能力与 FastDeploy 的推理后端 Paddle Lite 实现在安卓手机端部署语音合成应用。通过本章你可以掌握

  • PaddleSpeech 中 PP-TTS 的快速使用
  • 结合 PaddleSpeech 与 Paddle Lite 进行安卓手机部署

1. 背景介绍

在互联网应用中,经常会使用播报功能,如有声小说阅读器,地图导航播报,智能助手等应用。播报功能离不开语音合成技术。这些年,随着深度学习技术的发展,语音合成的效果也越来越好,持续逼近真人说话的水平。高质量的语音合成也成为了产品体验上的重点。以深度学习为代表的端到端语音合成算法相较于参数法,拼接法等传统方法,在声音的质量和效果上有了显著的提升,在此基础上,也发展出了更多的有趣玩法,如使用自己或者家人的声音做语音合成,替代手机助手或者地图导航语音包,使用情感更加丰富的声线朗读电子书等等。

1.1 场景痛点

高质量的语音合成不仅仅依赖于优质的音库,同样需要效果好的深度学习模型支持,而深度学习模型的高性能推理部署一直是开发者在进行项目落地过程中的难点。在线上业务中,如果模型计算所需资源高,推理速度慢,会导致在线上业务中服务吞吐量上不去,需要更多的服务器资源才可以满足业务的需求,使用成本急剧上升,而使用深度学习推理引擎,可以有效提高推理速度,降低服务所需的计算资源。在设备端离线部署时,除了需要面对计算资源与计算速度的挑战以后,也会面临推理引擎对待部署设备是否支持,算子是否支持,推理性能是否有效优化等问题,这些都是在深度学习语音合成模型进行高性能推理部署时遇到的难点问题。

1.2 方案选型

使用 PaddleSpeech 和 Paddle Lite 组成的训推一体解决方案, 可以有效解决上面所述的痛点问题。这里我们将带大家通过 PaddleSpeech 自研流式语音合成 PP-TTS 中的 FastSpeech2 模型和 Multi-band MelGAN 模型在 ARM CPU 的安卓手机上进行部署演示。

  • 飞桨语音模型库 PaddleSpeech:PaddleSpeech是飞桨语音模型库,包含多种领先国际水平的语音算法与预训练模型,支持语音识别,语音合成,声音分类,声纹识别,语音唤醒等多个研究方向的前沿算法。其中PP-TTS是 PaddleSpeech 自研的流式语音合成系统,支持流式语音合成与非流式语音合成。在实现前沿算法的基础上,使用了更快的推理引擎,使其满足商业语音交互场景的需求。这里我们将选择 PP-TTS 里面的 FastSpeech2 模型和 Multi-band MelGAN 模型进行部署示例。【PP-TTS 传送门】

  • 飞桨推理引擎 FastDeploy : FastDeploy面向AI模型产业落地,帮助开发者简单几步即可完成AI模型在对应硬件上的部署,降低部署难度、压缩部署时间成本。支持40多个主流的AI模型在8大类常见硬件上的部署能力。FastDeploy借助了EasyEdge模型部署能力提升企业开发者模型部署的效率,开发者也可前往EasyEdge平台图形界面体验,或Github命令行,快速体验AI模型落地应用。这里我们将使用 FastDeploy 的推理后端 Paddle Lite 进行部署示例展示。【FastDeploy 传送门】

  • 端侧轻量化推理引擎 Paddle Lite:面向端侧场景的轻量化推理引擎Paddle Lite,可以实现飞桨模型在x86/ARM平台下多种OS内的高效部署,同时支持在10种以上的GPU/NPU异构后端上进行推理加速和混合调度;通过Paddle Lite,您在不同端侧场景下的模型部署需求都可以被完美支持。 【Paddle Lite 传送门】

2. 准备环境

接下来,我们将通过在 Aistudio 上安装 PaddleSpeech 的依赖环境,快速体验PP-TTS的效果,学习 PP-TTS 的主要模块和推理流程。目前 PP-TTS 已经上线 Aistudio 模型库,可以点击下方的链接快速体验。

【PP-TTS 模型库体验入口】

2.1 安装PaddleSpeech

!pip install paddlespeech
# paddlespeech 依赖需要用到 nltk 包,但是有时会因为网络原因导致不好下载,此处手动下载一下放到百度服务器的包
!wget https://paddlespeech.bj.bcebos.com/Parakeet/tools/nltk_data.tar.gz
!tar zxvf nltk_data.tar.gz

2.2 快速体验 PP-TTS 效果

第一次使用时会下载预训练模型,模型和配置文件会存放在~/.paddlespeech(在aistudio中对应/home/aistudio/.paddlespeech), 在【模型中心 PP-TTS】主页中,使用的是 fastspeech2_mixhifigan_csmsc 模型,这里我们保持上下模型讲解的连贯性,统一使用 fastspeech2_csmscmb_melgan_csmsc 模型,有关 PaddleSpeech 支持的更多模型可以参考 【Released Models】


from paddlespeech.cli.tts import TTSExecutor
tts_executor = TTSExecutor()
wav_file = tts_executor(text="开发过程中遇到问题,热烈欢迎您加入微信交流群中讨论,加群二维码在最下方。",output='output.wav',am='fastspeech2_csmsc',voc='mb_melgan_csmsc',lang='zh',spk_id=0)
import IPython.display as dp
dp.Audio('output.wav')

基于PP-TTS的安卓手机部署相关推荐

  1. 微信公众号抓取 所需环境及部分业务代码(基于windows 系统 和 安卓手机)①

    微信公众号抓取所需环境(基于windows 系统 和 安卓手机) 手机 2.Java 环境 3,安卓环境 4.appium 5.anyprxy 6.python环境7.nodejs PC环境搭建: J ...

  2. 基于小米NOTE的安卓手机刷nethunter通用包的教程

    基于小米NOTE的安卓手机刷nethunter通用包的教程 前言 概述 最后展示一下相关的画面: 前言 随着安卓平台的发展和kali官方的支持,安卓手机安装体验kail linux变得越来越好了.安卓 ...

  3. 安卓手机部署分割模型

    模型来自:https://github.com/PaddlePaddle/PaddleSeg/blob/release/2.6/contrib/PP-HumanSeg/README_cn.md中的 P ...

  4. 基于Xposed框架截取安卓手机应用数据信息

    首先介绍的是Xposed只是一个安卓手机的框架,并不具有任何功能,为了实现个人的需求,我们需要自己编写模块加入到这个框架中去.现如今比较主流的Xposed框架包括微信运动步数的作弊模块.微信的虚拟位置 ...

  5. 基于yolov5的Android版本目标检测app开发(部署安卓手机)

    基于yolov5的Android版本目标检测app开发(部署安卓手机) 0.项目开发需求 (1)开发app部署到安卓手机 (2)支持VOC数据集上所有的目标检测 1.开发环境搭建 windows10+ ...

  6. 基于安卓手机的辅助驾驶APP开发

    目录结构:   1.项目介绍   2.网络设计   3.数据采集   4.APP开发   5.APP下载   6.效果展示 1.项目介绍: 该项目主要在于探索是否能在通用的安卓手机上实现一个辅助驾驶功 ...

  7. 基于Pytorch Mobile在安卓手机端部署深度估计模型

    基于Pytorch Mobile在安卓手机端部署深度估计模型 1.选取torch版本的深度估计模型 2.修改模型实现代码 3.Pytorch生成ptl模型 4.安卓端部署代码 5.实验配置 6.手机端 ...

  8. 基于AidLux+Yolov8,实现安卓手机检测纺织物瑕疵

    文章目录 ●项目名称 ●项目简介 ●预期效果 ●操作流程 1 .纺织数据下载 2 .数据集标签格式转换 3 .YOLOv8下载 4. 数据集配置 5.模型选择 6.验证模型 7.预测模型 8.预测结果 ...

  9. (一)专题介绍:移动端安卓手机改造成linux服务器linux服务器中安装软件、部署前后端分离项目实战

    快捷目录 前言 一.涉及到的相关技术简介 二.具体实现过程及踩坑杂谈 1.安卓手机改造成linux系统实现方案 2.改造后的手机Linux中软件的安装 3.手机Linux中安装MySQL5.7踩坑实录 ...

最新文章

  1. TensorRT 7.2.1开发初步
  2. Android内存管理之道
  3. IT人母亲的美国之行(7)
  4. 项目小白斩获蘑菇街暑期实习offer的面试过程
  5. python官方推荐的三本书-如果只能推荐3本关于python的书,你会推荐哪3本?
  6. vba 您正和其他用户尝试修改同一条数据_专辑二 | Moodle学习之Moodle添加用户
  7. web前端入门学习 css(2)
  8. mysql三学习sql声明学习
  9. ajax请求后台php数据时查看报错parse error
  10. android手机安全:被攻陷的一个场景
  11. Spring新手教程
  12. Drupal迁移 | 如何创建一个Drupal 7 到 Drupal 9 的迁移路线图
  13. 第五章 执行计划详解
  14. Ardupilot移植经验分享(1)
  15. pandas使用read_csv函数读取文件的前N行数据并保留表头、pandas使用read_csv函数读取制表符分割的文件(tab-delimited)、自定义设置sep参数
  16. Java类加载与初始化机制实例分析
  17. Linux系统-gzip命令 – 压缩和解压文件
  18. 并查集——银河英雄传说()
  19. 建设智能温室大棚的条件
  20. OpenVidu(四) 客户端

热门文章

  1. 台湾在科技方面的一些情况一瞥
  2. 小企业搭建网站,选择虚拟主机还是云服务器好呢?
  3. JavaFX——捕捉鼠标动作
  4. 土耳其烤肉腌料厂家 炸鸡腌料厂家排行 批发鸡柳腌料 专业腌料厂家
  5. P3391 文艺平衡树(Splay区间翻转)
  6. 手机版wps怎么竖版_wps手机上怎么竖着写
  7. [C++]红色波浪线是什么意思
  8. 2021-11-27月赛题解
  9. 不论你学什么专业,都应该了解这些
  10. 舟山市高新技术企业申报奖励补助、认定条件以及申报好处汇总