我想这是微不足道的,但我找不到如何在R中声明一个零向量.
例如,在Matlab中,我会写:
X = zeros(1,3);
Run Code Online (Sandbox Code Playgroud) 我需要获取.wav文件的长度.
使用:
sox output.wav -n stat
Run Code Online (Sandbox Code Playgroud)
得到:
Samples read: 449718
Length (seconds): 28.107375
Scaled by: 2147483647.0
Maximum amplitude: 0.999969
Minimum amplitude: -0.999969
Midline amplitude: 0.000000
Mean norm: 0.145530
Mean amplitude: 0.000291
RMS amplitude: 0.249847
Maximum delta: 1.316925
Minimum delta: 0.000000
Mean delta: 0.033336
RMS delta: 0.064767
Rough frequency: 660
Volume adjustment: 1.000
Run Code Online (Sandbox Code Playgroud)
如何使用grep或其他方法仅输出第二列中的长度值,即28.107375?
谢谢
我已经使用python 3.5安装了anaconda,并使用Python 2.7创建了一个新环境(在Windows 10上).
我可以使用命令行工具轻松更改Anaconda环境.但是在Pycharm中,当我尝试更改Python解释器时,我只能看到Anaconda Python 3.5版本.
有没有从Pycharm中选择Anaconda环境的简单方法?
有没有办法让max和argmax一举?
import numpy as np
a=[0,0,1,0]
maximum=max(a)
index=np.argmax(a)
Run Code Online (Sandbox Code Playgroud)
是否有最快的方法,例如:
[maximum,index]=function(a)
Run Code Online (Sandbox Code Playgroud) 我无法在onload函数中同时获得filereader和一些参数的结果.这是我的代码:
控制HTML:
<input type="file" id="files_input" multiple/>
Run Code Online (Sandbox Code Playgroud)
Javascript功能:
function openFiles(evt){
var files = evt.target.files;
for (var i = 0; i < files.length; i++) {
var file=files[i];
reader = new FileReader();
reader.onload = function(){
var data = $.csv.toArrays(this.result,{separator:'\t'});
};
reader.readAsText(file);
}
}
Run Code Online (Sandbox Code Playgroud)
添加活动:
files_input.addEventListener("change", openFiles, false);
Run Code Online (Sandbox Code Playgroud)
我filereader.result在onload函数中使用了.如果我为这个函数使用参数,比如file,我就不能再访问结果了.例如,我想file.name在onload函数中使用.如何解决这个问题?
有没有办法评论函数的参数,使它们被pydoc库识别?
即pydoc的文档字符串是什么?
我正在尝试使用scipy读取.wav文件.我这样做:
from scipy.io import wavfile
filename = "myWavFile.wav"
print "Processing " + filename
samples = wavfile.read(filename)
Run Code Online (Sandbox Code Playgroud)
我得到了这个丑陋的错误:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/io/wavfile.py:121: WavFileWarning: chunk not understood
warnings.warn("chunk not understood", WavFileWarning)
Traceback (most recent call last):
File "fingerFooler.py", line 15, in <module>
samples = wavfile.read(filename)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/io/wavfile.py", line 127, in read
size = struct.unpack(fmt, data)[0]
struct.error: unpack requires a string argument of length 4
Run Code Online (Sandbox Code Playgroud)
我使用的是Python 2.6.6,numpy 1.6.2和scipy 0.11.0
这是导致问题的wav文件.
有什么想法吗?这有什么不对?
我的代码调用了许多"差异函数"来计算" Yin算法 "(基频提取器).
差异函数(论文中的等式6)定义为:
这是我对差异函数的实现:
def differenceFunction(x, W, tau_max):
df = [0] * tau_max
for tau in range(1, tau_max):
for j in range(0, W - tau):
tmp = long(x[j] - x[j + tau])
df[tau] += tmp * tmp
return df
Run Code Online (Sandbox Code Playgroud)
例如:
x = np.random.randint(0, high=32000, size=2048, dtype='int16')
W = 2048
tau_max = 106
differenceFunction(x, W, tau_max)
Run Code Online (Sandbox Code Playgroud)
有没有办法优化这个双循环计算(仅使用python,最好没有其他库而不是numpy)?
编辑:更改代码以避免索引错误(j循环,@艾略特答案)
EDIT2:更改代码使用x [0](j循环,@ hynekcer评论)
我想在wav中绘制30s音频文件的频谱图。但是我在python中这样做时遇到错误。我如何实现我的目标?
import scipy
import matplotlib.pyplot as plt
import scipy.io.wavfile
sample_rate, X = scipy.io.wavfile.read('595.wav')
print (sample_rate, X.shape )
plt.specgram(X, Fs=sample_rate, xextent=(0,30))
Run Code Online (Sandbox Code Playgroud)
和错误
ValueError: only 1-dimensional arrays can be used
Run Code Online (Sandbox Code Playgroud) python ×6
audio ×3
numpy ×2
anaconda ×1
comments ×1
filereader ×1
grep ×1
javascript ×1
loops ×1
macos ×1
matplotlib ×1
optimization ×1
parameters ×1
pipe ×1
pycharm ×1
pydoc ×1
r ×1
scipy ×1
sox ×1
wav ×1