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 можно скачать отсюда или отсюда.
Ключевые слова: gstreamer, LiarLiar, lie detector, Linux, OpenSource
0 коммент.:
Подписаться на:
Комментарии к сообщению (Atom)