From sitkarev на komitex.ru Sun Nov 6 04:33:07 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Sun, 06 Nov 2011 03:33:07 +0300 Subject: [P&AM Lab] =?utf-8?q?Linear_Least_Square_--_matrix_inverse_LU_?= =?utf-8?b?0L/RgNC40LzQtdGAINC/0YDQvtCz0YDQsNC80LzRiw==?= Message-ID: <4EB5D5C3.8040705@komitex.ru> Приветствую всех! В эту субботу было много информации поэтому решил сделать пример для нахождения коэффициентов методом нахождения обратной матрицы. Это то что мы рассмотрели в субботу детально. Я думаю что пример на Си будет очень кстати. Чтобы с ним поиграться, нужно установить библиотеку GSL (GNU Scientific Library). В ОС Linux GNU/Debian это пакеты libsgl0-dev и libgsl0ldbl. Исходник находится на репозитории в каталоге /dsp/lsfit.c. Т.к. у нас нет настоящих измерений, я заранее придумал коэффиценты (от балды) которые нам как раз предстоит отыскать. С помощью этих коэффициентов для пар значений [x,y], расположенных на сетке с шагом [0.25,0.25] генерируются значения u = U(x,y) и v = V(x,y). Дальше, наша задача найти коэффициенты [a0,...,a5] и [b0,...,b5], пользуясь только известными значениями координат точек [u,v] и [x,y]. Программа находит коэффициенты и печатает их. Удачных экспериментов. -- Г.А. From Jack291 на yandex.ru Tue Nov 8 20:49:14 2011 From: Jack291 на yandex.ru (=?koi8-r?B?8tHCz9cg5dfHxc7Jyg==?=) Date: Tue, 08 Nov 2011 20:49:14 +0400 Subject: [P&AM Lab] =?koi8-r?b?TGluZWFyIExlYXN0IFNxdWFyZSAtLSBtYXRyaXgg?= =?koi8-r?b?aW52ZXJzZSBMVSDQ0snNxdIg0NLPx9LBzc3Z?= In-Reply-To: <4EB5D5C3.8040705@komitex.ru> References: <4EB5D5C3.8040705@komitex.ru> Message-ID: <271021320770954@web150.yandex.ru> 06.11.2011, 04:33, "Grigoriy A. Sitkarev" : > Приветствую всех! > > В эту субботу было много информации поэтому решил сделать пример для > нахождения коэффициентов методом нахождения обратной матрицы. Это то что > мы рассмотрели в субботу детально. Я думаю что пример на Си будет очень > кстати. > > Чтобы с ним поиграться, нужно установить библиотеку GSL (GNU Scientific > Library). В ОС Linux GNU/Debian это пакеты libsgl0-dev и libgsl0ldbl. > > Исходник находится на репозитории в каталоге /dsp/lsfit.c. > > Т.к. у нас нет настоящих измерений, я заранее придумал коэффиценты (от > балды) которые нам как раз предстоит отыскать. С помощью этих > коэффициентов для пар значений [x,y], расположенных на сетке с шагом > [0.25,0.25] генерируются значения u = U(x,y) и v = V(x,y). Дальше, наша > задача найти коэффициенты [a0,...,a5] и [b0,...,b5], пользуясь только > известными значениями координат точек [u,v] и [x,y]. > > Программа находит коэффициенты и печатает их. > > Удачных экспериментов. > > -- > Г.А. > > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab Есть вопрос по поводу LU факторизации матрицы gsl_linalg_LU_decomp(&lu.matrix, p, &s); это когда матрица распиливается в произведение треугольных матриц. Это lu и s ? и gsl_permutation *p что это? typedef struct { size_t size; size_t * data; } gsl_permutation; всё что нашел. Заранее спасибо -- Заходим на melinux.ru - всё про Linux и не только From shadetoraven2 на mail.ru Tue Nov 8 20:58:33 2011 From: shadetoraven2 на mail.ru (=?UTF-8?B?VFRUIFRUVA==?=) Date: Tue, 08 Nov 2011 20:58:33 +0400 Subject: [P&AM Lab] =?utf-8?q?__Linear_Least_Square_--_matrix_inverse_LU_?= =?utf-8?b?0L/RgNC40LzQtdGAINC/0YDQvtCz0YDQsNC80LzRiw==?= Message-ID: Доброго времени суток. У меня эта программа(пример для нахождения коэффициентов) компилируется, но выдает ошибку "Ошибка сегментации". 2 пакета libgsl0-dev и libgsl0ldbl я установил. В терминале прописал $ gcc -Wall -o lsfit lsfit.c -lgsl -lgslcblas $ ./lsfit From sitkarev на komitex.ru Tue Nov 8 21:00:30 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Tue, 08 Nov 2011 20:00:30 +0300 Subject: [P&AM Lab] =?utf-8?q?Linear_Least_Square_--_matrix_inverse_LU_?= =?utf-8?b?0L/RgNC40LzQtdGAINC/0YDQvtCz0YDQsNC80LzRiw==?= In-Reply-To: <271021320770954@web150.yandex.ru> References: <4EB5D5C3.8040705@komitex.ru> <271021320770954@web150.yandex.ru> Message-ID: <4EB9602E.2070801@komitex.ru> > Есть вопрос по поводу LU факторизации матрицы > gsl_linalg_LU_decomp(&lu.matrix, p,&s); > > это когда матрица распиливается в произведение треугольных матриц. Это lu и s ? > и gsl_permutation *p что это? > > typedef struct { size_t size; size_t * data; } gsl_permutation; всё что нашел. > > Заранее спасибо > Видимо плохо искали. http://www.gnu.org/s/gsl/manual/html_node/Permutations.html Это вектор перестановок. -- Г.А. From sitkarev на komitex.ru Tue Nov 8 21:13:42 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Tue, 08 Nov 2011 20:13:42 +0300 Subject: [P&AM Lab] =?utf-8?q?Linear_Least_Square_--_matrix_inverse_LU_?= =?utf-8?b?0L/RgNC40LzQtdGAINC/0YDQvtCz0YDQsNC80LzRiw==?= In-Reply-To: References: Message-ID: <4EB96346.3060504@komitex.ru> Она правильно выдаёт и выпадает в SEGSEGV. У вас стек скорее всего лимитирован размером в 8 Мб. А там локальные переменные в main() большие. Или убирайте лимит на стек через ulimit или уменьшайте количество опорных точек. Сейчас там их 400х400 (макросы HEIGHT и WIDTH). Для экспериментов это многовато, я оставил такое большое число для проверки алгоритма. Для того чтобы разобраться как он работает достаточно пары десятков. $ ulimit -a | grep "stack size" stack size (kbytes, -s) 8192 $ ulimit -s unlimited -- Г.А. 08.11.2011 19:58, TTT TTT пишет: > Доброго времени суток. > У меня эта программа(пример для нахождения коэффициентов) компилируется, но выдает ошибку "Ошибка сегментации". > 2 пакета libgsl0-dev и libgsl0ldbl я установил. > В терминале прописал > $ gcc -Wall -o lsfit lsfit.c -lgsl -lgslcblas > $ ./lsfit > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab From shadetoraven2 на mail.ru Tue Nov 8 21:17:41 2011 From: shadetoraven2 на mail.ru (=?UTF-8?B?VFRUIFRUVA==?=) Date: Tue, 08 Nov 2011 21:17:41 +0400 Subject: [P&AM Lab] =?koi8-r?b?KMLF2iDUxc3ZKQ==?= Message-ID: Да, действительно. Все заработало, спасибо. From sitkarev на komitex.ru Tue Nov 8 21:35:52 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Tue, 08 Nov 2011 20:35:52 +0300 Subject: [P&AM Lab] =?utf-8?q?Linear_Least_Square_--_matrix_inverse_LU_?= =?utf-8?b?0L/RgNC40LzQtdGAINC/0YDQvtCz0YDQsNC80LzRiw==?= In-Reply-To: <271021320770954@web150.yandex.ru> References: <4EB5D5C3.8040705@komitex.ru> <271021320770954@web150.yandex.ru> Message-ID: <4EB96878.2010007@komitex.ru> > Есть вопрос по поводу LU факторизации матрицы > gsl_linalg_LU_decomp(&lu.matrix, p,&s); > > это когда матрица распиливается в произведение треугольных матриц. Это lu и s ? > и gsl_permutation *p что это? > > typedef struct { size_t size; size_t * data; } gsl_permutation; всё что нашел. > > Заранее спасибо > С LU факторизацией, я упоминал что хотя и матриц две, но они эффективно хранятся в одной структуре. Т.к. матрица U занимает верхнюю часть, а L по главной диагонали всегда имеет все единицы, то смысла хранить последние нет, зато можно остальные значения матрицы L хранить вместе с U в той же структуре. s это вообще int, поэтому он никак не может быть матрицей. В нём хранится знак перестановки, он нужен для того чтобы из LU разложения можно было посчитать определитель. Он считается как произведение всех элементов главной диагонали матрицы U. http://www.gnu.org/s/gsl/manual/html_node/Linear-Algebra.html -- Г.А. From Jack291 на yandex.ru Tue Nov 8 21:36:00 2011 From: Jack291 на yandex.ru (=?koi8-r?B?8tHCz9cg5dfHxc7Jyg==?=) Date: Tue, 08 Nov 2011 21:36:00 +0400 Subject: [P&AM Lab] =?koi8-r?b?TGluZWFyIExlYXN0IFNxdWFyZSAtLSBtYXRyaXgg?= =?koi8-r?b?aW52ZXJzZSBMVSDQ0snNxdIg0NLPx9LBzc3Z?= In-Reply-To: <4EB9602E.2070801@komitex.ru> References: <4EB5D5C3.8040705@komitex.ru> <271021320770954@web150.yandex.ru> <4EB9602E.2070801@komitex.ru> Message-ID: <324531320773760@web138.yandex.ru> 08.11.2011, 21:00, "Grigoriy A. Sitkarev" : >>  Есть вопрос по поводу LU факторизации матрицы >>  gsl_linalg_LU_decomp(&lu.matrix, p,&s); >> >>  это когда матрица распиливается в произведение треугольных матриц. Это lu и s ? >>  и  gsl_permutation *p что это? >> >>  typedef struct { size_t size; size_t * data; } gsl_permutation; всё что нашел. >> >>  Заранее спасибо > > Видимо плохо искали. > > http://www.gnu.org/s/gsl/manual/html_node/Permutations.html > > Это вектор перестановок. > > -- > Г.А. > > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab Всё с перестановками разобрался. Спасибо -- Заходим на melinux.ru - всё про Linux и не только From Jack291 на yandex.ru Tue Nov 8 21:44:23 2011 From: Jack291 на yandex.ru (=?koi8-r?B?8tHCz9cg5dfHxc7Jyg==?=) Date: Tue, 08 Nov 2011 21:44:23 +0400 Subject: [P&AM Lab] =?koi8-r?b?TGluZWFyIExlYXN0IFNxdWFyZSAtLSBtYXRyaXgg?= =?koi8-r?b?aW52ZXJzZSBMVSDQ0snNxdIg0NLPx9LBzc3Z?= In-Reply-To: <4EB96878.2010007@komitex.ru> References: <4EB5D5C3.8040705@komitex.ru> <271021320770954@web150.yandex.ru> <4EB96878.2010007@komitex.ru> Message-ID: <393681320774263@web128.yandex.ru> 08.11.2011, 21:35, "Grigoriy A. Sitkarev" : >>  Есть вопрос по поводу LU факторизации матрицы >>  gsl_linalg_LU_decomp(&lu.matrix, p,&s); >> >>  это когда матрица распиливается в произведение треугольных матриц. Это lu и s ? >>  и  gsl_permutation *p что это? >> >>  typedef struct { size_t size; size_t * data; } gsl_permutation; всё что нашел. >> >>  Заранее спасибо > > С LU факторизацией, я упоминал что хотя и матриц две, но они эффективно > хранятся в одной структуре. Т.к. матрица U занимает верхнюю часть, а L > по главной диагонали всегда имеет все единицы, то смысла хранить > последние нет, зато можно остальные значения матрицы L хранить вместе с > U в той же структуре. > > s это вообще int, поэтому он никак не может быть матрицей. В нём > хранится знак перестановки, он нужен для того чтобы из LU разложения > можно было посчитать определитель. Он считается как произведение всех > элементов главной диагонали матрицы U. > > http://www.gnu.org/s/gsl/manual/html_node/Linear-Algebra.html > > -- > Г.А. > > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab я просто не смог прийти на занятие в субботу, поэтому пропустил это. А про int я даже как то внимание не обратил. Спасибо -- Заходим на melinux.ru - всё про Linux и не только From sitkarev на komitex.ru Tue Nov 8 21:54:07 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Tue, 08 Nov 2011 20:54:07 +0300 Subject: [P&AM Lab] =?utf-8?q?Linear_Least_Square_--_matrix_inverse_LU_?= =?utf-8?b?0L/RgNC40LzQtdGAINC/0YDQvtCz0YDQsNC80LzRiw==?= In-Reply-To: <393681320774263@web128.yandex.ru> References: <4EB5D5C3.8040705@komitex.ru> <271021320770954@web150.yandex.ru> <4EB96878.2010007@komitex.ru> <393681320774263@web128.yandex.ru> Message-ID: <4EB96CBF.4080403@komitex.ru> > я просто не смог прийти на занятие в субботу, поэтому пропустил это. А про int я даже как то внимание не обратил. Спасибо > Я боюсь без конспекта сложновато будет понять что это и зачем. В эту субботу мы продолжим эту тему, может быть станет понятнее. -- Г.А. From Jack291 на yandex.ru Wed Nov 9 00:45:28 2011 From: Jack291 на yandex.ru (=?koi8-r?B?8tHCz9cg5dfHxc7Jyg==?=) Date: Wed, 09 Nov 2011 00:45:28 +0400 Subject: [P&AM Lab] =?koi8-r?b?TGluZWFyIExlYXN0IFNxdWFyZSAtLSBtYXRyaXgg?= =?koi8-r?b?aW52ZXJzZSBMVSDQ0snNxdIg0NLPx9LBzc3Z?= In-Reply-To: <4EB96CBF.4080403@komitex.ru> References: <4EB5D5C3.8040705@komitex.ru> <271021320770954@web150.yandex.ru> <4EB96878.2010007@komitex.ru> <393681320774263@web128.yandex.ru> <4EB96CBF.4080403@komitex.ru> Message-ID: <741631320785128@web99.yandex.ru> 08.11.2011, 21:54, "Grigoriy A. Sitkarev" : >>  я просто не смог прийти на занятие в субботу, поэтому пропустил это. А про int я даже как то внимание не обратил. Спасибо > > Я боюсь без конспекта сложновато будет понять что это и зачем. > > В эту субботу мы продолжим эту тему, может быть станет понятнее. > > -- > Г.А. > > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab Ну я в целом поспрашивал, погуглил, с алгоритмом вроде разобрался а вот зачем мне пока неивестно к сожалению -- Заходим на melinux.ru - всё про Linux и не только From sitkarev на komitex.ru Sun Nov 20 10:39:57 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Sun, 20 Nov 2011 09:39:57 +0300 Subject: [P&AM Lab] =?utf-8?b?0KfQtdGA0L3QvtCy0LjQuiBBUEkg0LTQu9GPIEVNIE1P?= =?utf-8?q?G_=D0=B8_background_model?= Message-ID: <4EC8A0BD.80706@komitex.ru> Приветствую всех. По задаче, рассмотренной поверхностно в субботу, предложение по организации API к EM-алгоритму для смеси Гауссиан и моделированию фона по единичному пикселю изображения. Суть bg_model в следующем: 1. Первоначально необходимо установить статистическую модель пикселя. Для этого в его историю собирается н-ное количество значений интенсивности текущего пространства цветов (мы пока остановимся на RGB). bg_model_history_add() 2. После того как достаточное количество предыдущих значений собрано, можно получать модель. Каким образом это будет сделано -- нас это не интересует. Есть какая-то конкретная реализация (мы пока говорим что это будет MOG в чистом виде), она и будет этим заниматься. bg_model_acquire() 3. После того как модель была получена, последующие значения пикселей во-первых могут быть проверены на "фон/не фон" а во-вторых использованы для обновления параметров модели в реальном времени. bg_model_pixel_is_background() bg_model_update() 4. Через какие-то промежутки времени модель может быть перестроена заново. Все значения предыдущие пикселей (на определённую глубину, заданную bg_model_set_history_size()) сохранялись в истории, и достаточно сбросить модель в начальное состояние и повторно провести подгонку. bg_model_reset() bg_model_acquire() Приблизительно так это всё выглядит. Прототипы функций в bg_model.h. Прототипы алгоритма EM для смеси Гауссиан в em_mog.h. -- Г.А. ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: bg_model.h Type: text/x-chdr Size: 2167 bytes Desc: отсутствует URL: ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: em_mog.h Type: text/x-chdr Size: 2362 bytes Desc: отсутствует URL: From nateford на inbox.ru Sun Nov 20 21:56:06 2011 From: nateford на inbox.ru (Hermes Conrad) Date: Sun, 20 Nov 2011 21:56:06 +0400 Subject: [P&AM Lab] =?koi8-r?b?KMLF2iDUxc3ZKQ==?= Message-ID: <20111120215606.4cabac68@rlyeh.domain.name> Во вторник, 22 ноября, в 16.30 у нас будет гость Из Москвы, технический директор "Информэкспертиза". Будет рассказывать интересные вещи. From nateford на inbox.ru Sun Nov 20 22:05:06 2011 From: nateford на inbox.ru (Hermes Conrad) Date: Sun, 20 Nov 2011 22:05:06 +0400 Subject: [P&AM Lab] =?utf-8?b?KNCx0LXQtyDRgtC10LzRiyk=?= In-Reply-To: <20111120215606.4cabac68@rlyeh.domain.name> References: <20111120215606.4cabac68@rlyeh.domain.name> Message-ID: <20111120220506.26e2edc7@rlyeh.domain.name> В Sun, 20 Nov 2011 21:56:06 +0400 Hermes Conrad пишет: > Во вторник, 22 ноября, в 16.30 у нас будет гость Из Москвы, > технический директор "Информэкспертиза". Будет рассказывать > интересные вещи. > > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab > Поправка - в 15.30-16.00 From Lonely.RuyK на mail.ru Tue Nov 22 03:55:44 2011 From: Lonely.RuyK на mail.ru (LonelyRuyK) Date: Tue, 22 Nov 2011 02:55:44 +0300 Subject: [P&AM Lab] ALSA API Message-ID: <201111220255.45190.Lonely.RuyK@mail.ru> Здравствуйте. Столкнулся с проблемой при написании программы использующей библиотеку alsa. Программа должна в реальном времени воспроизводить в колонках те звуки, которые идут на микрофон Схематично всё выглядит так: snd_pcm_open(&pcm_c, name, SND_PCM_STREAM_CAPTURE, 0); snd_pcm_open(&pcm_p, name, SND_PCM_STREAM_PLAYBACK, 0); .../* Now set params */ while(loops > 0) { snd_pcm_readi(pcm_c, ibuff, frames); snd_pcm_writei(pcm_p, obuff, frames); } snd_pcm_drain(pcm_c); snd_pcm_drain(pcm_p); snd_pcm_close(pcm_c); snd_pcm_close(pcm_p); Вместо того чтобы проигрывать переданные snd_pcm_writei сэмплы сразу, приложение ждёт когда выполнится snd_pcm_drain(pcm_p); и уже потом проигрывает всё то что пришло на микрофон. Т.е. вместо воспроизведения в реальном времени приложение сначала записывает данные, а уже потом воспроизводит всё то что пришло. Не могу понять как заставить проигрываться короткие размеры сэмплов. Пытался найти в интернете решение, ничего путного не обнаружил. Кто-нибудь знает как решить эту проблему? From sitkarev на komitex.ru Tue Nov 22 08:46:41 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Tue, 22 Nov 2011 07:46:41 +0300 Subject: [P&AM Lab] ALSA API In-Reply-To: <201111220255.45190.Lonely.RuyK@mail.ru> References: <201111220255.45190.Lonely.RuyK@mail.ru> Message-ID: <4ECB2931.9050304@komitex.ru> На вскидку, вроде бы всё верно. Я думаю что нужно сделать вырезку (буквально) из кода, которая открывает устройства и начинает что-то читать и писать, точно также как в твоей программе. Сложно сказать что происходит когда нет полной картинки с настройками. В любом случае, я бы начал смотреть через strace(2) что там происходит и стало бы понятно кто куда читает/пишет и где действительно ждёт. Есть версия что PCM устройства не перешли в состояние SND_PCM_STATE_PREPARE и возможно нужно вызвать snd_pcm_prepare() на них сначала. -- Г.А. 22.11.2011 02:55, LonelyRuyK пишет: > Здравствуйте. > Столкнулся с проблемой при написании программы использующей библиотеку alsa. > Не могу понять как заставить проигрываться короткие размеры сэмплов. > Пытался найти в интернете решение, ничего путного не обнаружил. > Кто-нибудь знает как решить эту проблему? > _______________________________________________ > Lab mailing list > Lab на wiki.syktsu.ru > http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab From Lonely.RuyK на mail.ru Tue Nov 22 14:05:46 2011 From: Lonely.RuyK на mail.ru (LonelyRuyK) Date: Tue, 22 Nov 2011 13:05:46 +0300 Subject: [P&AM Lab] ALSA API In-Reply-To: <201111220255.45190.Lonely.RuyK@mail.ru> References: <201111220255.45190.Lonely.RuyK@mail.ru> Message-ID: <201111221305.46378.Lonely.RuyK@mail.ru> Пардон, забыл скинуть сам исходник. перед заходом в цикл чтения/записи на устройства вызывается snd_pcm_prepare(). Cейчас попытаюсь расковырять чего-нибудь с помощью strace. ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: repeater.c Type: text/x-csrc Size: 2503 bytes Desc: отсутствует URL: From Lonely.RuyK на mail.ru Wed Nov 23 05:33:10 2011 From: Lonely.RuyK на mail.ru (LonelyRuyK) Date: Wed, 23 Nov 2011 04:33:10 +0300 Subject: [P&AM Lab] ALSA API In-Reply-To: <4ECB2931.9050304@komitex.ru> References: <201111220255.45190.Lonely.RuyK@mail.ru> <4ECB2931.9050304@komitex.ru> Message-ID: <201111230433.10436.Lonely.RuyK@mail.ru> Разобрался в чём проблема. Не выставлял руками задержку, в результате в структуре стояли большие значения, из-за чего вывод данных на динамики происходил только после snd_pcm_drain. From sitkarev на komitex.ru Wed Nov 23 10:44:10 2011 From: sitkarev на komitex.ru (Grigoriy A. Sitkarev) Date: Wed, 23 Nov 2011 09:44:10 +0300 Subject: [P&AM Lab] ALSA API In-Reply-To: <201111230433.10436.Lonely.RuyK@mail.ru> References: <201111220255.45190.Lonely.RuyK@mail.ru> <4ECB2931.9050304@komitex.ru> <201111230433.10436.Lonely.RuyK@mail.ru> Message-ID: <4ECC963A.6010808@komitex.ru> 23.11.2011 04:33, LonelyRuyK пишет: > Разобрался в чём проблема. > Не выставлял руками задержку, в результате в структуре стояли большие > значения, из-за чего вывод данных на динамики происходил только после > snd_pcm_drain. Имелся в виду видимо большой размер буферов? Пока буфер не накапливался, звук не выводился. -- Г.А. From Lonely.RuyK на mail.ru Wed Nov 23 22:39:07 2011 From: Lonely.RuyK на mail.ru (LonelyRuyK) Date: Wed, 23 Nov 2011 21:39:07 +0300 Subject: [P&AM Lab] ALSA API In-Reply-To: <4ECC963A.6010808@komitex.ru> References: <201111220255.45190.Lonely.RuyK@mail.ru> <201111230433.10436.Lonely.RuyK@mail.ru> <4ECC963A.6010808@komitex.ru> Message-ID: <201111232139.07927.Lonely.RuyK@mail.ru> Скорее всего да. Я не нашёл ничего лучше чем просто воспользоваться более высокоуровневой функцией snd_pcm_set_params в которой устанавливаются все необходимые параметры, включая latency. From Lonely.RuyK на mail.ru Wed Nov 23 23:50:25 2011 From: Lonely.RuyK на mail.ru (LonelyRuyK) Date: Wed, 23 Nov 2011 22:50:25 +0300 Subject: [P&AM Lab] Pitch_Shift Message-ID: <201111232250.25963.Lonely.RuyK@mail.ru> Доделал до более-менее рабочего состояния программку для изменения частоты речи на +-1 октаву. Может кому-нибудь интересно поковырять будет(для того чтобы скомпилировать программульку понадобится библиотека ALSA). Буду рад услышать пожелания/предложения/критику :) ----------- следущая часть ----------- A non-text attachment was scrubbed... Name: pitch_shift_prg.tar.gz Type: application/x-compressed-tar Size: 3167 bytes Desc: отсутствует URL: