Прежде всего нужно определиться с тем, какие числовые характеристики вы будете выделять из голосовой записи. Это придется делать самостоятельно. Подать на вход программы целую запись невозможно.
Если, скажем, вы выделите штук 10 чисел, характеризующих запись, то я бы сказал, что нужно иметь хотя бы несколько сотен образцов на каждый класс, это минимум.
Задача кажется мне малореальной по следующим причинам.
1. Большая вариативность голосов забьет все различия между произнесением правды и лжи.
Теоретически может быть еще получится сделать программу настроенную на одного конкретного человека, допустим, на вас. Но и в этом случае различие между условиями, в которых находится один и тот же человек во время записи забьет то, что вы хотите измерить.
2. Как вы хотите строить базу? Попросите человека сказать что-либо правдиво, а потом - солгать? Или попросите прочитать текст? В любом случае, есть риск что он не будет проецировать то, что говорит, на себя, как если бы читал книжку от первого лица. Кроме того, человек достаточно хорошо управляет своим голосом, так что если то, что вы хотите сделать, даже возможно, то нужен очень хороший анализ чтобы получить хоть какие-то результаты. Кроме того, ситуация когда человек наговаривает базу принципиально отличается от той, когда он реально врет и хочет, чтобы этого не заметили.
3. Как я уже отметил, нужна очень солидная база для обучения такой системы, и еще одна не менее солидная - для тестирования на независимых данных. Кроме того, вы должны изучить формат хранения звука и научиться выделать из него те или иные характеристики.
Если уж твердо хотите что-то такое сделать, попробуйте, например, научиться отличать мужской голос от женского, или взрослый от детского или еще что-нибудь такое. Эти задачи уж явно более простые чем то, что вы хотите. Если получится, тогда можно взяться и за более сложные вещи.
|