Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.58.77.98] |
|
Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
задержку я даже не различаю (всё таки комп не пентиум) Если посмотреть на структурную схему которую я выложил, этой задержки в принципе не должно быть, там в принципе нет того чтобы сигнал задерживался, само определение микшер - просто смешивание сигналов. Но вот если между приёмом сигнала и выводом вставить обработку эта задержка уже существенная, а в одном приложении просто огромная. |
Сообщ.
#32
,
|
|
|
Цитата Jin X @ Получается, что вы слышите свой голос одновременно с тем, как говорите + обработанный с задержкой. Скорее всего, это какая-то аппаратная ерунда. Возможно, дефект на карте. Потому что программно вывести записанный звук без задержки не может даже система. Без задержек можно вывести только используя ASIO. Даже если вы поставите галочку "прослушивать звук", он будет звучать не сразу, попробуйте. Пробовал, на нормальных звуковых картах звук идёт напрямую без всяких задержек. Задержка есть на запись. ASIO - не панацея, это просто сокращает количество промежуточных этапов, даёт ПО более короткий доступ к оборудованию, задержки уменьшаются, но они остаются и зависят от быстродействия CPU и RAM, что о многом говорит. Вот системный микшер в Windows XP: Да, в более новых Windows микшер убили, но до этих настроек добраться можно. На "Master Volume" я спокойно управляю прохождением сигналов со входов звучки на выход. На "Recording Control" я так же спокойно выбираю источник записи и выставляю его уровень НЕЗАВИСИМО от уровня прохождения на выход. Далее любые программы записи, хоть Фонограф, пишут звук с указанного источника, при этом воспроизведение работает, на выход проходит только выбранное. Такие программы, как Скайп и т. п. могут сами лезть в микшер и делать нужные настройки, используя API Панели Управления. Но большая часть программ, в том числе профессиональные программы для студийной звукозаписи, оставляют эти настройки пользователю. ASIO - это другое, тут без него. |
Сообщ.
#33
,
|
|
|
Цитата я уже ранее писал, приходится повторяться одно приложение считывает сигнал с микрофона (но не воспроизводит его сразу же на выходе, а записывает его в какой то промежуточный буфер (виртуальный блок памяти), и только). Второе приложение считывает эти данные, обрабатывает, изменяет по определённому алгоритму и записывает во второй промежуточный буфер. Третье приложение считывает из второго буфера и воспроизводит на выход. Что я нового написал? Просто средний кусок выбросил из предыдущего описания, он совершенно не имеет никакого значения для решения проблемы. Для чего всё разбито на 3 (а может и 4 и 5 и тд) приложения можно догадаться и самому - разница по времени между первым и последним должна быть минимальной. По описанию похоже на рениксу. Вы пытаетесь выжать какую задержку? В один семпл? В сто? ? Цитата Если вы не понимаете в чём суть вопроса, это совсем не означает что на него нет ответа? и код кстати выложен выше - надо внимательнее читать тему чтобы давать советы. Цитата Что касается ещё большей конкретики выкладываю схему стандартного микшера (просторы интернета), на которой крестиками указаны каналы которые необходимо отключить. Насколько помню, суть проблемы, в общих словах, была в наложении сигналов/данных. С учётом того, что(по вашему описанию), есть три приложения, которые юзают(обрабатывают) по сути одни и те же данные, всё возможно. Сюда можно также добавить тот факт, что еще несколько дней назад вы спрашивали, как обеспечить непрерывное воспроизведение. Всё это позволяет предположить, что вы где-то накосячили. Я этого не утверждаю, но это вполне возможно. Микшер вы можете настроить виндовыми средствами. Залезать в функции микшера, имхо, на данном этапе не имеет смысла. Возможно, и вполне вероятно, настройки микшера с проблемой наложения сигналов не связаны. Мне думается, вам стоит проанализировать, что на входе и выходе каждой из ваших программ. И только будучи абсолютно уверенным в том, что на выходе каждой программы, в цепочке программ, обрабатывающих аудио данные, именно то, что вам нужно(а проблема с наложением сигналов остается), искать "внешние" причины. Если вам нужно отключить определенный контрол микшера, имхо, создайте отдельную тему. Я могу ошибаться, но предположу, что ваши вопросы по функциям микшера в данной теме вызывают недоумение не только у меня. У вас есть кучка программ, которые непонятно как работают и непонятно что делают - черный ящик, в котором вероятно баг. А вы выкладываете кусок кода, в общем-то не имеющего отношения к проблеме, и просите помочь его "допилить". На всякий пожарный случай, я не умничаю. И мы тут ничем не меряемся. Я пытаюсь мягко убедить вас обратить внимание на ваш код, структуру программ(ы); возможно, на изначальную постановку задачи. Вернуться к истокам, и к исходникам. |
Сообщ.
#34
,
|
|
|
Цитата Prince @ Всё это позволяет предположить, что вы где-то накосячили Допустим я накосячил в своём коде, но ведь я никак не могу накосячить в чужих разработках. Я не понимаю для чего вам нужно обязательно посмотреть именно мой код, если выше выложены два кода WaveMeter и PlayTone. Уж в них то я никак не мог накосячить. Вот я что писал ранее: Цитата Ivan123 @ 1. подключите наушники с микрофоном через USB 2. запустите одним приложением WaveMeter и нажмите на старт (если напоёте в микрофон визуально увидите что данные читаются) 3. запустите вторым приложением PlayTone и нажмите воспроизведение одного из 3 сигналов (в наушниках вы услышите и сам сигнал и то что в этот момент говорите в микрофон) Результат выполнения этих действий точно такой же как и с моим кодом - вот поэтому у меня и возникли сомнения о сути вопроса. Несколько слов не по теме: вчера пришлось по моему основному профилю помогать на другом форуме. Так вот там одному человеку пытались дать совет на 30 листах совершенно не понимая сути вопроса, из них 90% были - зачем тебе это нужно, не заморачивайся), и не потому что у этих людей мало интеллекта, просто всё очень банально - они просто никогда не решали подобную задачу в силу того, что специфика их работы такой задачи перед ними никогда и не ставила. Если возможно в начале поисков я и не знал в каком пути мне конкретно двигаться, то уже после первых советов и штудирования литературы по этому направлению понял что разделение сигналов и управление аудиопотоками правильное направление в моём вопросе. У меня пока нет корректных знаний как этими потоками управлять, но я только учусь и всех тонкостей не знаю) Добавлено Цитата Mikle @ Да, в более новых Windows микшер убили, но до этих настроек добраться можно Возможно это временный выход для меня, надо его обязательно опробовать. Только не понятно пока DELPHI7 станет на ХР? Как временный вариант может и подойдёт, но в результате я всёже хочу побороть миксер) |
Сообщ.
#35
,
|
|
|
Цитата Mikle @ У меня Focusrite Scarlett 2i4 (у неё даже аппаратная прослушка есть, когда вообще не запущено аудиософта), но и тут при включенной галочке звук идёт с задержкой. Но это на 10-ке, в XP задержки может не быть, т.к. по-другому всё было реализовано.Пробовал, на нормальных звуковых картах звук идёт напрямую без всяких задержек. Задержка есть на запись. Используя JACK, лично у меня только через ASIO звук идёт без задержек. Хотя размер буфера не меняется (64 семпла = 2.67 мсек). А вообще, у меня тоже есть ощущение, что раньше "прослушка" работала без задержек, а потом стала работать с задержками. Вы на XP пробовали? А на 7, 8, 10 как? Ivan123, а у вас "прослушка" с задержкой идёт? Цитата Mikle @ Я в 10-ке вообще нормального системного микшера найти не могу.На "Master Volume" я спокойно управляю прохождением сигналов со входов звучки на выход. Цитата Ivan123 @ Встанет. XP выпущен в 2001 году, Delphi 7 - в 2002, так что можно считать, что он под 2000 и XP и был создан Только не понятно пока DELPHI7 станет на ХР? Ivan123, на самом деле Prince разумные вещи говорит: попробуйте делать вывод в файл и потом откройте его в редакторе как RAW и послушайте, что реально выводите. И запустить запись и параллельно с этим воспроизведение через сторонние программы (через разные в т.ч.) я бы тоже настоятельно рекомендовал. Будет ли там такой же эффект? И дальше уже от этого можно плясать... Цитата Ivan123 @ Вы возможно увидитесь, но я почти уверен, что здесь ни у кого такой проблемы, как у вас, не возникало просто всё очень банально - они просто никогда не решали подобную задачу Поэтому и пытаемся нащупать решение "методом тыка". |
Сообщ.
#36
,
|
|
|
Цитата Jin X @ а у вас "прослушка" с задержкой идёт? Я пока не понимаю что вы имеете ввиду "прослушка" Цитата Jin X @ И дальше уже от этого можно плясать... Всё таки вы не совсем понимаете мою цель) без обид Программированием я занимаюсь только в виде узкого круга математических или физических задач связанных с трудоёмкостью расчётов. Я не знаю пока как мне записать даже приличный кусок, мне это надо изучать. А самое главное мне в рамках моей задачи это совершенно не нужно (записывается сэмпл (один), если я правильно понимаю термины, пока пишется второй от первого отпиливаю кусок, растягиваю, сжимаю, и т.д. (всё образно)и отдаю на выход, пока первый воспроизводится, пишется уже третий и т.д.). Т.е. единый поток. Ничего куда то в файл не записывается, и ничего из файла не воспроизводится. |
Сообщ.
#37
,
|
|
|
Цитата Ivan123 @ Опция в настройках звуковой карты. Вот этаЯ пока не понимаю что вы имеете ввиду "прослушка" Прикреплённый файлMIXER_2.png (13,74 Кбайт, скачиваний: 1464) Добавлено Цитата Ivan123 @ Какая разница, куда нужно вам выводить – в файл или не в файл?Всё таки вы не совсем понимаете мою цель) без обид Сейчас это нужно сделать именно так лишь для того, чтобы найти источник проблемы. Вот и вся цель. И аналогично с использованием сторонних программ. Для того, чтобы понять, проблема в вашем коде, в настройках микшера или в железе. |
Сообщ.
#38
,
|
|
|
Цитата Jin X @ Опция в настройках звуковой карты. Вот эта без задержки, комп достаточно мощный, для трудоёмких расчётов |