Сергей, Большое Вам спасибо за теорию (статьи) и реализацию
(исходный код и готовый набор инструментов).
Для меня это хорошая отправная точка
начать програмировать звуковые эффекты ЦОС.
Может быть Вы посоветуете новичку что-нибудь по этим вопросам:
Ввод-вывод цифровых данных стерео файла несжатого формата WAV или AU?
Преобразование цифровых отсчетов (16 бит short) сигналов левого и правого каналов
в double с использованием комплексного типа данных dsplib:
Re-один канал (например, левый), Im- другой канал (правый)?
Или проще и правильнее записать отсчеты в два отдельных массива?
Или представить отсчеты в виде одной матрицы вещетвенных сигналов ?
Обработка цифровых данных стерео файла.
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Обработка цифровых данных стерео файла.
Спасибо за теплые слова.
ввод вывод файлов делается на уровне операционной системы. посмотрите пример для Windows
Преобразование каналов в комплексный тип можно по разному хоть RE = правый IM = левый, хоть RE = левый IM = правый. С точки зрения обработки это не важно. Это важно если потом эти каналы идут на модулятор, но там надо уже договориться вам самому кто RE кто IM.
ввод вывод файлов делается на уровне операционной системы. посмотрите пример для Windows
Преобразование каналов в комплексный тип можно по разному хоть RE = правый IM = левый, хоть RE = левый IM = правый. С точки зрения обработки это не важно. Это важно если потом эти каналы идут на модулятор, но там надо уже договориться вам самому кто RE кто IM.
По сути можно и так и так. Но большинство пакетов такие как BLAS LAPACK FFTW3 используют формат Re Im Re Im (тот что у меня в библиотеке реализован). Кстати в wav файле они также лежат Правый Левый Правый Левый. Но ничто не мешает вам сделать два массива если это для вас более предпочтительно.Или проще и правильнее записать отсчеты в два отдельных массива?
Или представить отсчеты в виде одной матрицы вещетвенных сигналов ?
Re: Обработка цифровых данных стерео файла.
Спасибо за ссылку на пример для Windows.
Кстати в wav файле отсчеты лежат так: Левый Правый Левый Правый.
Но хотелось бы реализовать функции ввод-вывода независимыми от ОС
и нет необходимости в полной реализации чрезмерной универсальности
контейнера- wav.
Все современные стандартные ЦАПы двухканальные, 16-битные,
с тактовой частотой 48 кГЦ, т.е. для стерео можно считать это практическим стандартом
и при воспроизведении файлов (2*16 бит, Fd=48000 Гц)
внутренний resemler ОС использоваться не будет, и при необходимости,
можно будет на слух оценивать качество реализации интерполятора, дециматора
и любых других звуковых эффектов.
Наверное, для моей цели лучше использовать файлы .au,
формат которых более простой:
заголовок короче и содержит смещение от начала файла к цифровым
данным сигнала.
Я новичок в программировании, а учиться лучше у профессионалов,
и я обратил внимание на исходный код библиотечных функций
ввода-вывода dsplib, и обнаружил отсутствие в библиотеке
файла с исходным текстом dspl.h .
Или я что-то не понимаю, или полного исходного текста библиотека
не содержит?
Кстати в wav файле отсчеты лежат так: Левый Правый Левый Правый.
Но хотелось бы реализовать функции ввод-вывода независимыми от ОС
и нет необходимости в полной реализации чрезмерной универсальности
контейнера- wav.
Все современные стандартные ЦАПы двухканальные, 16-битные,
с тактовой частотой 48 кГЦ, т.е. для стерео можно считать это практическим стандартом
и при воспроизведении файлов (2*16 бит, Fd=48000 Гц)
внутренний resemler ОС использоваться не будет, и при необходимости,
можно будет на слух оценивать качество реализации интерполятора, дециматора
и любых других звуковых эффектов.
Наверное, для моей цели лучше использовать файлы .au,
формат которых более простой:
заголовок короче и содержит смещение от начала файла к цифровым
данным сигнала.
Я новичок в программировании, а учиться лучше у профессионалов,
и я обратил внимание на исходный код библиотечных функций
ввода-вывода dsplib, и обнаружил отсутствие в библиотеке
файла с исходным текстом dspl.h .
Или я что-то не понимаю, или полного исходного текста библиотека
не содержит?
- Бахурин Сергей
- Администратор
- Сообщения: 1119
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Обработка цифровых данных стерео файла.
Если вам достаточно сохранить данные в аудио файл, то это не зависит от системы и вам нужно правильно сформировать данные и файл. Если нужно вывести звук через звуковую карту, то придётся для кроссплатформенности отдельно описывать для каждой ос взаимодействие с драйвером. Думаю что существуют готовые библиотеки которые умеют это делать.
dspl.h dspl.c лежат в папке include
dspl.h dspl.c лежат в папке include
Re: Обработка цифровых данных стерео файла.
Большое Вам спасибо за быстрые ответы и простите мою невнимательность
и недостаточный опыт. Буду изучать код библиотеки.
Мне нужно получить данные из аудио файла, сформировать их
для использования библиотеки, обработать данные и вывести в новый аудио файл.
Зачем мне это?
Я слушаю музыку в наушниках и понимаю, что стерео для громкоговорителей
должно быть преобразовано (адаптировано) для наушников, например, если
для стерео нормально, что звук излучается только одним громкоговорителем
(сохраняется пространственность и наш слух определяет расстояние до источника),
то в наушниках этого не происходит и такой звук очевидно требует редактирования.
Для воспроизведения звука в наушниках использую звуковой редактор,
применяя цепочки различных эффектов.
Возможности редактора для меня давно исчерпаны и я понимаю, что dsplib мало
что прибавит к ним, а по удобству использования в целом сильно проиграет,
но для обработки сигнала во временной области (прежде всего свертка сигнала с ИХ)
может и выиграть.
К сожалению, мне приходится осваивать новую для меня область - технологию
программирования без знания английского (Гугл-мне в помощь), в возрасте
(зато на пенсии есть свободное время) и для меня большая ценность -
Ваш сайт и возможность общения на русском языке.
Еще раз благодарю Вас за вашу огромную работу и вашу снисходительость.
и недостаточный опыт. Буду изучать код библиотеки.
Мне нужно получить данные из аудио файла, сформировать их
для использования библиотеки, обработать данные и вывести в новый аудио файл.
Зачем мне это?
Я слушаю музыку в наушниках и понимаю, что стерео для громкоговорителей
должно быть преобразовано (адаптировано) для наушников, например, если
для стерео нормально, что звук излучается только одним громкоговорителем
(сохраняется пространственность и наш слух определяет расстояние до источника),
то в наушниках этого не происходит и такой звук очевидно требует редактирования.
Для воспроизведения звука в наушниках использую звуковой редактор,
применяя цепочки различных эффектов.
Возможности редактора для меня давно исчерпаны и я понимаю, что dsplib мало
что прибавит к ним, а по удобству использования в целом сильно проиграет,
но для обработки сигнала во временной области (прежде всего свертка сигнала с ИХ)
может и выиграть.
К сожалению, мне приходится осваивать новую для меня область - технологию
программирования без знания английского (Гугл-мне в помощь), в возрасте
(зато на пенсии есть свободное время) и для меня большая ценность -
Ваш сайт и возможность общения на русском языке.
Еще раз благодарю Вас за вашу огромную работу и вашу снисходительость.