[Sarlug] Домашний регистратор телефонных переговоров

fisher fisher74 на list.ru
Вт Апр 7 23:47:41 MSD 2009


Sergey Mihailov пишет:
> Когда я давно работал на ж.д. тама я крячил хилафакс сервер.
Ну не так уж и давно.
В корпоративной рассылке ещё нет-нет вспоминают тебя.
А, вообще, мои тёзки  молодцы- мне помогали и помогают в изучении 
системы (я про Sergey Mihailov и про gals.. вот уж последнего не помню в 
этой рассылке, но ... -тоже респект...)

Итак по теме.
Предложенный ксилафакс не возбудил своими конфигами (когда-то я их тоже 
пытался его корячить с винмопедом), потому эта идея была откинута 
изначально.
Предложение господина _Konstantin_Baev_ (без злого умысла кличу 
господином)  - более понравилось и было принята в разработку.
В указанной им статье,  самой первой была указана звуковая карта на базе 
чипа CM8738 в плане нерекомендованной.
Как на зло, именно она -  самая гавнястая звуковуха, оказалась в работе, 
но.... я её победил (слегка).
Отношение сигнал/шум конечно у неё колосальные но.... И listener тут не 
при чём.(реальную запись могу куда-нить выложить, тока показывайте куда)

Пока сделал так:
из железа:
в руки выплыл древний ISA-мопед от USRobotics с его трансформатором и, 
гы... разъёмом RJ-11 (а чё велосипед-то изобретать?). Долго думал на 
счёт сбора всей конструкции на базе этой ISA-плате (вырубить всё и 
собрать _своё_ на этой плате, оставив внутри антресольного сервера), но 
решил, что для экспериментов пока надо пользовать распределённую 
конструкцию (то бишь навесной монтаж).
Я, больше Електроник, чем программер, потому схемотехника меня больше 
всего тронула.
В схеме сопряжения 268 элементов....
(запоздалая первоапрельская шутка):
тот самый трансформатор от софт-мопеда (не идеал,конечно, но чё нашёл то 
и впердолил), сопротивление (искал в "этой куче" в районе килоома, но 
попалось в 100 ом - прокатило), и два диода (вот без них не советую, так 
как именно они защитят звуковуху от ожидаемого звонка).
Озвучу в словах всю эту кухню.
1. Одна из обмоток трансформатора (в моём случае они вроде равнозначны), 
конденсатор (меньше микрофарада, но обязательно неполярный и напругой 
минимум 160В) и резистор (тыкнул сопротивлёметром активное сопротивление 
обмотки и .. ну короче попалось в руки резистор в 100 ом- его и воткнул) 
- всё это последовательно и подключено к телефонной линии. На линию не 
влияют. На качество связи тоже. Заметьте - у меня на этой же линии ADSL 
- тоже не кувыркается;
2. С другой стороны трансформатора - диоды, собранные в виде фриттерного 
устройства (встречно-параллельно)
  параллельно обмотке - это наши защитники от индуктора. И отдано это на 
вход звуковухи.
Если кого заинтересовало - могу накропать полученную схему и приложить 
фоту. Только место сами указывайте.

Далее долгая игра с настройками чувствительности - setlistener  просто 
сшибал своими пороговыми цифрами.
В результате, значение параметра detect_level вырасло с 200 из статьи до 
2900 для этого чипа. Внушительно, да?
Как ни игрался кодеками в listener, lame тоже давился, как и у 
первоисточника, потому чуть взял наработки у него и добавил отсебятину. 
А именно, параметр exec для конвертации в mp3 по окончании сэмпла, а не 
по cron ночью.
Вот мой конфиг и обработчик:
$cat /tmp/listener.conf
wav_path = /tmp/registrator/
fname_template = %y%m%d-%H%M%S
devname = /dev/dsp
detect_level = 2900
min_duration = 10
rec_silence = 5
max_duration = 600
min_triggers = 16
prerecord_n_seconds = 1
sample_rate = 22050
channels = 1
format=wav
compression = ms-adpcm
amplify = on
start_amplify = 1.5
max_amplify = 10.0
fixed_amplify = no
filter = ./my_filter2.so.0.2 0 3000.0 1.0
safe_after_filter = no
one_shot = no
exec = /tmp/registrator.sh
$
$cat /tmp/registrator.sh
#!/bin/sh

mplayer -vo null -vc dummy -ao pcm -ao pcm:file=$1.tmp $1 > /dev/null
lame $1.tmp $1.mp3 > /dev/null
rm $1.tmp > /dev/null
rm $1 > /dev/null

Всё работает. только с двумя каналами пока не разобрался. То бишь как 
отдельно использовать. Знаю про listenersoundpipe, но настройки не вкурил.


Подробная информация о списке рассылки Sarlug