我需要分析写在.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)
由于这个代码我希望看到声压作为时间的函数.相反,我看到很多奇怪的,神秘的符号(不是十六进制数字).任何人,请求,帮助我吗?
我想做的只是简单
mp3 = read_mp3(mp3_filename)
audio_left = mp3.audio_channels[0]
Run Code Online (Sandbox Code Playgroud)
其中audio_left将包含原始PCM音频数据.
我正在看Python播放声音,但大多数建议的模块还没有移植到Python 3.如果可能的话,我想避免安装一个完全成熟的游戏开发库.
我是一个完整的Python初学者,所以我想开始使用Python 3.
我最近发现了GNSDK(Gracenote SDK),它似乎提供了几种编程语言的示例,通过指纹识别来识别音乐样本,然后请求他们的音频数据库获得相应的艺术家和歌曲标题.
但文档太可怕了.
我如何使用Python和GNSDK执行音频样本文件的识别?提供的文档中没有任何示例或教程.
编辑:我真的想在Python中使用GNSDK.不要发布任何无关的内容,你会浪费你的时间.
我有一个 .wav 文件,是我录制自己的声音并讲话了几分钟。假设我想找到我在音频中说“Mike”的确切时间。我研究了语音识别并使用 Google Speech API 进行了一些测试,但我得到的时间戳远不准确。
作为替代方案,我录制了一个非常短的 .wav 文件,我只是说“Mike”。我试图比较这两个 .wav 文件,并找到较长 .wav 文件中所说的“Mike”的每个时间戳。我发现了SleuthEye 的惊人答案
这段代码非常适合查找一个时间戳,但我不知道如何查找多个开始/结束时间:
import numpy as np
import sys
from scipy.io import wavfile
from scipy import signal
snippet = sys.argv[1]
source = sys.argv[2]
# read the sample to look for
rate_snippet, snippet = wavfile.read(snippet);
snippet = np.array(snippet, dtype='float')
# read the source
rate, source = wavfile.read(source);
source = np.array(source, dtype='float')
# resample such that both signals are at the same sampling rate (if required) …Run Code Online (Sandbox Code Playgroud)