精华内容
下载资源
问答
  • 基于百度翻译和有道翻译api一款翻译DemoTranslation-Voice一个整合百度翻译(支持多种语言)跟科大讯飞口语翻译app 百度翻译界面科大讯飞语音识别跟语音合成界面Screenshot_20180621-190257.pngScreenshot_...

    基于百度翻译和有道翻译api的一款翻译Demo

    Translation-Voice

    一个整合百度翻译(支持多种语言)跟科大讯飞的口语翻译app

      
    百度翻译界面科大讯飞语音识别跟语音合成界面
    Screenshot_20180621-190257.png
    Screenshot_20180621-190257.png
    Screenshot_20180621-190304.png
    Screenshot_20180621-190304.png
    选择想要翻译的语言选择目标语言
    Screenshot_20180621-190249.png
    Screenshot_20180621-190249.png
    Screenshot_20180621-190238.png
    Screenshot_20180621-190238.png

    添加的依赖

     implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:26.1.0'
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
        implementation 'com.android.support:design:26.1.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
        implementation files('libs/Msc.jar')
        implementation files('libs/gson-2.8.1.jar')
    

    登陆科大讯飞的官网注册账号下载新的SDK导入
    并且修改MyApplication.java类的科大讯飞的参数即可使用

           SpeechUtility.createUtility(this, SpeechConstant.APPID + "=5ad97691");
           RecognitionManager.getSingleton().init(this,"5ad97691");
           SynthesisManager.getSingleton().init(this,"5ad97691");
    

    登陆翻译开放平台
    并申请成为开发者创建应用将你的AppID和password写入对应文件即可
    别忘了重新导入jar包

    IDActivity.class

                   String appid = "你应用的AppID"
                   String pw = "对应的password"
    
                   File dir = getApplicationContext().getFilesDir();//查找这个应用下的所有文件所在的目录
                   Log.d("文件夹:" , dir.getAbsolutePath());
                   FileWriter writer;
                   try {
                       writer = new FileWriter(dir.getAbsolutePath() + "/userinfo.txt");
                       writer.append(appid+","+pw+","+choose);
                       writer.close();
                       ToastUtil.showToast(IDActivity.this,"设置成功");
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
              }
    

    然后就可以愉快的的翻译跟语音了

    如果觉得不错的话就点个start

    展开全文
  • 初次接触语音攻击方面文章,翻译不当地方,望大家指正。 对语音说话人识别系统实用隐藏语音攻击 摘要——目前已广泛部署语音处理系统(VPS),通过应用机器学习方面最新进展,已大大提高了准确度。然.....

    原文链接:https://arxiv.org/pdf/1904.05734.pdf  是NDSS-2019 accepted paper

    初次接触语音攻击方面的文章,翻译不当的地方,望大家指正。

                               对语音和说话人识别系统的实用隐藏语音攻击

    摘要——目前已广泛部署的语音处理系统(VPS),通过应用机器学习方面的最新进展,已大大提高了准确度。然而,对抗式机器学习也取得了类似的进展,并被用来证明VPS易受注入隐藏命令的影响——音频被VPS能正确识别但人却不能识别的噪音所掩盖。然而,此类攻击通常高度依赖于特定机器学习模型的白盒知识,并且仅限于特定的麦克风和扬声器,从而限制了它们在不同声学硬件平台上的使用(因此也限制了它们的实用性)。在本文中,我们利用VPS常用的信号处理算法的知识来生成输入到机器学习系统中的数据,通过模型无关攻击(黑盒)打破了这些依赖关系,使隐藏的命令攻击更加实用。具体来说,我们利用了多个源音频样本在经过声学特征提取算法(如FFTs)变换后具有相似的特征向量这一事实。我们开发了四类扰动,它们创建了难以理解的音频,并在12个机器学习模型上测试它们,其中包括7个专有模型(例如,Google Speech API,Bing Speech API,IBM Speech API,Azure Speaker API等),并证明了对所有目标的成功攻击。此外,我们成功地在多种硬件配置中使用恶意生成的音频样本,展示了跨模型和实际系统的有效性。通过这样做,我们证明了音频信号处理领域特定的知识代表了生成成功的隐藏语音命令攻击的实用方法。

    一. 介绍

    语音处理系统(VPS)正迅速成为用户与设备交互的主要手段。特别是,越来越多的约束/无头设备(例如移动电话、数字家庭助理)的使用,导致其广泛部署。这些inferfaces不仅为传统用户简化了交互,而且为残疾人和老年人群体提供了极大的包容性,受到了广泛的欢迎[47],[65]。

    实用语音驱动系统背后的驱动力是机器学习的基础性进展。包含了看似不断增加的复杂性的模型,现在可以轻松地处理大量的数据。当与用于特征提取的著名的信号处理技术相结合,这些系统现在可以提供高精度的语音和说话人识别。然而,VPS也带来了大量的安全问题。正如有意的[45]和无意的[52]证明的那样,这些接口通常能够识别和执行来自任何能够播放音频的附近设备的命令。此外,最近的研究表明,拥有机器学习模型白盒知识的攻击者可以生成由VPS正确转录但人类难以理解的音频样本[24],[72]。

    本文工作采用了不同的方法。我们没有攻击特定的机器学习模型,而是利用VPS的信号处理阶段。特别是,因为几乎所有的语音和说话人识别模型似乎都依赖于经典信号处理中的一组有限的特征(例如,FFTs的频率、MFCC),我们证明修改音频以产生相似的特征向量使我们能够以黑盒方式对机器学习系统进行强大的攻击。

    为此,我们作出以下贡献:

    在信号处理阶段产生扰动:这项工作的关键点是,许多源音频可以转换成机器学习模型使用的相同特征向量。也就是说,通过攻击信号处理阶段的特征提取而不是模型本身,我们能够生成超过20,000个音频样本,这些音频样本听起来像是难以理解的噪音,却被当成有意义的音频。因此,VPS可以快速地(即几秒钟内)、有效地以完全黑盒的方式被攻击。

    证明攻击和硬件之间的独立性:以前的研究高度依赖于所使用模型的知识,并仅限于特定的硬件。例如Yuan等人对一个白盒和两个黑盒模型进行了评估[72],Carlini等人对一个黑盒和一个白盒模型[24]进行了评估。我们评估了对12个使用各种机器学习算法的黑盒模型的攻击,包括7个专有(proprietary)模型和5个本地(local)模型;但是,在任何情况下,我们都不会使用任何有关模型或权重的信息(即,我们把所有的模型,即使是公开可用的,都当作黑盒)。我们使用多组扬声器和麦克风演示了成功的攻击。我们的攻击评估比以前的对抗性音频工作要全面得多。如此广泛的攻击效果以前从未被证明。

    使用心理声学来降低声音的理解度:之前的工作主要是添加背景噪音模糊语音命令;然而,这种噪音往往会降低成功的转录。我们利用了这样一个事实,即人类在人类听觉范围内存在某些类型的噪声时难以解释语音(与注入超声波音频的海豚攻击[73]不同,因此很容易被滤除)。

    我们相信,通过展示上述贡献,我们可以将隐藏的语音命令从可能的领域应用到实际中。此外,我们认为,通过使机器学习模型更加健壮,并不容易对这些命令进行反击,因为无论VPS是否受到攻击,模型接收到的特征向量实际上几乎相同。因此,至关重要的是,系统设计人员要考虑在其机器学习模型运行的领域中具有重要专业知识的攻击者。

    论文的其余部分组织如下:第二部分提供了信号处理、语音和说话人识别以及机器学习的背景信息;第三节介绍了我们的假设;第四部分讨论了我们的威胁模型、产生扰动的方法;第五节是实验设置;第六部分给出了针对一系列语音和说话人识别模型的实验结果;第七节讨论心理声学和潜在的防御;第八节介绍相关工作;第九部分是结论。

    二. 背景

    A. 语音处理系统(VPS)

    任何基于机器学习的语音处理工具都可以被视为VPS。在本文中,我们使用该术语来指代自动语音识别(ASR)和说话人识别模型。

    1)ASR(自动语音识别) ASR将原始人类音频转换为文本。通常,大多数ASR按照图1中所示的步骤完成这个任务:预处理、信号处理和模型推断。

    预处理涉及对音频应用过滤器,以去除背景噪声和人类音频范围之外的任何频率(图1a和1b)。然后使用信号处理算法捕捉最重要的特征和特性,从而降低音频的维度。信号处理步骤输出特征向量。大多数ASR采用Mel频率倒谱系数(MFCC)算法进行特征提取,因为它能够推断出与人耳相似的重要特征。然后将特征向量传递给模型进行训练或推理。

    2)说话人识别模型说话人识别模型通过比较模型训练的说话人的语音样本来识别录音中的说话人。说话人识别模型的内部工作原理与ASR基本相似,只是增加了一个投票方案。对于每个音频子样本,该模型为最有可能属于该子样本的说话者投一票。处理完整个音频文件后,对计票结果做统计。得票最多的说话人被指定为输入音频样本的来源。

    B. 信号处理(Signal Processing)

    信号处理是VPS系统的主要组成部分。这些算法仅捕获数据的最重要方面。信号处理算法能否正确识别数据的重要方面,直接关系到机器学习模型的训练质量。

    1)Mel频率倒谱系数(MFCC):获取音频样本的MFCC向量的方法,首先将音频分解为20ms窗口。每个窗口都要经过四个主要步骤,如图1所示。

    快速傅里叶变换(FFT)和幅值(Magnitude):对于每个窗口,取FFT及其幅值,生成音频的频域表示(图1c和图1d),称为幅度谱。幅度谱详细描述了构成信号的每个频率和对应的强度。

    梅尔滤波:梅尔标度(scale)将频率的实际差异转换为人耳对频率的感知差异。使用三角形重叠窗口(称为Mel过滤器组)将频率数据映射到Mel标度(图1e)。

    对数能量:为了模拟人类听觉感知响度的方式,将每个Mel滤波器组的能量转化到对数标度(scale)(图1f)。

    离散余弦变换(DCT):获得MFCC的最后一步是对Mel滤波器组能量列表进行离散余弦变换(图1g)。结果是一个MFCC向量。

    2)其他方法:现代VPS中还使用了许多其他的信号处理技术。这些例子包括mel -频谱系数(MFSC),线性预测编码和感知线性预测
    (PLP) [61]。就像MFCCs一样,这些代表了信号处理的确定性技术。其他VPS采用概率技术,特别是迁移学习[69]。在这种情况下,一个模型被训练来学习如何从输入中提取特征,而另一个模型被提供这些特征来进行推理。这种分层的VPS方法是最近的发展[71]。此外,一些称为“端到端”系统的VPS通过删除预处理和信号处理步骤[35][37],替换了原始输入和模型之间的所有中间模块。这些系统旨在消除引导附加模块所需的增加的工程工作量,以及增加的处理时间和复杂的系统部署[16]。

    图1:该用于音频转录的通用VPS工作流程说明了,在将音频传递到机器学习模型进行转录之前对音频执行的各种处理步骤。首先,对音频进行预处理以消除噪声。接下来,音频通过信号处理算法,该算法改变输入的格式,保留重要的特征,并丢弃其他特征。最后,这些特征被提供给用于推理的机器学习模型。

    C. 模型推断(Model Inference)

    然后将从信号处理步骤收集的特征传递到机器学习算法以进行推断。VPS广泛使用机器学习算法进行语音识别。然而,由于机器学习技术的不断发展,这类系统的定义也各有不同。通常,机器学习系统可以被描述为一组输入X\in IR^{D}(对于一些输入维度D)到一组输出Y(连续值或离散值),使X\rightarrow Y。为了学习这样的映射,将值转换为F(x)=y+\epsilon形式,期中\epsilon是要被训练集中的所有输入x\in X和已知输出y\in Y的最小化误差项。 据说系统在训练集的输入和输出之间进行插值(interpolate)以构建X\rightarrow Y映射的模型。一旦系统被训练好,它就必须将学到的知识外推到一个新的、未知的输入空间,即测试集。测试集上的错误率是机器学习系统最常见的度量方式。一般来说,机器学习系统的任何输入X都被称为特征,因为它构成了所有输入样本中可以观察到的独特的特征,理想情况下,可以用来区分不同的样本。

    早期的机器学习系统专门研究特定领域,并被设计成内插一些特定领域的知识,从而成为领域专家[17]。由于这些系统的特殊性,它们需要广泛的特征工程(feature engineering),为了产生有用的结果,常常涉及到人类领域的知识。因此,该领域早期的许多工作都围绕着特征设计。随着无所不在的数据收集方法的出现,后来的方法侧重于数据驱动的方法,选择更一般的知识,而不是领域特定的推理。现代系统现在能够自动执行以前称为特征工程的功能,而不是选择从大量非结构化数据中提取特征。因此,这些技术可以自动学习与创建映射相关的正确特性,并应用预定义的代价函数来最小化错误项。由于少了特定的特征工程,这些系统不仅更灵活,而且可以分成独立的模块以在不同的域或应用中使用(即,迁移学习),并且还提供更好的外推性能。

    D. 心理声学

    心理声学是研究人类如何感知音频的科学。 专注于这一主题的研究领域广泛而深入,不断推进我们对人类听觉的理解以及大脑解释声学信号的方式。这一领域的研究发现,人们在听和解释语言的方式上有许多微妙之处。因此,成功的隐藏命令必须考虑心理声学效应。

    心理声学的研究表明,人类对声音的听觉和感知既有健壮性又有弱点。当存在多个声源时,人类很容易专注于一个声源。这就是所谓的鸡尾酒会效应[26],在这种情况下,人类可以忽略那些无关紧要的声音。人类的听觉在添加背景噪声的情况下也能很好地解释语言[29]。这意味着,简单地在录制的语音中添加噪声并不会降低其可懂度,只会抑制语音的音量。

    另外,人类的听觉和感知能力也可能很脆弱,尤其是在频率较高的情况下。人类听到的声音是对数级的,往往认为更高的频率是更响亮的[15]。Mel标度(scale)[46],以及类似频率掩蔽的概念[32]表明,与低频相比,人们很难辨别高频的差异。人类在解释不连续或随机声音方面也很差,而他们倾向于享受平滑连续的音频信号。然而,根据定义,不连续和更不稳定的信号是噪音[42]。除了难以理解之外,这些信号往往会让大多数人感到刺耳和不舒服。

    我们可以利用心理声学来更好地干扰语音命令。我们将在第七节详细讨论心理声学的应用。

    三. 假设(HYPOTHESIS)

    人类语音为训练和测试ASR模型提供了一组有限的特征:语音的大部分方面在预处理或特征提取算法中被过滤掉。将原始输入的这个缩减子集作为特征向量传递到模型上,用于训练或测试。这提供了通过扰动将声学伪像(artifact)引入音频的机会。然后,在信号处理期间消除这种伪像。通过使用有关心理声学和音频物理特性的知识,我们可以开发出与任何特定机器学习模型无关的攻击音频。虽然这些人工制品将使人难以解释音频,但它们不会影响ASR的识别能力,使ASR暴露在隐藏的语音命令攻击之下。

    四. 方法(METHODOLOGY)

    我们开发扰动以生成用户无法解释但由VPS能正确推断的攻击音频。本节介绍攻击场景、进行成功攻击所需的功能、生成攻击音频样本的扰动方案,以及我们测试攻击的VPS。

    A. 攻击场景

    攻击者希望在VPS(如,亚马逊Alexa,谷歌家庭助理或任何语音激活设备)上执行未经授权的命令。为此,攻击者在VPS的方向上播放模糊的音频命令。目标VPS在内部使用ASR转录音频命令以执行它们。除了ASR之外,VPS还可以在执行命令之前使用说话人识别模型对说话人进行身份验证。模糊的音频可能包含如启动有线传输、解锁门,或者通常导致对合法用户可用功能的执行的命令。攻击音频通过受损的物联网设备或定向扬声器播放。虽然目标VPS的所有者可能在可听到的范围内,但他们不会将攻击音频识别为语音命令。因此,所有者将仍然不会意识到攻击正在进行中。

    针对这些系统的攻击将基于标准的漏洞开发、探测和攻击策略进行。也就是说,我们期望攻击者开发能成功激活一个或多个模型的攻击音频语料库。然后,他们将探测潜在目标,通过直接信息或探测来了解他们针对的模型。然后,攻击者将从语料库中选择攻击音频样本并执行攻击。

    B. 威胁模型

    我们假设不知道模型(即黑盒攻击)。攻击者不需要知道受害者模型的类型或内部架构(即,层数或内部权重)。但是,攻击者熟悉音频和语音处理。

    我们的攻击会产生类似噪音的攻击音频,能对VPS有效攻击:在转录任务中,被扰动的音频与原始未被扰动的音频被转录成相同的结果,而在识别任务中,系统会将被扰动的音频识别为原始扬声器的声音。扰动方法旨在利用VPS对声学特性的假设。

    在转录任务中,攻击者有一个正确转录的音频样本。同样,对于攻击说话人识别模型,攻击者拥有目标VPS将正确识别的受害说话人的语音样本。扰动方法旨在保留正常音频样本的重要声学特性,同时改变其听觉感知。如果在没有扰动的情况下,目标模型无法理解音频样本,那么在有扰动的情况下,目标模型将仍然无法理解音频样本。该威胁模型旨在模拟以前的攻击工作,特别是Carlini等人的[24]。攻击者不在房间内,但可以远程使用扬声器。受害者离攻击扬声器很近,但没有积极地倾听或期待攻击。受害者可能听到了攻击的声音,但无法解读,因此不知道攻击正在进行。

    攻击者对受害者使用的声学硬件一无所知。我们假设目标ASR离攻击扬声器很近。家庭正在配备越来越多的支持扬声器的物联网设备。这个数字预计还会上升,以便用户能够在日常生活中不断地与家庭助理进行互动。这些扬声器可以被远程利用,然后被攻击者用来播放攻击音频。此外,受害者ASR设备,如Alexa,具有一系列高质量麦克风,可以从多个位置和角度检测音频。鉴于上述因素,我们假设目标ASR距离攻击者一英尺。

    C. 扰动类型

    我们提出了四种扰动方法。每个产生的攻击样本都包含一个或多个连续应用的扰动,这些扰动可用于攻击目标VPS。我们使用图2作为示例,并在下面详述每个扰动。

    1)时域反演(TDI):大多数VPS使用FFTs(图1c)将一个信号分解成其复合频率,称为频谱。FFT是一个多对一的函数。这意味着时域中两个完全不同的信号可以具有相似的频谱。我们的TDI扰动方法利用了这一特性,在时域内修改音频,但是到了频域却保持了其频谱不变,通过反转窗口信号。如图2b所示,在整个信号上反转小窗口可以消除平滑性。由于心理声学的原理,这种受干扰的声音很难理解,因为人的耳朵把任何不连续的信号解释为有噪声的[42]。

    2)随机相位生成(RPG):对于频谱中的每个频率,FFT返回一个复数形式的值a{_{0}}+b{_{0}}i,其中a{_{0}}b{_{0}}定义了信号的相位。为了获得每个频率的强度,使用下面的等式,利用复数谱的幅度(图1d)来产生幅度谱:

    由于幅度函数是多对一的,所以a和b的多个值会有相同的幅度原始值。非正式地说,不同相位的两个信号可以具有相同的幅度谱。第二种扰动方法选取两个随机数a{_{n}}b{_{n}},使得:

    这个输出是与原始信号相位不同但幅度谱相同的新信号,如图2c所示。这将会在信号中引入类似的不连续,由于心理声学的基本原理,这使得受扰动的音频更难解释。

    3)高频附加(HFA):在预处理期间,使用低通滤波器(图1a)将音频中超出人声范围的频率去除,以提高VPS的精度。在大多数情况下,这个分界点至少为8000赫兹,原因有二:大多数口语内容低于这个水平,而语音通常采样于16000赫兹。第三种扰动方法是在预处理阶段向滤除过的音频添加高频。我们创建高频正弦波并将其添加到真实音频中(图2d)。如果正弦波有足够的强度,则它有可能在人耳中将基础音频命令掩盖。由于人类的耳朵对高频很敏感,因此产生的声音听起来可能会很痛苦。这背后的心理声学推理将在第七节进一步讨论。

    4)时间尺度(TS):说话人和语音识别模型需要考虑人类说话的速度。相对于语速较慢的单词,人类更难理解语速较快的单词。在第四种也是最后一种扰动中,我们可以将语音命令加速到仍能够正确转录的一个程度。我们通过丢弃不必要的采样(samples)并保持相同的采样速率来在时域内压缩音频。 因此,音频的时间更短,但保留了与原始音频相同的频谱。

    我们生成一组包含相同语音命令,但音频速度不同的音频文件(图2e)。然后,我们对我们观察到的所有语音识别模型运行这些文件,并记录能正确转录的最高速文件。虽然单独应用这种扰动可能不会完全阻碍人类理解原始语音命令的能力,但是将其与其他扰动结合使用会使解释音频变得困难。

    D. 攻击音频生成

    本节详细介绍了如何使用扰动引擎(PE)生成攻击音频,如图3所示。PE适用于任何给定黑盒假设的模型。

    1)一般(or通用)攻击方法:攻击音频生成包括以下步骤:参数选择、攻击音频生成、模型推断和音频选择。图3显示了该部分的概述。

    首先,攻击者选择用来扰乱音频的参数:音频速度、高频强度和窗口大小(对于TDI和RPG)。攻击者不知道哪些参数会给出VPS仍然能够接受的最失真的攻击音频。PE根据输入参数对音频进行失真。

    其次,攻击者将这些参数连同正常音频一起提供给PE。PE生成攻击音频样本,使用上一节中描述的扰动方法用每个参数集对音频的整个长度进行扰动。对于每一组参数,PE将生成一个音频样本。TDI和RPG扰动方案将窗口大小作为输入。HFA扰动方案将把想要添加到音频信号中的频率作为输入。TS扰动方案将增加速度的百分比作为输入。

    PE将使用指定的输入参数值应用这些方案,为每组参数生成唯一的攻击音频。使用我们的PE生成单独的攻击音频样本只需要几分之一秒。

    第三,通过查询将攻击音频样本传递到目标VPS。VPS不会接受所有的攻击音频样本,因为有些可能被扭曲得无法识别。在失真程度和模型转录之间存在一种平衡。如果音频失真很高,VPS可能不会接受或错误地转录音频。另一方面,失真过小会增加人类观察者的音频解译能力。

    2)改进的攻击方法:VPS比人能更好地识别一些单词。有时,这个属性被有意地内置到模型中。例如,家庭助理被专门训练,从而对激活短语敏感。因此,某些单词可能比其他单词降级(degraded)更多,仍然可以被VPS识别。

    攻击者可以通过对每个单词而不是整个句子以更细的粒度运行PE,来利用这种模型对特定单词和短语的偏见(bias)。例如,不是扰乱整个短语“pay money”,而是对“pay”和“money”这两个词单独扰动,如图4所示。接下来,将每个单词的扰动音频样本连接起来,以创建所有可能的组合,从而生成一组更大的攻击音频样本。

    E. Over-the-Line and Over-the-Air

    我们定义了两种情景来测试对模型的扰动攻击:Over-the-Line和Over-the-Air。在Over-the-Line攻击中,攻击音频以.wav文件直接传递给模型。相反,Over-the-air攻击要求攻击者通过扬声器向目标VPS播放攻击音频。通过Over-the-line攻击成功的攻击音频不一定也会在Over-the-air攻击中成功。因为声学硬件的频率响应、静态干扰和环境噪声等自然因素的影响,通过扬声器播放攻击音频会降低攻击音频的细微扰动。对于实际的攻击,攻击音频应该抵抗这些因素。

    这种限制在针对VPS的所有最先进的攻击中都很明显。虽然Carlini等人的[24]攻击音频不能在除攻击生成过程中使用的扬声器之外的任何扬声器系统上使用,但是Yuan等人[72]的攻击方法假设知道并访问攻击扬声器和受害者的声学硬件。虽然这两种情况都是现实世界中强有力的威胁模型,但我们的攻击没有这样的限制,正如我们将要证明的那样。

    F. 模型(model)

    我们提出的攻击针对的是公开可用的VPS实施中的最新技术。我们测试了对表I中列出的VPS的攻击。我们的选择囊括了各种已知的体系结构,黑盒API和特征提取技术。我们简要概述了这些VPS所处的不同类别以及选择它们的原因。请注意,尽管某些系统的体系结构是已知的,但是只使用声学特性来构造攻击音频,而不是使用有关底层模型的任何可用信息。

    1)传统模型:我们以卡尔迪的隐马尔可夫模型-高斯混合模型(HMM-GMM)组合作为传统语音转录模型的一个示例。Kaldi以其开源性、合理的性能和灵活的配置而闻名。HMM是一种多状态统计模型,可以作为语音转录环境下的时态模型。HMM中的每个状态都拥有一个惟一的GMM,它将基于MFCC的特征作为输入,并在其他音素的上下文中对音素进行建模。HMM可以描述语音和文本之间的转换,并可以解释不同的时间音素信息簇,从而产生语音和文本之间的对齐。基于HMM的方法是相关的,因为现代架构模仿它们的多状态行为。我们参考[60]作为隐马尔可夫模型的一般入门。

    2)现代模型:最近,语音识别和转录任务已经开始采用深度神经网络(DNNs)和递归神经网络(RNNs)的某些组合。这些架构因其在复杂自动化任务中的性能和灵活性而广受欢迎。神经网络由夹在输入层和输出层之间的一个或多个有状态神经元的隐藏层组成。层连接在一起,并作为后续层的输入,以便根据特定的输入激活连接。DNN是具有更多隐藏层和精心设计的深层结构的神经网络。卷积神经网络(CNNs)是一种流行的神经网络结构,它们具有良好的图像分类性能,这得益于它们能够利用卷积滤波器自动进行特征提取。RNNs与DNNs略有不同,可以被认为是一个独立的神经网络链,一个神经网络的隐层会连接到后续网络的隐层。然而,基本的RNN容易出现梯度[56]消失或爆炸的问题。因此,RNN通常用特殊的神经元激活功能实现,例如长期短期记忆(LSTM)或门控递归单位(GRU)。在这两种情况下,RNN的输入和输出都可以形成序列,这使它们成为许多序列任务的理想选择。这些包括语言建模和音频转录,它们是现代ASRs的关键组成部分。

    所选择的神经网络模型在特征提取方面存在差异。Kaldi-DNN和Intel Neon DeepSpeech使用基于MFCC的特征作为模型的输入。直到最近,基于MFCC的特征一直是VPS相关任务中最强大的特征提取技术。然而,DeepSpeech-style模型依赖于一种称为端到端学习的方法。该系统采用神经网络模型进行特征提取和推理。对于Mozilla DeepSpeech,RNN被训练成将原始的音频频谱图转换成文字。端到端音频转录模型的目标是学习一个比传统的基于MFCC的编码更高效的新特征空间。该特征空间用作模型RNN的输入,RNN根据编码数据进行推理。在解码阶段,可使用可选语言模型来提高转录性能。因此,在系统的两端使用神经网络。在实践中,该系统展示了最先进的语音转录测量结果,可与复杂的HMM-GMM方法相媲美。

    3)在线API:我们验证针对几个Internet托管模型的攻击。这些模型的架构尚不清楚,但由于它们的流行和广泛使用,我们假定它们接近最先进水平。在这些模型中,有两个专门用于对说话人进行分类:Azure Attestation API用于在一些已知组中对说话人进行分类,而Azure Verification API用于根据用户的声音执行认证。所有其他模型都是为语音转录任务而设计的。

    五. 实验装置(EXPERIMENTAL SETUP)

    A. 短语选择(Phrase Selection)

    实验所用短语的完整列表如表II所示。对于说话人识别模型的攻击,我们选择短语A、B、C和D。短语A、B和C是来自TIMIT数据集[31]的语音平衡句子(phonetically balanced sentences)。短语E、F、G和H是用于攻击ASRs的命令短语。这些都是对手可能想要使用的命令。由于这些短语无法由Intel DeepSpeech模型解释,我们将它们替换为短语I、J、K和L。这些附加的短语是从LibriSpeech数据集中收集的,该模型是在[54]上已训练的。我们没有包含任何激活短语,例如“Ok Google”,因为每个主要的VPS都经过调整以检测自己的激活短语。这意味着我们可能会比其他人能更扰乱激活短语,从而导致有偏见的(biased)结果。

    B. 语音转录(Speech Transcription)

    我们针对表I中所示的10个ASR(其余2个是说话人识别系统)测试了我们的音频扰动攻击方法。如果我们的假设是正确的,那么无论底层的模型类型或特征提取算法如何,攻击音频都应该对任何ASR有效。

    我们对包括7个专有模型(如Google Speech API,Bing Speech API,IBM Speech API,Azure API等)的[13]运行了一般(or通用)攻击方法(在IV-D1节中进行了描述)。这些模型是在线托管的,只能查询有限的次数。我们对本地托管的模型运行了改进的攻击方法(在IV-D2小节中描述),可以无限制地查询这些模型。

    1)Over-the-Line:对于每个短语,我们使用不同的扰动参数生成多个攻击音频样本。然后以.wav文件将它们传递给模型进行转录。然后,根据我们在第七节描述的标准,我们选择了一个听起来最差的音频作为最终的攻击音频。对每个模型重复这些步骤。在这个过程的最后,对于这10个模型中的每一个,对于表I中引用的每个短语,我们都有一个对应的攻击音频文件。

    2)Over-the-Air:如IV-E节所述,我们在Over-the-Air运行攻击音频样本。在10个ASR中,我们测试了7个(online的)。 将一个Audioengine A5扬声器[2]放在会议室桌子上播放攻击音频。将Behringer麦克风[5]放置在一英尺远处以模拟ASR设备。然后将录制的音频以.wav文件形式传递给ASR进行转录。对于每个模型,我们播放了四个攻击音频样本,每个短语一个。但是对Mozilla DeepSpeech模型,通过播放了15个随机采样的攻击音频文件,进行了广泛测试。这样做是为了确定具有较大窗口尺寸的PE生成的音频样本是否仍然在Over-the-Air工作。这是作为一个基线测试,以确保攻击算法不会固有地降低音频质量,使得攻击音频在空中播放后不再有效。

    为了证明攻击是独立于声学硬件的,我们对Google Client Speech API重复了Over-the-Air实验。此外,我们使用白噪声发生器在背景中播放55dB降低了声学环境。我们用iMac替换了之前的扬声器,用Motorola Nexus 6替换了之前的麦克风。实验是在一个小隔间里进行的。这个实验装置代表了攻击者在现实世界中所面临的苛刻但逼真的声学条件。

    C. 说话人验证(Speaker Verification and Attestation)

    家庭助理系统已经开始引入语音生物识别技术来验证用户,以防止VPS接收未经授权的个体发出的音频命令。根据真实用户的语音蓝图(blueprint)检查每个音频命令,以便在执行之前对其进行身份验证。这种基本的生物识别认证对最先进的音频模糊(obfuscation)攻击构成了无法克服的障碍。但是,我们的模糊技术旨在保留必要的语音信息以通过身份验证测试。为了验证这个假设,我们对两个说话人识别系统进行了音频模糊攻击。我们特别攻击了Azure Identification/Attestation (SA)模型和Azure Verification (SV)模型。

    训练SA模型以识别多个说话者的声音。例如,在训练期间,模型学习识别Alice和Bob的声音。在测试期间,模型推断出测试音频样本属于哪个说话者。此外,SA与文本无关。这意味着音频样本可以包含说话者朗读任何文本的语音记录。

    相反,SV模型被训练以识别单个说话者(即,仅Bob)。在测试期间,模型决定测试音频是否属于Bob。与SA不同,SV依赖于文本,因为测试音频必须包含说话者所读的模型要求的短语。模型首先检查音频是否转录为请求的短语。只有这样,它才会检查语音蓝图是否与Bob的匹配。

    为了攻击SA模型,我们首先使用TIMIT数据集中的短语训练Azure Identification模型。我们根据八名男性和八名女性说话者的声音训练模型。随机选择了三名男性和三名女性作为攻击对象。对于每个说话者,我们使用一般攻击方法(在IV-D1节中描述)运行扰动方案,生成10个.wav攻击音频样本。

    为了攻击SV模型,我们训练了Azure Verification模型。由于SV模型依赖于文本,而TIMIT数据集不包含Azure SV模型请求的任何短语,所以不能用该数据集。我们收集了三男和三女的音频数据。我们录制了每个人对于每个短语的四个音频样本:三个样本用于训练模型,一个样本用于测试。在训练模型后,我们检查了测试音频是否正确验证。然后使用一般攻击方法对测试音频进行扰动,并将其以.wav文件传递给身份验证模型。我们对所有六名参与者分别重复了这些步骤。

    六. 实验结果(EXPERIMENTAL RESULTS)

    扰动引擎将一组参数和音频样本作为输入。然后根据IV-C节中概述的技术生成攻击音频样本。为了证明其有效性,我们首先测试了Over-the-Line攻击,方法是将攻击音频以.wav文件传递到VPS,并通过一个普通扬声器播放音频来进行 Over-the-Air攻击。

    A. Over-the-Line

    1)ASR模型:我们测试我们对ASR模型的攻击。如前所述,扰动引入了声学 artifacts,使得原始消息难以被人类理解。然而,攻击音频在传递到ASR时仍必须正确转录

    我们对表I中所列的10个ASR进行了攻击。如果ASR正确地转录了整个短语,那么攻击就成功了。转录中的小拼写错误被忽略了。在每种情况下,花费几分钟时间找到ASR正确转录的第一个攻击音频。对于每个模型,我们都能够生成ASR正确识别的一个音频样本,如表II所示,尽管没有关于ASR的底层模型或预处理步骤的信息。我们总共生成了大约20,000个正确转录的攻击音频样本。按照设计,现代的ASRs很容易受到重放(replay)攻击。一旦攻击者生成了一个有效的攻击音频,他们就可以重复使用它来攻击多个使用相同ASR的受害者。

    几乎所有的ASR使用的技术都属于我们在表I中讨论的范畴。我们攻击各种ASR,并且所有ASR对人类语音做出类似的假设。这就是为什么我们有理由假定我们的攻击对其他先进的ASRs是有效的,无论其潜在的机制如何。

    2)说话人识别模型:表I显示了对说话人识别模型的攻击结果。 对于该实验,如果识别模型将攻击音频分类为原始说话者的攻击音频,则攻击成功。在所有情况下,模型都做出了正确的分类。说话人模型不会返回有关音频成功的任何信息,只返回分类结果。这意味着攻击者无法依靠任何信息来改进攻击。 因此,像我们提出的那样,离线扰动方案是优选的。

    B. Over-the-Air

                

     

    除了易于生成之外,攻击音频必须在通过Over-the-Air播放后被VPS正确转录。为了对10个ASR中随机抽样的七个ASR进行测试,我们使用上一节中的相同音频。图5显示了攻击的一个示例。如果模型完全转录了所需的短语,则攻击就是成功的。如果ASR错误地转录了一个或多个单词,则攻击不成功。例如,如果短语“turn on the computer”中的单词“turn”没有被转录,那么攻击就是失败的。这是一种保守的方法,因为攻击者可以通过使用上一节中创建的20,000个其他攻击音频样本来克服这个问题。

    对于Over-the-air测试,我们使用了Over-the-Line实验期间生成的攻击音频样本。对于表II中的四个短语E-H中的每一个,我们选择了一个最失真的音频样本。用于生成音频样本的攻击参数如表III所示。我们使用TDI方法,因为这种方法产生了最可听见(audible)的失真。对于Kaldi-DNN,除了TDI,我们还进行了TS。表III显示了TDI的最小窗口大小。任何大于此的窗口大小都会导致Over-the-Air攻击成功。类似地,任何小于使用表III的TS因子都会导致成功的Over-the-Air攻击。

                               

    如表III所示,几乎所有短语都成功转录。这是预期的,因为攻击的设计保留了最先进的扬声器模型认为最重要的声学特性。像Wit.aiyi这种情况,在Over-the-Air中精度微小下降,可归因于环境因素(例如背景噪音等)。

    Kaldi-DNN是唯一未成功转录任何初始Over-the-Air攻击音频样本的模型。通过进一步的研究,我们发现Kaldi-DNN模型是使用Fisher English Dataset[27]进行训练的。我们认为音频训练数据没有包含足够的噪声音频。因此,当我们引入自己的音频制品时,攻击就失败了。然而,当选择不同的扰动较小、以较大窗口作为PE输入生成的攻击音频样本时,我们可以证明模型正确地转录了它们。攻击音频转录失败并不意味着该模型不受我们提出的扰动攻击的影响。更有可能的是,该模型在嘈杂环境下的效率更低。

    C. General Insights

    我们的初步结果揭示了攻击者可以用来减少攻击生成时间的参数值的见解。 因此,我们已经证明了我们对VPS持有的假设。

    实验结果表明,扰动参数,特别是窗口大小(用于TDI和RPG),显示出三个重要的性质。首先,窗口尺寸越小,声音失真越大。其次,如果攻击音频以某个窗口大小成功转录,那么所有以更大窗口大小生成的攻击音频样本也会被成功转录。第三,没有攻击音频样本生成的窗口大小低于1.00 ms的是正确转录的。这个参数创建了最大失真的近似上界。使用更小的窗口大小参数生成的攻击音频文件未被表I中的任何VPS正确地转录。当将扰动参数传递给PE时,攻击者可以通过将窗口大小初始设置为1.00ms,然后逐渐增加窗口大小,直到他们获得成功转录的第一个攻击音频。

    另外,音频样本在失真超过VPS识别范围之前只能被扰动到某个阈值。 使用较大窗口大小生成的攻击音频样本可以加速最多。如果攻击者通过单个参数的最低界限(例如,1.00ms的窗口大小)扰乱音频,则使用诸如速度之类的附加扰动参数将降低VPS可识别音频的可能性。攻击者可以选择不同的参数设置,来调整用于受害者和特定攻击场景的攻击音频,以最大限度地提高攻击效果。在我们的初步实验中,我们观察到的TS因子为150%,RPG或TDI窗口大小接近1.00 ms,频率高于8000Hz的正弦波HFA产生了理想的攻击音频。

    正如IV-D2节所述,PE可用于为单个短语生成大量攻击音频样本。每个音频样本都有不同程度的声音失真。然而,挑选一个最差的攻击样本并不简单,因为没有任何广泛接受的度量标准来衡量感知到的音频失真程度。在我们的例子中,我们确定了扰动参数和音频失真之间的关系。对于TDI和RPG,较小的窗口大小对应于较大的失真,也就意味着较差的音频。对于HFA和TS,较大的值对应较差的声音。这些标准使我们能够将之前生成的20,000个攻击音频样本的空间缩小到不到10个。此时,攻击者可以手动侦听这十个样本,并选择听起来最差的一个。

    在生成模型能够解释的攻击样本时,一些扰动比其他扰动更成功。在我们测试的扰动中,RPG不如TDI成功。RPG要求我们采用音频的FFT,然后进行逆FFT。当我们将模型视为黑盒时,我们不知道模型采用的FFT算法的类型或参数(buckets的数量)。相反,当使用TDI时,所有的扰动都发生在时域。在此扰动期间,音频不会通过类似FFT的函数进行转换,尽管RPG确实工作过很多次。有了该模型的其他信息,我们认为RPG机制可以被精确地调整;然而,我们的方法证明了黑盒知识足以成功攻击。

    此外,TDI扰动不要求不连续点与特征提取算法的时间帧一致。扰动方案对黑盒模型成功的事实支持了这一假设。在这些模型中,我们没有关于时间帧不连续点的任何信息。

    当攻击一个在线模型时,攻击者会受到查询数量(次数)的限制。这可能是由于每个查询的相关成本,也可能是由于被检测的威胁。这就是为什么攻击者要以尽可能少的查询生成攻击音频的重要性。我们的攻击算法符合这点。对手可以使用RPG或TDI方法,从窗口大小为1.00ms开始,增量为0.50ms,生成10个攻击音频样本。我们观察到,几乎总是至少有一个生成的音频样本能被VPS正确解释。 在我们的案例中,我们能够在对模型不到10个查询中,成功找到适用于专有模型的攻击音频。

    本文从受攻击模型的数量和种类两方面对攻击进行了最大的评价。我们的模型列表超过了对抗性音频领域中任何其他已发表的作品的数量级。然而,由于ML的不断发展,新的模型将不断发布。对现有的、公开可用的最先进模型的有效性,证明了我们的攻击具有足够的泛化性。这种攻击是“通用的”,因为对于任何模型的攻击,它只针对特征提取阶段。直观地说,未来的模型将来自于公共领域中可用的相同特征提取技术。另外一个障碍是选择合理数量的短语进行测试。由于ASRs通常要训练大量的数据,对每个短语进行实验是很难的。 相反,我们构建了一个反映各种实际用例的短语列表。

    七. 讨论

               

    图6:该图显示了包含语音的音频文件的STFT、Carlini对音频文件的扰动、我们对音频文件的扰动和白噪声。较浅的颜色表示在给定的频率和时间内较高的强度。我们可以看到Carlini的扰动音频在较低频率下具有较高的强度,而我们的扰动音频在较高频率下具有较高的强度。

    A. Improvements on Previous Work

    由于心理声学原理,我们的音频扰动方法使得人类难以解释攻击音频样本。Carlini等人提出了一种与我们目标相似的方法;然而,他们的工作给音频增加背景噪音。由于相比于扰动,人类能够更好地从噪声中恢复(理解)语音,因此我们生成的语音命令相对来说更难被人类理解。我们在数量上和质量上都加强了这一主张。

    高频:图6显示了原始音频样本的短时傅里叶变换(STFT)、白噪声以及我们的和Carlin的对该原始音频样本的攻击。STFT图提供了有关每个音频样本随时间变化的频率强度的信息。强度越高,颜色越浅。通过观察这些图,我们可以看到Carlini等人制作的音频在低频段比在高频段有更强的强度。相比之下,我们的攻击音频在整个频谱中具有较高的强度。

    人类感知声音的响度是对数级的[30],并且更高的频率被认为更响亮15]。这种感知相对音量的增加将导致听者更专注于高频分量,而忽略通常与语音相关的低频分量。增加音量也可能导致导致听者的疼痛难受[43]。如果为了在舒适的水平上听到较高的频率而降低音频的音量,较低的频率就会变得更难听到。

    由于Cocktail Party Effect[26],[33],[22],我们的攻击音频中加入更高的频率也降低了可懂度。这种心理声学现象使我们能够专注于对话而忽略其他对话和背景噪音。通过类似的选择性注意概念[57],人类更有可能正确地解释他们更熟悉的语言(比如友好的声音)。这些熟悉的刺激可以使听者将注意力转移到解释其他语音上。

    虽然通常被认为是人类听觉的强大品质,但我们的攻击音频利用了这些原则。我们的攻击中占主导地位的高频是在典型的人类语音范围中[43]。当被人类听到时,我们的攻击音频很可能被认为是背景噪音,因而被忽略。此外,将音频视为不重要的背景噪声将减少语音成为熟悉的刺激并引起听者注意的机会。利用这些心理声学原理,高频将在VPS的预处理阶段被过滤掉,并且仍会正确转录。

    噪声:虽然添加噪声似乎是一种合理的增加音频不可理解度的方法,但心理声学的研究已经证明了语音在有噪声存在时的鲁棒性[29]。当在正常语音中添加噪声时,语音的听觉特性突出于增加的噪声之上,从而确保了可理解性。如果在语音中加入足够多的噪声,解释就会变得更加困难,因为原始的语音会被大量的噪声所抑制。将在语音中添加噪声作为一种干扰方法,对于使人类更难理解音频几乎没有什么好处。此外,由于攻击音频中添加了额外的噪声,反而抑制了语音,使VPS也很难准确地转录音频。

    为了评估他们的攻击音频可理解度,Carlini等人使用了Amazon Mechanical Turk[1],让参与者听取他们的攻击音频,并尝试转录它们。虽然这似乎是一种合适的评估方法,但这带来了许多可能对结果产生重大影响的不可控变量。使用Amazon Turk的问题在于,该实验不是在本地(local)进行的,导致了许多无法控制的变量,可能会影响参与者录制攻击音频的能力。这些变量包括但不限于年龄[57]、[53]、第一语言[59]、听力范围[43]、听力环境、音频设备和视觉刺激[64]。

    量化言语的可理解度是具有挑战性的[66],但这些调查结果包含太多无法控制的变量,无法做出准确的结论。目前还没有一个被广泛接受的度量标准来度量音频样本的不清晰度。在以前的工作中,L2范式被用于量化在攻击图像分类器时对抗性图像的失真,这在第8节中讨论。然而,使用L2范式来测量攻击音频失真是不正确的。这是因为我们把声音的不可理解度建立在心理声学和人类听觉生物学原理的基础上,这与与图像分类相关的因素有着本质和根本的不同。我们已经在网上向公众提供了我们的攻击音频Carlini等人也将他们的音频放到网上,我们鼓励读者将其作为对比。

    进行小规模研究,而不是使用其他科学界的既定结果,是多余的,且容易出错;实际上,我们只是在报道轶事。相反,我们通过引用心理声学中被广泛接受的已发表的作品来证实我们的结果,这些工作表明,我们的音频具有使其难以理解的特性。如图6所示,与之前的工作相比,我们的音频更好地展示了与不可理解度相关的特性。

    实际的局限性:Carlini的攻击只有在攻击者拥有受害者模型的白盒知识的假设下才有可能。该攻击只能针对HMM-GMM ASRs进行,这意味着该攻击不足以对抗目前正在日益部署的最先进的DNN和RNN模型。该攻击也没有显示出对说话人识别模型有效。Carlini的攻击音频不能与除攻击音频生成期间使用的扬声器系统之外的任何扬声器系统一起使用。最后,他们的白盒攻击需要超过32小时来生成。这些额外因素严重限制了攻击者的能力。相比之下,我们的攻击是黑盒的,模型无关的,对ASRs和说话人识别模型都有效,可以跨扬声器系统传输,生成过程只需几秒钟。我们的攻击算法为攻击者提供了更强大的能力,同时减少了对受害者模型的假设。最后,我们的工作利用人类音频感知的基本特性来生成攻击样本。我们的扰动在时域中使用简单的操作,而不使用任何复杂的算法。相比之下,Carlini的工作试图将噪声添加到存在于频域中的MFCC。这两种攻击利用的域本质上是不同的,这影响了Carlini攻击的有效性。

    B. Defenses

    语音活动检测(VAD)是一种常用的语音处理算法,用于检测音频样本中人类语音的存在。它在蜂窝通信(cellular communications)[50]、IP语音(VoIP)[38]和VPS中都有应用[62]。VAD区分人类语音区域和静音区域或噪声区域。通过识别静音和噪声,可以从音频中消除这些区域。这包括单词之间的噪声和静音区域,将传输的音频减少到构成整个录音的单词。这对于VPS尤其有用,因为在预处理中使用VAD可以只给模型提供必要的语音数据,从而潜在地降低处理成本并改善转录结果。

    基于此描述,VAD可能被认为是针对我们在本文中提出的攻击的一种潜在防御手段。如果VPS使用VAD,这将导致攻击音频被归类为噪声,不能进一步处理。我们将证明,情况并非如此。

    为了测试这种潜在的防御机制,我们对随机选择的36个攻击音频文件运行了VAD算法。我们对音频文件进行ITU-T G.729 VAD算法的MATLAB实现,观察哪些区域被划分为语音。在所有36种情况下,VAD算法都能准确定位音频中的语音。

    此外,我们还对Carlini等人生成的两个攻击音频文件运行了VAD算法。对于这两个文件,几乎所有的音频,包括由纯噪声组成的单词之间的部分,都被确定为语音。我们认为这是由于增加的噪声抑制了语音,从而“模糊”了语音和噪声之间的界限。虽然这不能阻止他们的攻击音频被提供给VPS,但这确实增加了音频不能被正确转录的可能性。被认为是语音的噪声,尤其是单词之间的噪声,会随着实际的语音一起发出。这增加了部分或全部语音被误译的可能性,从而防止了攻击。

    随着越来越多的系统开始部署VAD以减少处理时间和服务器负载,Carlini等人生成的攻击音频可能无法继续被正确转录。同时,无论系统是否使用VAD进行预处理,我们的攻击音频都将继续工作,因为我们没有引入额外的噪音

    分类器训练: 先前已经提出了训练分类器模型以检测对VPS的对抗性攻击的防御方法[24]。我们认为这项技术不切实际且脆弱的。机器学习模型是不完美的,无论他们的训练或任务。添加一个模型来预先确定音频是否是恶意的,很可能会导致可用性问题。由于模型中的缺陷,合法的语音命令可能被错误地归类为恶意命令并被忽略。这将降低用户体验的质量,并可能导致用户寻找替代的VPS系统。

    修改VPS: 另一个潜在的防御机制是修改VPS的构造以阻止我们的攻击。这可以包括改变或删除信号处理或预处理步骤。然而,裁剪VPS以不检测或丢弃攻击音频并不是一个可行的解决方案。这将导致VPS的准确性下降。此外,我们已经证明了我们的攻击音频对Mozilla DeepSpeech的有效性,Mozilla DeepSpeech不使用任何预定义的信号处理。由于我们的扰动根植于心理声学,为了阻止我们的攻击,必须在预处理步骤或其之前设置防御机制。

    最近提出了这样一种系统[21],可能会对我们的攻击成功产生影响。该系统背后的想法是由电声换能器(扬声器)产生的音频将在亚低音区域(20-60HZ)中包含低频。这低于大多数人的讲话范围,是一个很好的指标,说明讲话是由扬声器播放的。如果这是在预处理过程中实现的,这可以识别出我们的攻击是由非人类说话者造成的,并阻止其被提供给VPS。同样地,使用活性检测的ASRs[74][75]对我们的攻击也将是相当健壮的。然而,使用这种防御来识别恶意命令可能会产生误报,从而降低用户体验和产品的受欢迎程度。

    C. Limitations

    在噪声环境中使用攻击音频会降低其效率。这是因为噪声干扰了攻击音频,使VPSs难以解释。然而,合法的命令在嘈杂的环境中也不能很好地工作。试图在嘈杂环境中使用语音助手的读者可能经历过这种声音退化的感觉。

    八. 相关工作

    从个人助理系统到说话人识别和调查,机器学习(ML)正日益融入我们的日常生活。不幸的是,ML模型天生容易受到各种攻击。 早期研究的重点是加强攻击者能够中毒训练数据(例如,垃圾邮件和蠕虫检测)的场景的训练时间弹性[28],[49]。这些早期的工作展示了攻击向量,后来被形式化为三个轴:1)攻击者的影响(因果性、训练时间攻击vs探索性攻击、测试时间攻击)、2)违反安全的类型(完整性vs拒绝服务)、3)攻击的特异性(针对性vs滥杀滥伤)[20]、[19]。Huang等人提供了每个轴的详细概述[39]。尽管所有的轴都为攻击者提供了实用性,但最近的攻击集中在这些轴的一小部分。

    在这种分类之后,对抗性机器学习中的大部分工作都集中在对图像分类器的可用性和完整性进行有针对性的探索性攻击。这些攻击包括改变特定的像素[40]、[68]、[34]、[18]、[67]、[48]或像素块[23]、[63]、[55]、[25],以及创建全新的图像,以将其分类到选定的目标中[51]、[44]。虽然这些攻击对图像模型非常成功,但它们不足以攻击音频模型。现代图像模型直接对所提供的图像像素进行操作,得到相关的空间特征[55]、[51]。与此相反,音频模型并不对单个样本进行操作,而是使用人类声音的声学特性来表示原始的时间空间。这一层时间特征提取为潜在的攻击增加了一层复杂性,这意味着对单个样本的微小更改可能永远不会传播到用于推理的最终特征空间。

    目前针对音频模型的攻击可以分为三类。第一种方法是生成恶意的音频命令,这些命令对人的耳朵来说是完全听不见的,但是可以被音频模型识别出来[73]。第二种是将恶意命令嵌入到合法音频中(如歌曲)[72]。第三种方法模糊了一个音频命令,以至于偶尔听到的人类观察者会认为该音频仅仅是噪音,但受害者的音频模型[24]会正确地解释该音频命令[70]。我们的工作属于第三类,最接近我们的攻击是Carlini等人的[24]。由于以下原因,早期工作的成功受到限制:1)攻击只能针对隐马尔可夫模型-高斯混合模型体系结构;ii)攻击假设攻击者具有对模型的白盒访问权限;(三)攻击速度缓慢,执行至少32小时。我们的攻击旨在克服这些限制。

    九. 结论

    安全社区最近在支持多个VPS的特定机器学习模型中发现了许多弱点。这些弱点允许攻击者注入人类无法理解,但仍然可以通过VPS正确转录的命令。虽然先前的攻击对使用特定扬声器和麦克风的特定模型有效,但它们并不是独立于声学硬件或广泛实用的。本文不是攻击底层机器学习模型,而是基于信号处理算法生成的特征向量生成攻击音频。通过这种黑盒方法,我们通过实验证明,对于Over-the-Wire和Over-the-Air,我们的技术可以用于各种各样的语音检测和说话人识别系统。此外,由于我们把心理声学作为我们设计的一个主要元素,我们能够解释为什么我们的攻击比以前的工作更难以理解。在这样做的过程中,我们不仅认为隐藏的命令攻击是切实可行的,而且确保此类系统的安全,必须考虑到更多的音频处理领域知识。

     

     

    展开全文
  • 与使用多个深度学习模型数千个功能现有方法相比,Void使用仅具有97个功能单个分类模型。 我们使用了两个数据集来评估其性能:(1)255 173个语音样本由120个参与者生成,其中15个播放设备1

    目录
    摘要
    1、介绍
    2、威胁模型
    3、要求

    摘要

    由于语音助手输入通道的开放性,对手可以轻松记录人们使用的语音命令,然后将其重放以欺骗语音助手。为了减轻这种欺骗攻击,我们提供了一种称为“Void”的高效语音活动检测解决方案。Void利用真人语音与通过扬声器重播的语音之间频谱功率的差异来检测语音欺骗攻击。 与使用多个深度学习模型和数千个功能的现有方法相比,Void使用仅具有97个功能的单个分类模型。
    我们使用了两个数据集来评估其性能:(1)255 173个语音样本由120个参与者生成,其中15个播放设备和12个记录设备,以及(2)由42个参与者,26个播放设备和25个记录设备生成的18,030个公共语音样本。 在检测每个数据集的语音重放攻击时,Void分别达到0.3%和11.6%的相等错误率。与最新的基于深度学习的解决方案相比,该解决方案在该公共数据集中的错误率达到7.4%,与之相比,Void使用的内存减少了153倍,检测速度提高了约8倍。当与高斯混合模型结合使用梅尔频率倒谱系数(MFCC)作为分类特征时(MFCC已经被提取并用作语音识别服务的主要特征),Void在公共数据集上的错误率达到8.7%。此外,Void可以抵抗隐藏的语音命令,听不见的语音命令,语音合成,均衡操纵攻击,并将重播攻击与真人语音相结合,可实现约99.7%,100%,90.2%,86.3%和98.2%的检测率 这些攻击分别。

    1、介绍

    2、威胁模型

    2.1、语音重放攻击
    2.2、对抗攻击

    3、要求

    3.1、因素和模型大小要求
    3.2、检测精度要求

    4、主要分类特征值

    4.1、频谱功率衰减特征
    4.2、频谱功率的峰值特征
    4.3、线性预测倒谱系数(LPCC)

    5、系统设计

    基于第4节中描述的关键分类特征,我们设计Void以满足第3节中指定的要求。为了检测重放攻击,Void分析音频范围内的信号功率分布——计算给定信号功率的线性度,并识别低功率和高功率频率中的峰值模式。
    在这里插入图片描述

    5.1、void 概述

    通过Void的攻击检测包括三个阶段,如图6所示:信号转换、特征提取和实时攻击检测。整个Void算法在算法1中描述。语音命令VoiceinVoice_{in}、窗口大小W和加权因子ω作为算法1的输入。SpowS_{pow}表示VoiceinVoice_{in}的每个频率的累积频谱功率。W表示SpowS_{pow}单个片段的大小,用少量的段完全捕捉SpowS_{pow}的动态特性。使用0和1之间的加权因子ω来计算更高频率中的特征值的阈值。这些参数值是用大量训练样本通过实验确定的。最后,pow(i)pow(i)表示SpowS_{pow}的第i段中的累积功率。我们只考虑15kHz以下的语音信号,因为大多数语音样本的信号功率都低于15kHz。
    在这里插入图片描述##### 5.2、信号变换
    信号变换第一步,对输入语音信号进行短时傅里叶变换(算法1的第一步)。为了计算短时傅里叶,将所给语音信号分成等长(表示为wlen = 1024)的短快,然后对每个短块进行傅里叶变换。我们使用了窗长(wlen)为1024,跳跃长度为256(这是由wlen/4计算的)的周期汉明窗。用于计算STFT的快速傅里叶变换点数(nfft)被设置为4096。获得的信号谱图包含频率和随时间变化的相应功率(见图2(左))。根据计算的STFT,计算每频率累积频谱功率(SpowS_{pow})(算法1的步骤2)。术语“累积光谱功率”和“功率”在下文中互换使用。SpowS_{pow}是一个向量,它包含VoiceinVoice_{in}整个持续时间内每个频率的总累积功率(见图2(右))。从STFT获得的SpowS_{pow}是大小为1500的向量(算法1的步骤2)。我们使用符号大小(SpowS_{pow})来表示存储在SpowS_{pow}中的值的数量。

    5.3、特征提取

    从第一阶段计算出的向量SpowS_{pow}用作第二阶段的输入,以提取分类特征。Void 顺序计算以下四种类型的特征:
    (1)低频能量功能(FVLFP),
    (2)信号功率线性度特征(FVLDF),
    (3)高功率频率功能(FVHPF),
    (4)音频信号的LPCC功能(FVLPC)。
    FV代表特征向量。
    前三个要素类是从SpowS_{pow}计算出来的,而FVLPC是直接从原始语音信号VoiceinVoice_{in}计算出来的。

    5.3.1、低频能量特征
    在算法1的第二阶段中,我们首先根据给定的窗口大小W将信号Spow分为相等长度的k个短段(请参见步骤3)。我们经验地设置W=10。如果Spow的大小不能整除W,我们将省略最后一段。
    接下来,我们计算每段SegiSeg_i的功率之和,对于i=1到k(参见步骤4和5)。
    然后将功率密度值的前k段矢量化为(=pow(1),…,pow(k))(参见步骤6)。
    向量直接在FVLFP中使用(请参见步骤7)。
    执行完此步骤后,我们将具有累积频谱功率所有k段的密度值。每个段的功率密度值按频率排序,从给定语音样本的最低频率开始。我们只对将功率密度值保持在5kHz的频率范围内感兴趣,因为我们的实验表明,在5kHz以下的较低频率下,人声和重放的声音之间存在明显的差异(请参见图5)。因此,我们仅保留向量的前48个值,并将它们分配给FVLFP(请参见步骤7)。

    5.3.2、信号能量线性度特性
    给定k个分段的向量,我们将计算信号的特征向量(FVLDF)以测量线性度(如第4.1节所述)。
    在这里插入图片描述
    算法2描述了计算的线性度的过程。
    最初,通过将中的每个值除以总信号功率(sum())来对进行归一化(请参阅算法2中的步骤1)。 然后,将归一化的功率信号矢量<pow>normal<pow> _{normal}用于计算频谱功率的累积分布,用powcdfpow_{cdf}表示(请参见步骤2)。 在此步骤中,<pow>normal<pow> _{normal}以逐步方式累积。
    对于powcdfpow_{cdf}的线性度,我们计算出以下两个特征(请参见步骤3和4):powcdfpow_{cdf}的相关系数ρ和二次曲线拟合系数q(请参见附录C)。

    5.3.3、高能量频率特征
    给定向量<pow><pow>和峰选择阈值ww,我们计算特征向量(FVHPF)来捕获频谱功率的动态特性(请参阅附录D)。
    在这里插入图片描述
    算法3描述了计算高能量频率特征(FVHPF)的过程。在<pow><pow>中,我们首先确定峰及其位置(请参阅步骤1)。

    5.3.4、LPCC 特征
    我们使用自相关方法和Levinson-Durbin算法[26]来计算给定语音信号的LPCC,生成12个系数,这12个LPCC系数存储在特征向量FVLPC中。

    5.4、攻击检测

    6、数据采集(收集)

    6.1、Demographics and human voice collection(人声收集)
    6.2、重放攻击数据集
    6.3、ASVspoof 2017 数据集

    7、评估

    7.1、
    7.2、
    7.3、
    7.4、
    7.5、使用Void作为整体解决方案
    7.6、
    7.7、

    8、对抗攻击的鲁棒性

    9、讨论

    10、相关工作

    11、总结

    Acknowledge

    References(参考文献)

    展开全文
  • 参与Common Voice的方式有很多-您不必知道如何编写代码来做出贡献! 要添加或更正Web界面的翻译,请使用 。 请注意,我们不接受任何直接请求更改本地化内容。 有关如何在“普通语音”中添加或编辑句子的信息,请...
  • 本地化:选择应翻译的内容类型 随机化:添加语音应用随机选择内容变体 Jovo插件:将CMS内容与使用Jovo Framework构建应用程序集成 该存储库包含以下元素: api :用于处理数据库调用结构化数据API。内置...
  • VOTS(内陆语音翻译软件)是一个提供澳大利亚土著语言英语之间的翻译的项目。
  • 声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 Expressive Neural Voice Cloning 本文...

    声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写的内容主要是我对论文内容的概括和个人看法。如有转载,请标注来源。

    欢迎关注微信公众号:低调奋进

    Expressive Neural Voice Cloning

    本文是加州大学圣地亚哥分校在2021.01.30更新的文章,主要工作做语音复刻和个性化,但本文主要添加情感的迁移,具体的文章链接

    https://arxiv.org/pdf/2102.00151.pdf

    (文章看着挺长,洋洋洒洒12页,但其实很简单)

    1 研究背景

    现在的语音合成系统可以通过使用GST来进行情感控制,但原始的tacotron2+GST来进行一句话复刻或者个性化定制的效果并不理想,因此本文的目标是在一句话复刻系统上进行风格的迁移控制。

    2 详细设计

    本文的系统架构如下图所示,系统的输入条件包括四个部分:text, speaker embedding, GST和Pitch contour,其中speaker encoder是用来学习说话人特征信息,encoder是进行语言特征进行编码表征,GST是学习音频的隐含特征,Pitch Contour是学习音频的基频轮廓。本文主要使用GST和Pitch Contour进行情感的迁移学习。
     

     

    3 实验

    本文实验先验证合成音频与原始音频相似性,其结果如图2所示:使用本文提出的方案比原始的taoctron2+GST效果较好,使用少量训练语料进行自适应比zero-shot较好,自适应方案更新整个模型比只更新decoder效果较好。table1和table2对比风格迁移的一些准则和MOS值,结果和以上一致。

     

     

    4 总结

    本文主要在一句话或者少数量数据的语音合成系统上进行情感的迁移优化,使系统不仅仅复刻音色,也可以进行风格迁移。

    展开全文
  • The refusal was couched in friendly language.他用友善语言表达了拒绝之意。He's a friendly chatty...The friendliness was gone from his voice.他声音已不再亲切。He is not any friendlier than before.他...
  • 在网络短暂历史进程中,最具活力事件也许即将发生:把语音数据技术结合成一种统一传输模式。随着Cisco新语音解决方案系列发布,从传统PBX语音解决方案到基于IP语音解决方案转移将会以指数级加速...
  • 添加voice.json生成脚本

    2020-12-08 19:15:03
    - category.csv 定义唯一识别名称(key)和翻译 - voices.csv 定义音频文件,按顺序默认o-1,o-2,...(这里o写静态 还需进一步完善←做输入前缀比较好) 生成文件会自动Reform成JSON形式,...
  • 本文内容均翻译自这篇博文:(该博主相关文章都比较好,感兴趣可以自行学习) Voice Activity Detection(VAD) Tutorial 语音端点检测一般用于鉴别音频信号当中语音出现(speech presence)语音消失(speech ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 The IQIYI System for Voice ...
  • 这篇论文探讨了解决语音克隆问题两种基本方法:说话人自适应(speaker adaptation)说话人编码(speaker encoding)。适用于带有说话人嵌入多说话人语音生成模型,不会降低音频质量。 原论文链接: Neural ...
  • 声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 AdaSpeech: AdaptiveTexttoSpeechfor ...
  • 本文内容均翻译自这篇博文:(该博主相关文章都比较好,感兴趣可以自行学习) Voice Activity Detection(VAD) Tutorial语音端点检测一般用于鉴别音频信号当中语音出现(speech presence)语音消失(speech ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 Building Multilingual TTS using ...
  • 声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 ​欢迎关注微信公众号:低调奋进 One-shot Voice Conversion by ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 DeepSinger: Singing Voice ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 Accent and Speaker ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 DurIAN-SC: Duration Informed ...
  • 题目:PERSONAL VAD: SPEAKER-CONDITIONED VOICE ACTIVITY DETECTION 摘要 在本文中,我们提出了... 该系统可用于对流语音识别系统输入进行门控,使其仅为目标用户触发,这有助于降低计算成本电池消耗。 我们...
  • 声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 Non-Parallel Sequence-to-Sequence ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 learn2sing target speaker ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 XiaoiceSing: A High-Quality and ...
  • 声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 CUHK-EE voice cloning system for ...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 ByteSing: A Chinese Singing ...
  • 声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 EmoCat: Language-...
  • 声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写内容主要是我对论文内容概括个人看法。如有转载,请标注来源。 欢迎关注微信公众号:低调奋进 HiFiSinger:TowardsHigh-Fidelity ...
  • Libjingle 是google talk voice(语音聊天)  p2p interoperability(点对点操作)库,是提供了google talk,p2p文件共享语音呼叫能力组件集,libjingle包中包含了jinglejingle语音以及两个被xmpp标准提议...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

和voice的翻译