Как правильно использовать struct.pack/unpack с pyaudio?

Моя цель - правильно распаковать строку, предоставленную pyaudio, в int16 для некоторой модификации, а затем снова упаковать ее для воспроизведения.

Это то, что я получил до сих пор (код скопирован из другого поста):

#data contains my string of interleaved int16 data

#this code should unpack it accordingly
# 1 short out of each 2 chars in data
count = len(data)/2
format = "%dh"%(count) #results in '2048h' as format: 2048 short
shorts = struct.unpack(format, data)

#here some modifications will take place but are left out to test packing

#now i need to pack my short data back to pyaudio compliant string
#i have tried the following with no success. just random noise
struct.pack(str(len(shorts)*2) + "s", str(shorts))

Теперь мой вопрос:

  • каковы будут правильные аргументы для struct.pack, чтобы вернуть мои данные в строку pyaudio?

person Maximilian Körner    schedule 06.01.2014    source источник
comment
Где вы взяли этот код?   -  person aIKid    schedule 06.01.2014
comment
@aIKid 1-й ответ здесь   -  person Maximilian Körner    schedule 06.01.2014


Ответы (1)


Хорошо, я нашел ответ в другом месте:

struct.pack("%dh"%(len(shorts)), *list(shorts))

приводит к правильно отформатированной строке для pyaudio.

Тем не менее, я с радостью приму любой другой ответ, объясняющий вызовы функций и их правильное использование!

person Maximilian Körner    schedule 06.01.2014