0
<< предыдущая заметкаследующая заметка >>
27 ноября 2011
Воскресная передача "сделай сам"

Берем Линукс.
Ставим утилитку listener: sudo apt-get install listener

Создаем папку, делаем в ней listener.conf:

wav_path = /tmp/
fname_template = 1.wav
devname = /dev/dsp
detect_level = 800
min_duration = 1
rec_silence = 0
max_duration = 600
min_triggers = 15
sample_rate = 22050
channels = 1
format=wav
compression = a-law
amplify = on
start_amplify = 1.5
max_amplify = 10.0
fixed_amplify = no
exec = ./listener.php

Тут же рядом создаем listener.php (ну, php в системе должен иметься, разумеется):

#!/usr/bin/php

<?php
if(!empty($argv[1])) { $name=$argv[1]; if(is_file($name) && strstr($name,'.wav')) unlink($name); }
$TOL="/tmp/lst.flg"; if(time()-filemtime($TOL) < 6) { touch($TOL); exit; } touch($TOL);
$a=glob("./smeh/*.mp3"); exec("/usr/bin/play \"".$a[rand(0,sizeof($a)-1)]."\"");
?>

Создаем рядом папку ./smeh/ и кладем в нее звуковые сэмплы.mp3, например people-laughing-*.mp3 отсюда

Запускаем всю конструкцию такой командой:
touch /tmp/lst.flg ; aoss listener -f -c ./listener.conf

Результат: мы получили фичу, которая пасет звук с микрофона, дожидается, пока продолжаются шум и голоса, и как только наступит пауза, выдает закадровый смех как в телесериале.

Такой ноутбук с громкими колонками очень оживляет любое застолье, не говоря уже про деловые переговоры.

Кому нужны более подробные исходники: smex.zip

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий


Include not found: `/home/www/lleo.me/blog/template/_reklamnaya_lirica.htm`