十个以下特征便可生成一个语音

一个话音由不同频率波组成,更主要是频率改变的状态所表现的(称其为特征)组成,并且不一定是连续的但是有规律的。反过来生成一个语音,只要有规律地出现类正弦波数据,并规律改变波状态,不同规律则会是不同的声音,大多数的人讲话的语音的这个变化是有一定范围的,这就是几个特征便可以生成一个语音,端到端地学习征,不须要大数据超复杂算法,只对每一个语音去提取其中变化的规则的特征,与之对应生成(或者说还原)规律变化的波形数据。语音(特征)与字对应的识别,正在研究。

本人学历低,只能用图说话。

黑色是录取得(粤语‘饼’字)语音数据,红色是去丢高频数。下图的下部分是基于上图数据获得特征值直接输生成,

生成音时长是可调的与原音时长是不同。下图的上部数据是基于获得的特征数据,调整过编入去生成,播放出来的

郊果,原音与两个生成音大至相同。

上面第三个生成的语声与前两个相比,象是上了年纪有点宏厚语声。

若想知道效果是什么程度。我有一个App在百度网盘上,是出于好奇将字句编成说唱声来的app.若好奇可下载体验。

声明:本App是我边研究,边更改重编测试软件,或有漏洞故障,只是想说明用几个特征可生成一个语音,在App里

面有大部分汉字对应的普通话音和粤语音的特征记录,同一音的特征会有多个同音汉字,说话音的时长可编长短,说

话人可选年少或年长些的,是男是女暂时还在研究。到这下载https://pan.baidu.com/s/1ZT-L-K6zE0SI12MGcD-LHA

提取码:meee

啰哩啰唆只想说明的是,语声主成,并非要由大数据复杂的算法才学习得到,不同语种的单个音与几个特征对应,几个单音又组成字词,它不须要每一语种都要大量数据学习才得出参数,并生成语音也是大概率下单调声,或者清析些,但决少灵活的张池缓急,长短说唱的要求。

下图是由原数据(黑色)提取主要频率在其本位置上编写半波数据红色部分,将其播放,郊果与原音大至相同(即使只用大

于0的数据下图2),只是音质有相差,

              Win10-Pytorch安装配置与使用
  1. 下载Anaconda
    使用图形化界面下载,进入官网https://www.anaconda.com,找到需要的windows版进行下载

(官网下载可能速度较慢,可以采用清华镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)

完成下载后,双击exe文件进行安装…

其中:

除非是以管理员身份为所有用户安装,否则仅勾选“Just Me”并点击“Next”。

在“Advanced Installation Options”中不要勾选“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的环境变量。”)。如果勾选,将会影响其他程序的使用。

如果过不使用多个版本的Anaconda或者多个版本的Python,勾选“Register Anaconda as my default Python 3.6”。

进入“Thanks for installing Anaconda!”界面则意味着安装成功,点击“Finish”完成安装。

验证是否安装成功:

“开始菜单 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功启动Anaconda Navigator则说明安装成功。

Anaconda中自带了Jupyter笔记本,故无需再进行安装

  1. 安装Pytorch
    进入官网https://pytorch.org/,选择相应的配置,其中若没有GPU,则CUDA选择None,否则根据电脑的显卡选择CUDA

选择完成后,“Run this Command”会出现安装所需的代码,这个代码是之后需要“Anaconda Prompt”中输入运行的。

但在安装之前,我们首先建立一个名为pytorch的虚拟环境,打开“Anaconda Prompt”,命令行输入“conda create --name pytorch python=3.6”,接着输入“activate pytorch”激活环境,如图:

然后就可以在虚拟环境下执行官网给出的命令“conda install pytorch torchvision cpuonly -c pytorch”进行安装。(安装中可能出现网络连接问题,导致某个包安装失败,再次输入命令即可)

安装完成后,验证:

进入python

输入import pytorch和import torchvision,若都为静默状态,没有报错,则安装完成。

import torch
import torchvision
3. 配置Jupyter笔记本
新建的环境是没有安装安装ipykernel的所以无法注册到Jupyter Notebook中,所以先要准备下环境

#安装ipykernel

conda install ipykernel

#写入环境

python -m ipykernel install --name pytorch --display-name “Pytorch for Deeplearning”

完成后打开Jupyter,在New中应该可以看到“Pytorch for DeepLearning”,点击便可进行编辑。

                      写出健壮的js递归调用

这几天参加面试,有个关于递归的问题,之前在红皮书中遇到过,看过也写过代码,但是时间长了不用就会忘记,翻书肯定没有自己记住效率高;

首先解释一下为什么这么写;

//因为函数的本质是一个对象,fun是声明在栈内存中,其中保存一个地址,系统通过地址可以在堆中找到一个Function的对象;

function fun(prop){
if(prop < 100){
return prop;
}else{
fun(prop+1)
}
}

let method = fun;
fun = null;
method(12) //报错,fun不是一个函数;

所以为了代码的健壮不建议写这样的代码,往往报错后,一脸懵逼;
 一般在js中有两种递归的写法:

如果不是在严格模式下,这样写是可以的;

//使用arguments.callee 属性

function fun(prop){
if(prop < 100){
return prop;
}else{
arguments.callee(prop+1) //rguments.callee === fun
}
}

ley method = fun;

method(99); //不会报差
 在严格模式下.arguments.callee 不可用,

强烈建议用该写法;

//命名函数表达式
let fun = (function f(prop){
if(prop > 100){
return prop
}else{
return f(prop+1)
}
})

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页