相关疑难解决方法(0)

在Python中读取*.wav文件

我需要分析写在.wav文件中的声音.为此,我需要将此文件转换为数字集(例如,数组).我想我需要使用wave包.但是,我不知道它是如何工作的.例如,我做了以下事情:

import wave
w = wave.open('/usr/share/sounds/ekiga/voicemail.wav', 'r')
for i in range(w.getnframes()):
    frame = w.readframes(i)
    print frame
Run Code Online (Sandbox Code Playgroud)

由于这个代码我希望看到声压作为时间的函数.相反,我看到很多奇怪的,神秘的符号(不是十六进制数字).任何人,请求,帮助我吗?

python audio wav wave

75
推荐指数
6
解决办法
16万
查看次数

使用(Python)Gstreamer解码音频(到PCM数据)

我正在编写一个使用Python Gstreamer绑定来播放音频的应用程序,但我现在还试图解码音频 - 也就是说,我想使用a读取数据decodebin并接收原始PCM缓冲区.具体来说,我想逐步读取文件的块,而不是将整个文件读入内存.

一些具体问题:如何通过Gstreamer实现这一目标?特别是pygst?是否需要使用特定的"接收器"元素来从流中读取数据?有没有从pygst Buffer对象读取数据的首选方法?如何控制消耗数据的速率(而不仅仅是输入"主循环")?

python audio decode pcm gstreamer

8
推荐指数
1
解决办法
3959
查看次数

编写软件来分辨声音的来源(定向收听)

我一直对此感到好奇,所以我想在这里发帖我可以得到一些好的答案.

到目前为止我所知道的:

人类可以用他们的两只耳朵来获取听起来"听起来像"的声音,以及它们来自哪里.音高是我们听到的音符,类似人声的音高有多种音高(不是纯音).

我想知道的是什么:

我如何编写一个可以知道声音来自何处的程序?从理论的角度来看,我需要两个麦克风,然后我会记录进入麦克风的声音数据并存储音频数据,以便将一瞬间的音频数据放入像[streamA,streamB]这样的元组中.

我觉得可能有一种公式/数学方法可以根据声音的来源进行计算.我也觉得可以获取流数据并训练学习者(给它采样音频并告诉它来自音频的位置)并让它以这种方式对传入的音频进行分类.

这样做的最佳方式是什么?是否有足够的资源可以从中学到更多关于这个主题的知识?

编辑:

例:

          front
Run Code Online (Sandbox Code Playgroud)

左(麦克风)x ======== x(麦克风)对

          back

                            x (sound source should return "back" or "right" or "back right")
Run Code Online (Sandbox Code Playgroud)

我想写一个程序,它可以返回前/后左/右声音听到的大部分声音.根据我的理解,设置两个指向"前进"的麦克风应该很简单.基于此,我试图找出一种方法,我们可以对声音进行三角测量,并知道与麦克风相关的来源.

audio speech-recognition waveform wav

6
推荐指数
1
解决办法
4793
查看次数

标签 统计

audio ×3

python ×2

wav ×2

decode ×1

gstreamer ×1

pcm ×1

speech-recognition ×1

wave ×1

waveform ×1