** Anton.S |
Отправлено: 28.10.2003, 09:16 |
|
Не зарегистрирован
|
Всем привет.
Задача следующая.
Имеется аудио сигнал, поступающий с телефонной линии.
Необходимо вести запись разговоров в отдельные файлы. Т.е. был звонок в 10:00 записали один файл, был звонок в 10:15 записали следующий файл и т.д. ( это не шпионские штучки , это нужно для протоколирования разговоров диспетчера скорой помощи )
Вопросы:
1) Может кто знает программы для такой задачи ? Где их взять ? Как установить из программы на C++ Builder в какой файл записывается разговор ?
2) Может быть кто видел компоненты С++ Builder пригодные для этой задачи ? Если да, то где, как их использовать ?
3) Как отслеживать аудио сигнал на входе ? Сигнал появился — пошла запись нового файла, сигнал пропал — запись закончили ?
4) Как вообще добраться до аудио сигнала ?
--
Спасибо, если хотя бы задумались.
|
|
Infant |
Отправлено: 03.11.2003, 20:29 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
Рад, что есть единомышленики. Я пишу похожую прогу.
Использую не модем, а звуковую карту и самодельный дивайс, который подает сиглал о снятии трубки на COM-порт, а на звуковуху, через гальваническую развязку записывается разговор в БД. При этом, как понимаешь, можно обеспечить конфиденциальность переговоров, осуществлять поиск и учет. |
|
Anton.S |
Отправлено: 04.11.2003, 07:46 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 7
|
А на чем пишеш ?
Какой компонент пользуешь ?
Зачем нужен самодельный девайс, почему не проанализировать аудиосигнал на "тишину" ?
--
Я вообще-то не Любопытный... фамилия такая
|
|
Infant |
Отправлено: 04.11.2003, 09:03 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
>А на чем пишеш ?
Borland Builder C++
>Какой компонент пользуешь ?
для воспроизведения и записи MediaPlayer, а в общем
пока все из стандатртные.
>Зачем нужен самодельный девайс, почему не проанализировать>аудиосигнал на "тишину" ?
Ну, а как ты будешь определять это пауза в разговоре или положена трубка.
Если использовать модем, то необходимо, чтобы всегда была "поднята трубка" модема, а в этом случае ты не сможешь пользоваться телефонной линией.
Вот так.
|
|
Anton.S |
Отправлено: 05.11.2003, 09:47 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 7
|
QUOTE (Infant @ 04/11/2003, 10:05) | Ну, а как ты будешь определять это пауза в разговоре или положена трубка.
Если использовать модем, то необходимо, чтобы всегда была "поднята трубка" модема, а в этом случае ты не сможешь пользоваться телефонной линией.
|
Пауза в разговоре отличается от состояния "трубка положена", как небо и земля. Белый шум в момент паузы значительно превосходит шумы состояния "трубка положена" (проверял осциллографом).
С модемом не очень понял зачем нужно, что бы трубка была всегда поднята, но это не принципиально. Модема нет и по условиям быть не должно. У меня три входных тел. линии заводят на два рабочих места. Не буду же я цеплять 6 модемов.
Жаль что Ты работаешь с MediaPlayer. Им, конечно, не определить состояние аудио сигнала.
Может кто знает, могу ли я при помощи DirectSound получить мгновенную выборку аудиосигнала ? |
|
** Infant |
Отправлено: 05.11.2003, 22:08 |
|
Не зарегистрирован
|
Во-первых, если у тебя 2 рабочих места и 3 вх линии (итого контроль над 3-мя линиями, то в моем варианте нужны 2 звуковые карты.
Определить с какого рабочего места был произведен разговор можно и по голосу, или подавать управляющий сигнал на комп.
Гальваническая развязка в любом случае необходима, а если так, то что тебе стоит путем добавления одного герконового реле и подачей сигнала на СОМ-порт анализивовать 1 или О (как известно, при снятии трубки напряжение падает).
Я считаю что все нужно делать как можно проще.
Ну, а если совсем отказаться от СОМ-порта, то можно в ждущем режиме телефонной линии с помощью того же реле подавать на вход звуковухи напряжение определенного уровня, например +1В, и нужно будет анализировать не белый шум, а всего лишь наличие этого напряжения. |
|
|