如何获取Python的最大有符号短整数(即C语言的limit中的SHRT_MAX)

我想对*.wav文件的单个 channel 中的样本进行归一化,所以我想要一堆介于1和-1之间的浮点数,而不是一堆16位带符号整数。这就是我得到的(相关代码在normalized_samples()函数中):

def samples(clip, chan_no = 0):
    # *.wav files generally come in 8-bit unsigned ints or 16-bit signed ints
    # python's wave module gives sample width in bytes, so STRUCT_FMT
    # basically converts the wave.samplewidth into a struct fmt string
    STRUCT_FMT = {  1 : 'B',
                    2 : 'h' }

    for i in range(clip.getnframes()):
        yield struct.unpack(STRUCT_FMT[clip.getsampwidth()] * clip.getnchannels(),
                clip.readframes(1))[chan_no]

def normalized_samples(clip, chan_no = 0):
    for sample in samples(clip, chan_no):
        yield float(sample) / float(32767) ### THIS IS WHERE I NEED HELP

最佳答案

在模块sys sys.maxint中。尽管我不确定这是否是解决问题的正确方法。

关于python - 在python中查找最大有符号短整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2308247/

10-12 15:03