小编Sol*_*une的帖子

Python数组切片用逗号?

我想知道在切割Python数组时逗号的用途是什么 - 我有一个似乎可行的例子,但对我来说看起来很奇怪的一行是

p = 20*numpy.log10(numpy.abs(numpy.fft.rfft(data[:2048, 0])))
Run Code Online (Sandbox Code Playgroud)

现在,我知道在切片数组时,第一个数字是开始,下一个是结束,最后一个是步骤,但结束号后面的逗号是什么?谢谢.

python numpy list slice

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

从Python开始另一个程序>单独<

我正在尝试从Python运行一个外部的独立程序.这通常不是问题,但程序是游戏,并且内置了Python解释器.当我使用subprocess.Popen时,它启动单独的程序,但是在原始程序的Python实例下这样做,以便它们共享第一个Python控制台.我可以很好地结束第一个程序,但我宁愿有单独的控制台(主要是因为我有隐藏的控制台启动,但是当我使用subprocess.POpen从Python启动程序时会显示它).

如果我可以完全自己开始第二个程序,我想它就好像我只是"双击它".此外,os.system将无法工作,因为我的目标是跨平台兼容性,而且只能在Windows上使用.

python subprocess

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

Python NumPy - FFT和逆FFT?

所以我一直在使用FFT,我正在尝试从FFT文件中获取声音波形(最终修改它),然后将修改后的波形输出回文件.我已经获得了声波的FFT,然后在其上使用了逆FFT函数,但输出文件根本听不到.我没有对波形进行任何过滤 - 我只是测试获取频率数据然后将其放回文件中 - 听起来应该是相同的,但听起来差别很大.有任何想法吗?

- 编辑 -

从那以后我一直在研究这个项目,但还没有得到理想的结果.输出的声音文件是嘈杂的(两者都更大声,以及原始文件中不存在的额外噪声),并且来自一个声道的声音泄漏到另一个声道(之前是静音的).输入声音文件是立体声双声道文件,声音仅来自一个声道.这是我的代码:

 import scipy
 import wave
 import struct
 import numpy
 import pylab

 from scipy.io import wavfile

 rate, data = wavfile.read('./TriLeftChannel.wav')

 filtereddata = numpy.fft.rfft(data, axis=0)

 print (data)

 filteredwrite = numpy.fft.irfft(filtereddata, axis=0)

 print (filteredwrite)

 wavfile.write('TestFiltered.wav', rate, filteredwrite)
Run Code Online (Sandbox Code Playgroud)

我不太清楚为什么这不起作用......?

编辑:我已经压缩了问题.py文件和音频文件,如果这可以帮助解决这里的问题.

python audio numpy fft audio-processing

6
推荐指数
3
解决办法
9421
查看次数

使用Wave Python模块获取和写入音频

所以,我正在尝试使用Python Wave模块来获取音频文件,并基本上从中获取所有帧,检查它们,然后将它们写回另一个文件.我试着将我正在读的声音输出到另一个文件中,但它既可以作为噪音,也可以作为声音输出.所以,我很确定我没有分析文件并获得正确的帧......?我正在处理一个立体声16位声音文件.虽然我可以使用更简单的文件来理解该过程,但我最终希望能够接受任何类型的声音文件,因此我需要了解问题所在.

我还注意到Wave模块不会读取32位声音文件 - 它给了我一个"未知格式"的错误.关于那个的任何想法?这是我可以绕过的东西,所以我至少可以读取32位音频文件,即使我只能'渲染'16位文件?

我有点意识到波形文件在左右声道之间是交错的(左声道的第一个样本,右声道的第二个样本等),但是如何分离声道呢?这是我的代码.我剪切输出代码,看看我是否正确读取文件.我正在使用Python 2.7.2:

import scipy
import wave
import struct
import numpy
import pylab

fp = wave.open('./sinewave16.wav', 'rb') # Problem loading certain kinds of wave files in binary?

samplerate = fp.getframerate()
totalsamples = fp.getnframes()
fft_length = 2048 # Guess
num_fft = (totalsamples / fft_length) - 2

temp = numpy.zeros((num_fft, fft_length), float)

leftchannel = numpy.zeros((num_fft, fft_length), float)
rightchannel = numpy.zeros((num_fft, fft_length), float)

for i in range(num_fft):

    tempb = fp.readframes(fft_length / fp.getnchannels() / fp.getsampwidth());

    #tempb = fp.readframes(fft_length)

    up = …
Run Code Online (Sandbox Code Playgroud)

python audio

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

Eclipse 枚举中的自动完成?

编辑:原来这是Eclipse 和枚举/数组初始值设定项的一个长期存在的错误,这真的很不幸。


在 Eclipse 中,我发现我无法访问枚举内部的任何类型的代码完成。这是一个 WIP,当然,我正在使用的代码片段。

enum PlayerState implements State<Player> {

NORMAL(){

    @Override
    public void enter(Player player){

    }

    @Override
    public void update(Player player){

    }

},

JUMP_START(){

    Timer jumpTimer = new Timer();
    public void enter(Player player){
        jumpTimer.set(1);
    }

    public void update(Player player){

    }

},

GLOBAL_STATE(){

    @Override
    public void update(Player player){
    }
};

@Override
public void enter(Player player) {
}

@Override
public void exit(Player player) {
}

@Override
public boolean onMessage(Player player, Telegram telegram) {
    return false;
} …
Run Code Online (Sandbox Code Playgroud)

java eclipse enums completion

5
推荐指数
0
解决办法
690
查看次数

标签 统计

python ×4

audio ×2

numpy ×2

audio-processing ×1

completion ×1

eclipse ×1

enums ×1

fft ×1

java ×1

list ×1

slice ×1

subprocess ×1