С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Alexan4ez
2 / 2 / 1
Регистрация: 09.05.2011
Сообщений: 13
#1

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

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

Добрый день, друзья. Подскажите, кто сможет, как в С++ именно в консольном приложении редактировать аудио файлы? В большом и широком интернете я пока только нашел, как воспроизводить... подскажите пару способов на счет добавления эха и реверберации. Или ссылку на хорошую статью, где об этом подробно может быть расписано. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2012, 15:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Редактирование wav файлов (C++):

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

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

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

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

Редактирование файлов - C++
Надо спомощю структур и файлов реализовать функцию редактирование елемента файла. ввести имя елемента а потом переписать его имя и другие...

редактирование файлов - C++
покажите пожалуйста хотя бы пример программы, которая редактирует строчки в текстовом файле, не затерая приведущие, а просто редактирует.

3
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
27.05.2012, 17:09 #2
смотрите в сторону fmod и OpenAL
0
Alexan4ez
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
24.06.2017, 10:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2017, 10:27
Привет! Вот еще темы с ответами:

Редактирование файлов - C++
Здравствуйте) Уж простите, что так с файлами задалбываю, но решил понять эту тему хорошенько) Сейчас хочу задать чисто теоретический...

Редактирование .mp3 файлов - C++
Написать программу для редактирования ID3v 1-тегов mp3-файлов ...

Чтение и редактирование файлов .cod - C++
Как можно открыть и посмотреть что в этом файле, какие данные и т.д. возможно изменить?

Подключение текстовых файлов и их редактирование - C++
При объявлении переменной типа ofstream пишет не объявленный идентификатор, использую VS ult 13, подскажите в чем может быть трабл?


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

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

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