Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
2 / 2 / 1
Регистрация: 09.05.2011
Сообщений: 13
1

Редактирование wav файлов

27.05.2012, 15:48. Показов 3205. Ответов 3
Метки нет (Все метки)

Добрый день, друзья. Подскажите, кто сможет, как в С++ именно в консольном приложении редактировать аудио файлы? В большом и широком интернете я пока только нашел, как воспроизводить... подскажите пару способов на счет добавления эха и реверберации. Или ссылку на хорошую статью, где об этом подробно может быть расписано. Спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2012, 15:48
Ответы с готовыми решениями:

Микширование файлов wav
Нужна помощь, нужно написать микшер, чтобы воспроизводилось два файла в формате wav. возможно...

Считывание заголовка wav файлов
Есть код: #include <stdio.h> #include <tchar.h> #include <conio.h> #include <math.h> //...

Извлечение WAV - файлов из ресурсов и их использование
Добрый день! Сразу скажу, что тема относится к OpenAL, но подобного раздела на форуме (или хотя бы...

Паузы между проигрыванием wav файлов
Добрый день ,есть загвоздка с воспроизведением звуковых файлов ,воспроизводя поочередно их...

3
390 / 282 / 53
Регистрация: 26.12.2009
Сообщений: 875
27.05.2012, 17:09 2
смотрите в сторону fmod и OpenAL
0
2 / 2 / 1
Регистрация: 09.05.2011
Сообщений: 13
28.05.2012, 15:57  [ТС] 3
Да хотелось бы обойтись без подключения сторонних библиотек... я в принципе нашел примеры реализации, но соль в том, что там считывается все, кроме значения амплитуд, которые мне так нужны. Считывается RIFF, fmt, а data нет. Подскажите, как правильно дополнить структуру и считать звуковые данные?


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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
struct WAVHEADER
{
    // WAV-формат начинается с RIFF-заголовка:
 
    // Содержит символы "RIFF" в ASCII кодировке
    // (0x52494646 в big-endian представлении)
    char chunkId[4];
 
    // 36 + subchunk2Size, или более точно:
    // 4 + (8 + subchunk1Size) + (8 + subchunk2Size)
    // Это оставшийся размер цепочки, начиная с этой позиции.
    // Иначе говоря, это размер файла - 8, то есть,
    // исключены поля chunkId и chunkSize.
    unsigned long chunkSize;
 
    // Содержит символы "WAVE"
    // (0x57415645 в big-endian представлении)
    char format[4];
 
    // Формат "WAVE" состоит из двух подцепочек: "fmt " и "data":
    // Подцепочка "fmt " описывает формат звуковых данных:
    
    // Содержит символы "fmt "
    // (0x666d7420 в big-endian представлении)
    char subchunk1Id[4];
 
    // 16 для формата PCM.
    // Это оставшийся размер подцепочки, начиная с этой позиции.
    unsigned long subchunk1Size;
 
    // Аудио формат, полный список можно получить здесь [url]http://audiocoding.ru/wav_formats.txt[/url]
    // Для PCM = 1 (то есть, Линейное квантование).
    // Значения, отличающиеся от 1, обозначают некоторый формат сжатия.
    unsigned short audioFormat;
 
    // Количество каналов. Моно = 1, Стерео = 2 и т.д.
    unsigned short numChannels;
 
    // Частота дискретизации. 8000 Гц, 44100 Гц и т.д.
    unsigned long sampleRate;
 
    // sampleRate * numChannels * bitsPerSample/8
    unsigned long byteRate;
 
    // numChannels * bitsPerSample/8
    // Количество байт для одного сэмпла, включая все каналы.
    unsigned short blockAlign;
 
    // Так называемая "глубиная" или точность звучания. 8 бит, 16 бит и т.д.
    unsigned short bitsPerSample;
 
    // Подцепочка "data" содержит аудио-данные и их размер.
 
    // Содержит символы "data"
    // (0x64617461 в big-endian представлении)
    char subchunk2Id[4];
 
    // numSamples * numChannels * bitsPerSample/8
    // Количество байт в области данных.
    unsigned long subchunk2Size;
 
    // Далее должны следуовать Wav данные.
//что делал я
/*
//DATAchank
char DataID[4];
    //размер куска данных надо понимать...
    
unsigned long sizechank2;
 
int* p;//массив указателей на значения амплитуд
 
*/
};
Добавлено через 4 часа 12 минут
мне потребовалось пол дня, чтобы понять, что я идиот
0
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 5
24.06.2017, 10:27 4
скинь что получилось то
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2017, 10:27

Фоновая программа для проигрывания wav-файлов
Всем привет;))) Решил тут запилить совсем простенькую программку на проигрывание .wav файла, чтобы...

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

Ребята дайте код для воспроизведения файлов wav или mp3
Привет всем! Дайте код для воспроизведения mp3 или wav файла! Буду благодарен)

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru