Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Dtmf библиотека  (Прочитано 7672 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Serguntii
Помогающий

ru
Offline Offline

« : 18-04-2014 10:45 » new

 Подскажите пожалуйста, нужно генерировать DTMF  сигналы и декодировать, есть готовые библиотеки или лучше использовать directx, может еще что то ?

Добавлено через 3 часа, 50 минут и 1 секунду:
Вроде разобрался с dtmf. Еще есть один вопросик наверно простой.  Получаю данные в массив типа short нужно эти значения вывести на динамик(воспроизвести) как это сделать? Если правильно понимаю объект SoundPlayer  умеет воспроизводить только wav а  у меня в массиве цифры, думаю есть два варианта либо их нужно как-то преобразовать в формат wav  либо можно как-то так воспроизвести только  не знаю как.  Помогите советами?

Добавлено через 4 часа, 10 минут и 35 секунд:
По понятней напишу вопрос. У меня есть массив из 160 байт. Их нужно воспроизвести за 2 секунды samplerate 8000 гц .  Что лучше использовать для этого Directx или может какие другие библиотеки?
Раньше со звуком никогда не работал.
« Последнее редактирование: 18-04-2014 18:45 от sergeyan » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 18-04-2014 19:01 » 

sergeyan, 160 байт MIDI?

Добавлено через 5 минут и 8 секунд:
Сейчас посмотрел вики http://ru.wikipedia.org/wiki/DTMF Если это твой зверь. То наверно будет легче в аудиредакторе сгенерировать аудио файлики для каждого кода и просто потом их проигрывать.
« Последнее редактирование: 18-04-2014 19:06 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Serguntii
Помогающий

ru
Offline Offline

« Ответ #2 : 18-04-2014 19:12 » 

Это не музыка, в массиве значения для цапа звуковой карты. Нужно равномерно содержимое массива писать в цап. 80 байт в секунду. качество  звука  8000 а можно 44100, при такой скорости не будет разницы что  8000 что 44100.
Нет аудио редактор не подойдет, команды будут вводится в  textbox и после получаем массив 16 битных значений, теперь его нужно загонять в цап, как это правильнее сделать помогите кто знает.
« Последнее редактирование: 18-04-2014 19:16 от sergeyan » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 18-04-2014 19:35 » 

sergeyan, Если честно, не понял. Что у тебя есть 80 байт в секунду. Даже если ты будеш кидать с частотой 8000Гц однобайтовую комбинацию, это уже 8 килобайт почти. Поэтому я и предположил, что у тебя кодовая комбинация, которую ты хочеш озвучить. Но для кодов это слишком быстро IMHO.
PS Помнится Dale когда то занимался телефонией, может он сможет подсказать библиотеки.
« Последнее редактирование: 18-04-2014 19:39 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 18-04-2014 21:40 » 

Я и сейчас вовсю занимаюсь телефонией. Но для профессиональных приложений гудеть в линию всякими бытовыми саунд-бластерами не принято. У нас на фирме применяются платы Intel Dialogic с фирменными библиотеками и драйверами от произвлдителя, в других отделах на менее критических приложениях - отечетсвенные платы "Ольха" (как я понял, клон Dialogic'а, но не ручаюсь, сам с ними плотно не работал, только с оригиналом). Там DTMF генерирует сигнальный процессор.

Ну и по части здравого смысла полностью солидарен с Finch'ем: невозможно массивом, содержащим 160 байт сэмплов, гудеть 2 секунды с требуемым качеством. Элементарная арифметика.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Serguntii
Помогающий

ru
Offline Offline

« Ответ #5 : 19-04-2014 11:28 » 

Я понял спасибо. Хочу поэкспериментировать, снять осциллографом диаграмму напряжений, что будет на выходе звуковой карты.
Если даже не нравиться идея,если не затруднит, подскажите как записать 80 значений на выход звуковой карты с частотой сэмплирования 8кгц.
Каждый 100й такт сэмплирования берем из массива значение и пишем на выход звуковухи, увеличиваем указатель на один.

Добавлено через 5 часов, 16 минут и 8 секунд:
Вроде сделал работает. Еще вопрос может кто знает как сделать захват звука с звуковой карты с линейного входа или микрофона?

Добавлено через 19 часов, 25 минут и 40 секунд:
Для воспроизведения используется пространство System.Media, а что использовать для чтения  звукового потока с микрофона?
« Последнее редактирование: 20-04-2014 12:10 от sergeyan » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines