2010-06-11 2 views
1

Я хочу получить информацию о волне, такой как ее кадры, в массив целых чисел. Используя fname.getframes, мы можем определить свойства фрейма и сохранить в списке или что угодно для записи в другой wav или что-то еще, но fname.getframes дает информацию не в целых элементах, а как «/ xt/x4/0w» и т. Д. .wav file manupalation

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

ответ

1

Я не знаю, что библиотека вы используете, но, похоже, это, вероятно, возвращает строку из байтов. Чтобы получить его в список целых чисел, вы можете сделать что-то вроде этого:

data = [ord(character) for character in data] 

Чтобы преобразовать его назад, y ou мог бы сделать что-то вроде этого:

data = ''.join(chr(character) for character in data) 
0

NumPy может загружать данные в массивы для удобства манипуляции. Или SciPy. Я забываю, что.

1

Если нужно преобразовать данные кадра в целые числа, вы можете создать array.array('h') (массив подписанных 16-битных слов) и загрузить его из данных кадра, используя его .fromstring или .fromfile методы.

Однако я почти уверен, что вы можете хранить данные кадра так, как есть, и манипулировать ими, используя функции в модуле audioop.