1D обнаружение множественных пиков?

В настоящее время я пытаюсь реализовать базовое распознавание речи в AS3. Мне нужно, чтобы это было полностью на стороне клиента, поэтому я не могу получить доступ к мощным инструментам распознавания речи на стороне сервера. У меня была идея обнаружить слоги в слове и использовать их для определения произнесенного слова. Я знаю, что это сильно ограничивает возможности для распознавания, но мне нужно распознать только несколько ключевых слов, и я могу убедиться, что у них всех разное количество слогов.

В настоящее время я могу сгенерировать одномерный массив уровня голоса для произнесенного слова, и я могу ясно видеть, если я каким-то образом его рисую, что в большинстве случаев для слогов есть четкие пики. Тем не менее, я полностью застрял в том, как я узнаю эти пики. Мне нужен только счет, но я полагаю, что это связано с их поиском. Сначала я подумал о том, чтобы взять несколько максимальных значений и сравнить их со средними значениями, но я забыл об этом пике, который больше других, и поэтому все мои «пики» были расположены на одном действительном пике.

Я наткнулся нанемного кода Matlab это выглядит почти слишком коротким, чтобы быть правдой, но я не могу этого сделать, поскольку я не могу перевести это на любой язык, который я знаю. Я пробовал AS3 и C #. Поэтому мне интересно, если вы, ребята, могли бы направить меня по правильному пути или у вас был какой-нибудь псевдокод для обнаружения пиков?