前面记录了语音变速不变调,之后我又把变调不变速实现了一下

这里先说一下大概流程,类似于变速不变调,首先函数传入三个值,分别为调节系数、语音的pcm数据、基因周期标记点

首先说升高频率: 降低频率我们可以通过先增加周期、再降采样、

降低频率:先减少周期、然后两个点之间加平均值

def pitch_adjust(cor, wave_data, point):wave_data = list(wave_data)wa = []# 小于1,代表降低频率,调低音调,则添加点,删除周期if cor < 1:decrease_num = len(point) - (len(point) // cor)desc = len(wave_data) - (len(wave_data) // cor)every = int(len(point) // decrease_num)for i in range(len(point) - 1):start = point[i]end = point[i + 1]if i % every == 0:continueelse:wa.extend(wave_data[start:end])every1 = int(len(wa) // desc)for j in range(len(wa)-2,1,-1):if j%every1 == 0:wa.insert(j,(wa[j-1]+wa[j+1])/2)else:continue# count = 0# for i in range(len(point) - 1):#     if point[i] <= count:#         count = 0#         continue#     start = point[i]#     end = point[i + 1]#     wa_da = wave_data[start:end]#     add_num = len(wa_da)/cor - len(wa_da)#     every = len(wa_da)/add_num##     for j in range(len([wa_da][:])-1, 1, -1):#         if j%every == 0:#             count+=1#             wa_da.insert(j, (wa_da[j-1]+wa_da[j+1])/2)#     wa.extend(wa_da)elif cor == 1:return wave_dataelse:wa1 = []desc_num = len(point) - len(point) / cordesc1 = len(wave_data) - len(wave_data)/corevery = int(len(point)//desc_num)for i in range(len(point) - 1):start = point[i]end = point[i + 1]if i % every == 0:wa1.extend(wave_data[start:end])wa1.extend(wave_data[start:end])else:wa1.extend(wave_data[start:end])every1 = int(len(wa1)//desc1)print(desc1)print(len(wa1))for j in range(len(wa1)):if j%every1 == 0:continueelse:wa.append(wa1[j])wa = np.array(wa, dtype="int16")return wa

语音调节 变调不变速相关推荐

  1. 基于Matlab的语音变调不变速的实现(男声变女声、女声变男声)

    最近遇到一个实现语音变调不变速的项目,查了很多资料,最后发现Matlab已经内置了一个非常简单的函数:"shiftPitch(wav,n)",可以实现男声女声之间的相互转化. 这里 ...

  2. python 音频变调不变速方法

    变调的方法也可以分为三类:时域法.频域法.参量法. 1. 时域法 时域法中,Crochiere等人于1983年提出了重采样的方法,该方法是实现变速变调最简单.最常用的方法之一. 实际应用中,libro ...

  3. php升降调_升调降调、变调变速、变调不变速、变速不变调、添加回音、调节奏节拍教程...

    利用变调变速功能,可实现音乐升调降调.变调变速.变调不变速.变速不变调.调整音乐节奏.调整音乐节拍.添加回音等处理,下面介绍操作方法.打开dts音效大师(官网下载:https://www.dts007 ...

  4. 【数字信号处理】MATLAB OLA(Overlap-Add)实现变调不变速/变速不变调

    最近在做数字信号处理实验的大作业~发现很多变调不变速/变速不变调的文章都讲的没有很清楚,记录一下自己看了很多文章之后整理的思路. 第一步:分帧加窗 分帧: 设每一帧长度为NNN个点,总长度为LLL个点 ...

  5. 如何实现音频变速不变调、变调不变速、变速又变调?

    变速和变调相关的音频处理库有SoundTouch,Sonic,RubberBand(https://breakfastquay.com/rubberband/). RubberBand暂时没有调试成功 ...

  6. Matlab音频变速不变调、变调不变速(Phase Vocoder)

    其他文章有讲过一些方法,有OLA.WSOLA算法.LSEE-MSTFTM.Phase Vocoder(相位声码器)等等,但都是讲了个大概,没一个能说清楚的,代码就更没有了.找了一个国外的Phase V ...

  7. Phase Vocoder的补充完善,Matlab音频变速不变调、变调不变速

    之前有站内朋友介绍了国外的Phase Vocoder,Matlab音频变速不变调.变调不变速(Phase Vocoder)_cyz0612的博客-CSDN博客_matlab变调不变速代码参考这篇文章, ...

  8. soundtouch之变调、变速、节拍

    前一段日子在做变调不变速的算法,通过频域实现,谁知道到相位同步一直搞不定了,声音效果比较差.后来去偶然看到了soundtouch,这个强大的库让我为之振奋,现在已经完成,并做成了一个实时播放的demo ...

  9. 语音调节 变速不变调

    这里贴出了 语音变速的代码 首先我们通过计算周期.然后进行标记,这两点在我的上一篇文章已经说过 这里讲一下得到基音标记点后预处理的内容 这里 首先对相邻比较近的点进行删除.我设置的阈值为 计算出的周期 ...

最新文章

  1. 一句话的设计模式(转)
  2. Codeforces 777E:Hanoi Factory(贪心+栈)
  3. 更改Tomcat虚拟内存大小
  4. 【转】构建Android平台Google Map应用
  5. Hexo 双线部署到 Coding Pages 和 GitHub Pages 并实现全站 HTTPS
  6. 「今天沾一口野味,明天地府相会!」AI如何抗击「野味肺炎」
  7. 【ES】ES 7.6 fuzzy 搜索 (模糊搜索)
  8. 用python把unix格式转换成windows格式
  9. deb 中标麒麟_注意:银河麒麟和中标麒麟不是同一个操作系统
  10. 【必修】人工智能原理 学习笔记(二)chapter 2 产生式系统
  11. 单片机无线视频监控系统设计
  12. 计算机键盘中英文,电脑键盘中英文切换键
  13. debian linux ntfs,让Debian支持ntfs文件系统读写
  14. python误差修正模型_误差修正模型ECM_eviews误差修正模型
  15. Android 主线程子线程执行关系
  16. AutoSAR系列讲解(实践篇)7.1-DaVinci Developer使用初探
  17. dna计算机开发,科学家正在开发DNA电脑
  18. 跨境电商| FaceBook 群发消息
  19. One-Hot Encoding
  20. 大数据告诉你何时何地买手机最划算!

热门文章

  1. 计算机体系结构 第三章 流水线(Pipeline)技术
  2. [码尚教育]Python全栈自动化VIP课程对标大厂标准(挑战年薪40万)
  3. CAN转光纤以太网设备的典型应用
  4. zabbix监控物理网卡流量
  5. Boot Camp 支持软件与系统要求对照表——用于手工下载Window 支持软件(驱动)
  6. 仿Bilibili iOS客户端 练习案例源码
  7. FBI 花 3 年暴力破解 iPhone X 密码,竟成一场空?法院:搜查令已过期,证据无效...
  8. 计算机软件可分为什么两类,软件系统一般分为()和应用软件两类。-问答题库...
  9. Arduino L293D电机驱动器扩展板教程
  10. 米家扫地机器人是石头代工的_扫地机器人哪个牌子好?推荐备受消费者喜爱的五大品牌...