LiarLiar - простенький детектор лжи под Linux.

Описание из спека AltLinux:

Инструмент для определения состояния человека по голосу. Иногда используется, как звуковой детектор лжи (например, для определения волнения человека по его голосу, позволяющее определить искренность его состояния).

Voice stress analysis tool. Sometimes used as an audio lie detector (ie. used for detecting stress in a person's voice to allow for the determination of truthfulnessin a statement)


Работа LiarLiar.

Конечно, это не инструмент дознавателей ЦРУ, а всего лишь игрушка (по крайне мере со стандартным simple-плагином) и качество анализа оставляет желать лучшего (особенно на не особо качественных аудиозаписях), тем не менее довольно забавно испытать её на разных аудиофайлах.

Вот пример "лжи":

А вот "правды":

На последнем скриншоте также видно окно настроек.
Программа, к сожалению, давно не поддерживается авторами, поэтому сборка её сопряжена с некоторыми трудностями, а именно...

Сборка LiarLiar.

LiarLiar требует для сборки старый gstreamer-0.6.
Придется собрать его и плагины к нему.
Чтобы не нанести вреда системе (не переписать например новый gstreamer старым) есть смысл создать каталог /opt/liar, наделить его правами записи для вашего пользователя и все последующие операции (включая make install) проводить от непривилегированного пользователя.

1) Gstreamer-0.6

Тянем gstreamer-0.6.5 и устанавливаем.
Замечу, что с gcc-2.95 и gcc-4.1 он у меня не собрался, поэтому я собирал с помощью gcc-3.4:

~/gstreamer-0.6.5$ export CC=/usr/bin/gcc-3.4
~/gstreamer-0.6.5$ export CXX=/usr/bin/gcc-3.4
~/gstreamer-0.6.5$ ./configure --prefix=/opt/liar/ --disable-docs-build
~/gstreamer-0.6.5$ make
~/gstreamer-0.6.5$ make install

Если при сборке возникает ошибка вида:

gsttrashstack.h: In function 'gst_mem_chunk_alloc':
gsttrashstack.h:103: error: PIC register 'ebx' clobbered in 'asm'

Можно жестко отключить оптимизацию, заменив строку 54 ("#if defined/...") в файле ./gst/gsttrashstack.h на строку с false-условием
"#if 0" .

2) LiarLiar

Тянем liarliar-0.5.2.
Открываем новую консоль (или сбрасываем ранее установленные переменные окружения компилятора). Компилим liar:

~/liarliar-0.5.2$ export PKG_CONFIG_PATH=/opt/liar/lib/pkgconfig/:/usr/lib/pkgconfig/
~/liarliar-0.5.2$ ./configure --prefix=/opt/liar/
~/liarliar-0.5.2$ make

Теперь если возникнет ошибка вида:

simple.cpp: In member function 'virtual void simple::on_activate(const std::vector<double, std::allocator<double> >*, unsigned int)':
simple.cpp:23: warning: converting to 'int' from 'double'
simple.cpp:55: error: 'fabs' was not declared in this scope
simple.cpp:55: error: 'pow' was not declared in this scope
simple.cpp:88: error: 'pow' was not declared in this scope
make[1]: *** [simple.lo] Ошибка 1

То следует в начало файла ./plugins/simple.cpp добавить строку:

#include <math.h>

И продолжить установку:

~/liarliar-0.5.2$ make
~/liarliar-0.5.2$ mkdir -p ~/.liarliar/plugins/
~/liarliar-0.5.2$ cp ./plugins/.libs/* ~/.liarliar/plugins/
~/liarliar-0.5.2$ make install

Liar уже можно запустить, но без плагинов gstreamer'а работать пока он не будет =)


Небольшое лирическое отступление. LiarLiar следует собирать с библиотекой sigc++-1.2, devel-пакеты sigc++-2.0 устанавливать не надо! Если всё же вы захотите (или придется из-за особенностей дистрибутива) собрать с sigc++-2.0, то могут быть проблемы с include'ами (придется подключать файлы вручную), а так же придется в исходниках liar заменить все вызовы SigC::slot на sigc::mem_fun.

3) Плагины Gstreamer

Перед сборкой обязательно установите devel-пакеты libmad и libid3tag, они понадобятся для нужного нам плагина.
Качаем gst-plugins-0.6.5 и ставим:

~/gst-plugins-0.6.5$ export PKG_CONFIG_PATH=/opt/liar/lib/pkgconfig/:/usr/lib/pkgconfig/
~/gst-plugins-0.6.5$ export CC=/usr/bin/gcc-3.4
~/gst-plugins-0.6.5$ export CXX=/usr/bin/gcc-3.4
~/gst-plugins-0.6.5$ ./configure --prefix=/opt/liar/ --disable-ffmpeg --disable-v4l --disable-v4l2 --disable-cdrom --disable-vcd
~/gst-plugins-0.6.5$ make
~/gst-plugins-0.6.5$ make install
~/gst-plugins-0.6.5$ /opt/liar/bin/gst-register

Всё, можно запускать ($ /opt/liar/bin/liarliar)!

Готовую сборку под Ubuntu 7.10 можно скачать отсюда или отсюда.

0 коммент.:


 

Copyright © 2007 DamnSmallBlog. Content is licensed under Creative Commons Attribution-Noncommercial.

Design: GeckoandFly and Blogcrowds.