то, что Вы имеете, является образцом, длина которого вовремя является 256/44100 = 0,00580499 секунды. Это означает, что Ваша разрешающая способность по частоте равняется 1 / 0.00580499 = 172 Гц. 256 значений, которые Вы получаете из Python, соответствуют частотам, в основном, от 86 Гц до 255*172+86 Гц = 43 946 Гц. Числа, которые Вы вынимаете, являются комплексными числами (следовательно "j" в конце каждого второго числа).
ОТРЕДАКТИРОВАННЫЙ: ЗАФИКСИРОВАННАЯ НЕПРАВИЛЬНАЯ ИНФОРМАЦИЯ
необходимо преобразовать комплексные числа в амплитуду путем вычисления sqrt (я <глоток> 2 глоток> + j <глоток> 2 глоток>), где я и j - действительные и мнимые части, resp.
, Если Вы хотите иметь 32 панели, Вы должны насколько я понимаю, берут среднее число четырех последовательных амплитуд, добираясь 256 / 4 = 32 панели, как Вы хотите.
Я использовал Stateless и WF для приложения, которое когда-нибудь будет запущено в производство. :) Я подробно описал свой опыт в своем посте здесь .
В целом, я предпочитаю Stateless, потому что это проще для большего количества вещей, чем WF. Конечно, приятно иметь возможность проектировать свой рабочий процесс графически, но когда вам нужно реализовать что-то более сложное, чем последовательный рабочий процесс (например, рабочий процесс конечного автомата), вам нужно будет работать с ExternalDataExchange только для того, чтобы сделать правильные переходы между состояниями. Это, вероятно, несложно, но, учитывая это, а также тот факт, что вам нужно реализовать службу постоянства для приостановки рабочего процесса, мне это показалось непривлекательным. В любом случае у меня нет необходимости сохранять рабочий процесс на диске для последующего выполнения ... поэтому я буду использовать регулярные события, чтобы справиться с этим в Stateless. Обработка ошибок легко выполняется в Stateless (мне это удалось), но реализация, которую я использовал, вызывает сомнения и является темой другого обсуждения (которое я ищу сейчас на SO!). Возможно, очень скоро я опубликую вопрос по этому поводу.
Удачи с Безгражданством. Я надеюсь услышать, как у вас дела с этим.
Если вы не смотрели Windows Workflow Foundation , вероятно, по крайней мере, стоит немного прочитать об этом.
Для Workflow Foundation используйте его только для зеленого проекта, чтобы можно было использовать WF4. Проверь это http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm
WF 1.0 и 1.5 несовместимы с WF4. Так что это не прямое решение.
Я лично использую http://simplestatemachine.codeplex.com в качестве альтернативы WF. Я использовал его в одной полноценной производственной системе (на основе asp.net) для обработки довольно сложной системы выдачи бизнес-лицензий (обработка 350+ различных государственных бизнес-лицензий).
Я еще не пробовал работать без гражданства, но это выглядит многообещающим.