Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2014, 10:52   #1
dark_shining
 
Регистрация: 30.09.2009
Сообщений: 4
По умолчанию Как считать из звукового файла(.wav) 20 мс?

Здравствуйте! Подскажите пожалуйста как рассчитать, сколько байт займет 20мс в аудиофайле?
Использую FileStream, читаю файл порциями по 4 байта сначала, пропускаю все заголовки и прочую информацию, потом дохожу до области data. После этого мне нужны куски файла по 20мс для последующей обработки фильтрами и преобразованиями. Подскажите как правильно реализовать. Заранее спасибо!
dark_shining вне форума Ответить с цитированием
Старый 04.02.2014, 11:15   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
сколько байт займет 20мс в аудиофайле
Это зависит от количества бит в сэмпле.
В помощь: Структура WAV файла.

Последний раз редактировалось Streletz; 04.02.2014 в 11:25.
Streletz вне форума Ответить с цитированием
Старый 05.02.2014, 07:12   #3
dark_shining
 
Регистрация: 30.09.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Это зависит от количества бит в сэмпле.
В помощь: Структура WAV файла.
В статье написано: byteRate - Количество байт, переданных за секунду воспроизведения.

Получается если у меня передано 22050 байт за секунду, то 20мс будет:

Код:
22050 байт = 1000 мс
х          = 20 мс

441000 = 1000x

x = 441 байт
Верно?
dark_shining вне форума Ответить с цитированием
Старый 05.02.2014, 08:14   #4
dark_shining
 
Регистрация: 30.09.2009
Сообщений: 4
По умолчанию

И еще вопрос. Я начал заниматься обработкой звука совсем недавно. Объясните пожалуйста, что я должен в итоге посылать на фильтры и прочие алгоритмы обработки сигнала? Полученные байты?(что то мне подсказывает что нет) И если что то другое, то как это получить? Извините за примитивность вопроса.
dark_shining вне форума Ответить с цитированием
Старый 05.02.2014, 11:21   #5
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от dark_shining Посмотреть сообщение
В статье написано: byteRate - Количество байт, переданных за секунду воспроизведения.

Получается если у меня передано 22050 байт за секунду, то 20мс будет:

Код:
22050 байт = 1000 мс
х          = 20 мс

441000 = 1000x

x = 441 байт
Верно?
Можно проще
22050*0,02=441 байт!
Цитата:
Объясните пожалуйста, что я должен в итоге посылать на фильтры и прочие алгоритмы обработки сигнала?
Смотря что за фильтры и и алгоритмы. А, также какова их реализация.
Если речь идёт о готовых библиотеках наподобие BASS.NET, то самый лучший совет, в данном случае, смотреть документацию. Если же это самописная реализация, то ИМХО это особый разговор. Здесь подход индивидуальный в зависимости от конкретной реализации.
Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как считать заголовок из wav файла? Andrey-spb Помощь студентам 5 02.12.2011 17:25
Как сохранить сэмплы wav файла в массив? Evanation Общие вопросы .NET 0 14.01.2011 09:05
Длина звукового файла _-Re@l-_ Общие вопросы Delphi 1 18.06.2010 19:54
Считать wav-файл С++ Skido Помощь студентам 4 30.01.2009 03:06
Считать данные из *.wav Kor Мультимедиа в Delphi 0 05.10.2008 17:25