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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 22:58   #11
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
По умолчанию

veniside спасибо за ответы

Мне надо прочитать файл, одержать массив значений из этого файла, и исполнив некоторые махинации с массивом(меняются только значения массива а не его размер) записать результат в новый wav файл. Я так полагаю что в этом случае ничего не должно изменится в файле кроме самих значений, что приведет до немного другого звучания музыки.
Voxa7 вне форума Ответить с цитированием
Старый 15.03.2011, 23:28   #12
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

да, проблем быть не должно. Скопируйте заголовок (или весь файл) в новый файл и добавляйте данные в файл (пишите поверх) с нужного места по мере обработки.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 16.03.2011, 00:52   #13
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
По умолчанию

veniside Вы мне очень помогли, я очень благодарен!!!

Ещё одни вопрос: если домножыть все данные в файле на некий коэффициент менше нуля, то в исходном файле музыка будет играть тише, а если этот коэффициент больше нуля, то звук увеличится???
Voxa7 вне форума Ответить с цитированием
Старый 16.03.2011, 03:54   #14
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Нет, получится мусор.

Если данные 16-ти битные, то нужно делить (чтобы сделать тише) или умножать (чтобы стало громче) на некое число не меняя знак!

При этом важно не вылезать за диапазон. Если с делением обычно проблем нет, то после умножения надо приводить число к допустимым значениям:

PHP код:
int newSample sample gain;
if (
newSample < -32768)
  
newSample = -32768;
if (
newSample 32767)
  
newSample 32767
после этого приводите newSample к short и записываете в буфер вместо старого сэмпла.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 16.03.2011, 17:18   #15
Voxa7
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 59
По умолчанию

veniside огромное спасибо, кажется все получается, тепер осталось добавить эффекты на обработку звука ы все будет хорошо))

Возможно выложу проэкт сюда когда доделаю.
Voxa7 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WAV-файл b2soft Общие вопросы .NET 4 09.02.2011 08:02
играть сначала 1.wav потом 2.wav mma Мультимедиа в Delphi 9 23.12.2010 20:04
читание гипертекстовых файлов joker007 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 20.05.2010 04:55
Конвертация аудиофайлов WAV -> WAV namestnik Помощь студентам 2 27.05.2009 23:05
Wav-ы в *.res Altera Общие вопросы Delphi 12 22.09.2008 19:01