Questions tagged «voice»

4
如何区分声音与打nor?
背景: 我正在开发一个iPhone应用程序(在 其他几篇 文章中都有介绍),该应用程序在一个人入睡时“听着”打呼//呼吸,并确定是否存在睡眠呼吸暂停的迹象(作为“睡眠实验室”的预屏幕)测试)。该应用程序主要使用“频谱差异”来检测打sn /呼吸,并且在针对睡眠实验室记录(实际上是非常嘈杂的)进行测试时,效果很好(大约为0.85--0.90)。 问题: 我可以通过多种技术过滤掉大多数“卧室”噪音(风扇等),并且经常以人耳无法检测到的S / N级别可靠地检测到呼吸。问题是语音噪音。在后台运行电视或广播(或者只是在远处说话的人)并不罕见,并且声音的节奏与呼吸/打呼closely紧密匹配。实际上,我通过该应用程序记录了已故作者/讲故事者比尔·霍尔姆(Bill Holm)的录音,与打的节奏,水平变化和其他几种测量方法基本上没有区别。(尽管我可以说他显然没有睡眠呼吸暂停,至少在清醒时没有。) 因此,这是一个远景(可能是一系列的论坛规则),但是我正在寻找一些有关如何区分声音的想法。我们不需要以某种方式过滤掉打ore声(这会很好),但是我们只需要一种方法来拒绝被声音过度污染的“太吵”的声音。 有任何想法吗? 发布的文件:我已经在dropbox.com上放置了一些文件: Epica_Storm_the_Noisy_Sorrow_minus_10dB_wav.dat Holm_5db_noisy_wav.dat recordFile20120408010300_first_ten_wav.dat 第一个是相当随机的摇滚(我猜)音乐,第二个是已故的Bill Holm讲话的录音。两者(我将其作为“噪声”样本从打nor中区分出来)都与噪声混合在一起,以使信号模糊。(这使识别它们的任务变得更加困难。)第三档是您的录音的十分钟,真正的三分之一是呼吸,打middle混合,最后三分之一是稳定的打nor。(您咳嗽会得到奖金。) 这三个文件都已从“ .wav”重命名为“ _wav.dat”,因为许多浏览器都使下载wav文件异常困难。下载后,只需将它们重命名为“ .wav”即可。 更新:我以为熵对我来说就是“把戏”,但事实证明,这主要是我所使用的测试用例的特殊性,以及设计得不太好的算法。在一般情况下,熵对我无能为力。 随后,我尝试了一种技术,该技术可以计算每秒采样约8次的整体信号幅度(我尝试过功率,频谱通量和其他多种测量方法)的FFT(使用几种不同的窗口函数)(取自主要FFT周期的统计信息)这是每1024/8000秒)。对于1024个样本,这涵盖了大约两分钟的时间范围。我希望由于打/呼吸与声音/音乐的节奏较慢,我能够看到这种模式(而且它可能也是解决“ 可变性 ”问题的更好方法),但是尽管有提示到处都是模式,没有什么我可以真正锁定的。 (进一步的信息:在某些情况下,信号幅度的FFT会产生一个非常明显的模式,在0.2Hz处有一个很强的峰值,并产生阶跃谐波。可能有某种方法可以计算品质因数的相关值,但似乎需要对约4阶多项式进行曲线拟合,而在手机中每秒进行一次拟合似乎是不切实际的。) 我还尝试对将频谱划分为5个单独的“频段”进行相同的平均幅度FFT。波段是4000-2000、2000-1000、1000-500和500-0。前4个频段的模式通常与总体模式相似(尽管没有真正的“突出”频段,并且在较高频段中的信号通常消失得很小),但500-0频段通常只是随机的。 赏金: 鉴于内森(Nathan)是迄今为止最有成效的建议,尽管纳森(Nathan)没有提供任何新的东西,我还是要给予赏金。但是,如果他们提出了一些好主意,我仍然愿意将其奖励给其他人。

4
如何模仿/复制/伪造某人的声音?
是否有任何现有的应用程序可以对某人的声音进行采样,然后使用它来调制其他声音或合成类似于原始声音的文本? 例如,此AT&T的“文本到语音”演示使您可以从预设中选择一种语音和一种语言,我猜这些预设是基于已采样的某些人类语音的。 您如何称呼这个过程?是语音调制吗?语音合成?
19 modulation  voice 

4
编程声码器
我想对自己的声码合成器(如“ Songify”)进行编程,但找不到简单的声码器算法。也许您可以解释或告诉在哪里可以找到有关声码器工作原理的信息。

3
从嘈杂的语音信号中过滤消息
我正在尝试解密隐藏在非常嘈杂的音频文件(.wav)中的消息(我认为这是白噪声和额外的低无人机)。该消息是一个六位数的数字。我没有关于噪音的更多细节。 我尝试使用低通滤波器,以期消除大多数较高的频率将使我能够听到这些数字,但是,我似乎也无法摆脱足够多的低架无人机,从而听不到声音。我的尝试如下(freq_space_low_pass_filter在最后包含所使用的函数): [data, SampleRate, NbitsPerSample]=wavread('noisy_msg6.wav'); y=data(:,1); % we will work only with one channel in this demo N=length(y); %number of sample points t=( (1:N)*1/SampleRate ).'; % time spacing is 1/SampleRate and we want column vector Y=fft(y); spectrum_freq=fourier_frequencies(SampleRate, N); Freq3db=100; [spectrum_filtered,g_vs_freq]=freq_space_low_pass_filter(Y, SampleRate, Freq3db); y_filtered=ifft(spectrum_filtered); y_filtered=real(y_filtered); wavwrite(y_filtered/(0.1+max(y_filtered)), SampleRate, NbitsPerSample, 'noisy_msg6_filtered.wav'); %%%%%%%%down sampling%%%%%%%% …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.