Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gotostereo
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 38
#1

Чтение Riff wav файла. Получение амплитудных значений - C++

21.09.2013, 18:09. Просмотров 653. Ответов 0
Метки нет (Все метки)

Подскажите, пытаюсь написать код для получения амплитудных значений из wav файла. Пока что удалось получить только информацию о файле.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream>
 
using namespace std;
 
// Структура, описывающая заголовок WAV файла.
struct  WAV_HEADER{
        char                RIFF[4];        // RIFF Header      Magic header
        unsigned long       ChunkSize;      // RIFF Chunk Size
        char                WAVE[4];        // WAVE Header
        char                fmt[4];         // FMT header
        unsigned long       Subchunk1Size;  // Size of the fmt chunk
        unsigned short      AudioFormat;    // Audio format 1=PCM,6=mulaw,7=alaw, 257=IBM Mu-Law, 258=IBM A-Law, 259=ADPCM
        unsigned short      NumOfChan;      // Number of channels 1=Mono 2=Sterio
        unsigned long       SamplesPerSec;  // Sampling Frequency in Hz
        unsigned long       bytesPerSec;    // bytes per second
        unsigned short      blockAlign;     // 2=16-bit mono, 4=16-bit stereo
        unsigned short      bitsPerSample;  // Number of bits per sample
        char                Subchunk2ID[4]; // "data"  string
        unsigned long       Subchunk2Size;  // Sampled data length
 
    };
 
int main()
{
 
    WAV_HEADER wavHeader;
    FILE *wavFile;
    
    int headerSize = sizeof(wavHeader), filelength = 0;
 
     wavFile = fopen ("C:\\123.wav", "rb");
     if (wavFile!=NULL)
      {
        cout << "File Open"; 
      } 
      else 
      {
         cout << "File no open"; 
      };
      
        fread(&wavHeader,headerSize,1,wavFile);
        printf("Info %d\n", wavHeader.Subchunk2Size);
      
      
    _getch();
    return 0;
}
Может кто знает, как записать в массив все амплитудные значения?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 18:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение Riff wav файла. Получение амплитудных значений (C++):

Чтение самплов из wav файла в массив - C++
Всем привет!!! Ситуация такая: Заголовок успешно читаю. Хочу получить массив с самплами. Проблема: Не понимаю как преобразовать...

Открытие wav файла и чтение его заголовка - C++
Надо открыть wav файл и прочитать заголовок его , компилиться но ничего не происходит #include &lt;stdio.h&gt; #include &lt;string.h&gt; ...

Чтение из бинарного файла значений - C++
Доброго времени суток. Есть бинарный файл. Можно из него как-нибудь считать значения по адресам? 0x77, 0x1E, 0xEB, 0x4E Просто не...

Решение уравнения. Чтение из файла значений и запись результатов в файл - C++
Здравствуйте!) Нужна программка, считывающая из файла не целые значения S11 через пробел, и подставляющая заданные значения S11 в уравнение...

Чтение 16-и битных слов из бинарника (загрузка Wav) - C++
Привет! Загружаю WAV. Данные в файле для формата звуковых данных с дискретностью 16 бит монофонического сигнала хранятся в массиве...

Написать программу, формирующую по исходному WAV файлу новый WAV файл - C++
Написать программу, формирующую по исходному WAV файлу новый WAV файл, со сглаженным вершинами перегруженных (клипированных) фрагментов....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 18:09
Привет! Вот еще темы с ответами:

Считать data из wav файла - C++
Ребят, все перелазил и не могу дойти как считать данные звукового файла. Заголовок считал. Теперь нужно считать в массив данные,...

Склеить два wav-файла - C++
/* Написать программу, формирующую из двух WAV файлов третий путем конкатенации файлов. */ #include &lt;stdio.h&gt; #include...

Неправильно считываются данные из wav-файла - C++
Всем привет! У меня проблема с получением данных из WAV файла. Почему то функция, которая написана ниже, возвращает размер блока data в 2...

Деление Wav-файла на два канала - C++
Реализовать функцию разделяющую входной wav файл на каналы (на два выходных файла) с возможностью уменьшения амплитуд любого из каналов. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru