matlab - 从现有音频样本中合成元音jin matlab

标签 matlab audio filtering speech-synthesis phonetics

我正在使用matlab,并有记录的元音声音样本。
我希望利用现有样本来以150Hz(持续5秒)的音高合成元音。 I originally thought that I'd just have to take a sample of my existing vowel sound at the given frequency,但是,显然,这实际上不起作用。

所以,现在,我很困惑如何真正地合成元音?

最佳答案

一种可能的方法是:

  • 取出一个样本样本(以视觉方式识别)。重要的是,它的开始和结束应为0值(或非常接近),以避免在每个端点处的不连续性引起的开裂噪声。
  • 根据需要上采样或下采样在步骤1周期中提取的波形,以获得所需的音调。上采样减小音调,下采样增大音调。例如,您可以使用resample函数。
  • 一个接一个地修补许多周期,直到获得所需的5秒持续时间。您可以为此使用repmat函数。
  • 将该5秒波形逐个元素乘以所需形状的时间包络。包络线形状通常是一种快速攻击,其形式为从0到1的线性渐变,然后是一个长的常数值,然后是一个逐渐减小的渐变,直到接近0。

    为了增加真实感,您可以在包络的“恒定”部分引入缓慢的幅度变化(颤音效果)。您还可以在第1步中提取一条信号,该信号不包含一个波形,而是包含多个波形周期。这些时间段将不完全相同,这将使声音更加“温暖”。

  • 关于matlab - 从现有音频样本中合成元音jin matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19910606/

    相关文章:

    matlab - Emacs 缓冲区撤消限制

    Java Robot 和 MATLAB 中的 KeyEvent

    audio - 隐藏的src仍会占用空间

    javascript - Android Chrome 39 getByteFrequencyData 返回 0 数组

    c# - AutoMapper 自定义类型转换器 ITypeConverter 和映射嵌套对象

    matlab - matlab中的正则逻辑回归代码

    ios - iOS:从音频文件获取原始PCM数据

    linq - 如何在 Linq 中过滤子集合

    用于过滤项目列表的 Javascript/jquery 可视化插件

    c# - Web API 2 REST 服务高级数据过滤