小编Pat*_*ceG的帖子

如何在R中声明一个零向量

我想这是微不足道的,但我找不到如何在R中声明一个零向量.

例如,在Matlab中,我会写:

X = zeros(1,3);
Run Code Online (Sandbox Code Playgroud)

r

47
推荐指数
4
解决办法
14万
查看次数

从sox输出获取.wav的长度

我需要获取.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?

谢谢

audio grep pipe wav sox

37
推荐指数
4
解决办法
3万
查看次数

如何从Pycharm访问不同的Anaconda环境(在Windows 10上)

我已经使用python 3.5安装了anaconda,并使用Python 2.7创建了一个新环境(在Windows 10上).

我可以使用命令行工具轻松更改Anaconda环境.但是在Pycharm中,当我尝试更改Python解释器时,我只能看到Anaconda Python 3.5版本.

有没有从Pycharm中选择Anaconda环境的简单方法?

python pycharm anaconda

28
推荐指数
1
解决办法
2万
查看次数

Numpy argmax.如何计算max和argmax?

有没有办法让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)

python numpy

21
推荐指数
1
解决办法
9483
查看次数

FileReader onload with result和parameter

我无法在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.resultonload函数中使用了.如果我为这个函数使用参数,比如file,我就不能再访问结果了.例如,我想file.name在onload函数中使用.如何解决这个问题?

javascript filereader

20
推荐指数
3
解决办法
4万
查看次数

如何评论pydoc的参数

有没有办法评论函数的参数,使它们被pydoc库识别?

即pydoc的文档字符串是什么?

python parameters comments pydoc

14
推荐指数
1
解决办法
3万
查看次数

scipy.io.wavfile给出"WavFileWarning:chunk not understand"错误

我正在尝试使用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文件.

有什么想法吗?这有什么不对?

python audio macos numpy scipy

9
推荐指数
3
解决办法
2万
查看次数

优化"差函数"的计算

我的代码调用了许多"差异函数"来计算" 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评论)

python optimization loops

7
推荐指数
2
解决办法
297
查看次数

WAV音频文件的频谱图

我想在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 audio matplotlib

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