Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 21.11.2013
Сообщений: 26

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

31.10.2015, 01:23. Показов 3670. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, формирующую по исходному WAV файлу новый 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
#include <stdio.h>
#include <stdlib.h>
 
 
#define MAIN_H_INCLUDED
 
 
typedef struct
{
    unsigned int    bfType;
    unsigned long   bfSize;
    unsigned int    bfReserved1;
    unsigned int    bfReserved2;
    unsigned long   bfOffBits;
} BITMAinHEADER;
 
typedef struct
{
    unsigned int    biSize;
    int             biWidth;
    int             biHeight;
    unsigned short  biPlanes;
    unsigned short  biBitCount;
    unsigned int    biCompression;
    unsigned int    biSizeImage;
    int             biXPelsPerMeter;
    int             biYPelsPerMeter;
    unsigned int    biClrUsed;
    unsigned int    biClrImportant;
} BITMAPINFOHEADER;
 
typedef struct
{
    int   rgbBlue;
    int   rgbGreen;
    int   rgbRed;
    int   rgbReserved;
} RGBQUAD;
 
typedef struct
{
    float   y;
    float   cb;
    float   cr;
    int   rgbReserved;
} YCBCRQUAD;
 
 
static unsigned short read_u16(FILE *fp);
static unsigned int   read_u32(FILE *fp);
static int            read_s32(FILE *fp);
 
 
void main()
{
    int n =300;
 
    FILE * in;
    fopen_s(&in,"11.bmp", "rb");
 
 
    
    BITMAinHEADER header;
 
    header.bfType = read_u16(in);
    header.bfSize = read_u32(in);
    header.bfReserved1 = read_u16(in);
    header.bfReserved2 = read_u16(in);
    header.bfOffBits = read_u32(in);
 
    
    BITMAPINFOHEADER bmiHeader;
 
    bmiHeader.biSize = read_u32(in);
    bmiHeader.biWidth = read_s32(in);
    bmiHeader.biHeight = read_s32(in);
    bmiHeader.biPlanes = read_u16(in);
    bmiHeader.biBitCount = read_u16(in);
    bmiHeader.biCompression = read_u32(in);
    bmiHeader.biSizeImage = read_u32(in);
    bmiHeader.biXPelsPerMeter = read_s32(in);
    bmiHeader.biYPelsPerMeter = read_s32(in);
    bmiHeader.biClrUsed = read_u32(in);
    bmiHeader.biClrImportant = read_u32(in);
 
    int lastbytes = (4 - (bmiHeader.biWidth * 3) % 4) % 4;
 
    RGBQUAD **rgb = new RGBQUAD*[bmiHeader.biHeight];
    YCBCRQUAD **ycbcr = new YCBCRQUAD*[bmiHeader.biHeight];
    for (int j = 0; j < bmiHeader.biHeight; j++)
    {
        rgb[j] = new RGBQUAD[bmiHeader.biWidth];
        ycbcr[j] = new YCBCRQUAD[bmiHeader.biWidth];
    }
 
    int *lastbyte = new int[bmiHeader.biHeight*lastbytes];
 
    int index = 0;
    float max = 0*n*n;
    int coord_i = 0;
    int coord_j = 0;
 
    for (int i = 0; i < bmiHeader.biHeight; i++)
    {
        for (int j = 0; j < bmiHeader.biWidth; j++)
        {
            int t = getc(in);
            rgb[i][j].rgbBlue = t;
            t = getc(in);
            rgb[i][j].rgbGreen = t;
            t = getc(in);
            rgb[i][j].rgbRed = t;
 
            ycbcr[i][j].y = 0.299*(float)rgb[i][j].rgbRed + 0.587*(float)rgb[i][j].rgbGreen + 0.114*(float)rgb[i][j].rgbBlue;
            ycbcr[i][j].cb = -0.1687*(float)rgb[i][j].rgbRed - 0.3313*(float)rgb[i][j].rgbGreen + 0.5  *(float)rgb[i][j].rgbBlue + 128;
            ycbcr[i][j].cr = 0.5  *(float)rgb[i][j].rgbRed - 0.4187*(float)rgb[i][j].rgbGreen - 0.0813*(float)rgb[i][j].rgbBlue + 128;
        }
 
    // ïîñëåäíèé áàéò â ñòðîêå
    for (int j = 0; j < lastbytes; j++)
    {
        lastbyte[index] = getc(in);
        index++;
    }
 
    }
    
    
    for (int i = 0; i < (bmiHeader.biHeight - n); i++)
    {
        for (int j = 0; j < (bmiHeader.biWidth - n); j++)
        {
            float tmpsum = 0;
            for (int a = 0; a<n; a++)
            {
                for (int b = 0; b<n; b++)
                {
                    tmpsum = tmpsum + ycbcr[i + n - a][j + n - b].y;
                }
            }
            if (tmpsum>max)
            {
                max = tmpsum;
                coord_i = i;
                coord_j = j;
            }
 
        }
    }
 
    FILE * out;
    fopen_s(&out,"12.bmp", "wb");
    char c = 'a';
 
 
     
    lastbytes = (4 - (n * 3) % 4) % 4;
    int size = 54 + n*n + n*lastbytes;
    fwrite(&header.bfType, 2, 1, out);
    fwrite(&size, 4, 1, out);
    fwrite(&header.bfReserved1, 2, 1, out);
    fwrite(&header.bfReserved2, 2, 1, out);
    fwrite(&header.bfOffBits, 4, 1, out);
 
        
 
    fwrite(&bmiHeader.biSize, 4, 1, out);
    fwrite(&n, 4, 1, out);
    fwrite(&n, 4, 1, out);
    fwrite(&bmiHeader.biPlanes, 2, 1, out);
    fwrite(&bmiHeader.biBitCount, 2, 1, out);
    fwrite(&bmiHeader.biCompression, 4, 1, out);
    fwrite(&bmiHeader.biSizeImage, 4, 1, out);
    fwrite(&bmiHeader.biXPelsPerMeter, 4, 1, out);
    fwrite(&bmiHeader.biYPelsPerMeter, 4, 1, out);
    fwrite(&bmiHeader.biClrUsed, 4, 1, out);
    fwrite(&bmiHeader.biClrImportant, 4, 1, out);
 
    
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            fwrite(&rgb[coord_i + i][coord_j + j].rgbBlue, 1, 1, out);
            fwrite(&rgb[coord_i + i][coord_j + j].rgbGreen, 1, 1, out);
            fwrite(&rgb[coord_i + i][coord_j + j].rgbRed, 1, 1, out);
        }
 
        for (int i = 0; i < lastbytes; i++)
        {
            fwrite(&c, 1, 1, out);
        }
    }
 
    fclose(in);
    fclose(out);
}
 
 
static unsigned short read_u16(FILE *fp)
{
    unsigned char b0, b1;
 
    b0 = getc(fp);
    b1 = getc(fp);
 
    return ((b1 << 8) | b0);
}
 
 
static unsigned int read_u32(FILE *fp)
{
    unsigned char b0, b1, b2, b3;
 
    b0 = getc(fp);
    b1 = getc(fp);
    b2 = getc(fp);
    b3 = getc(fp);
 
    return ((((((b3 << 8) | b2) << 8) | b1) << 8) | b0);
}
 
 
static int read_s32(FILE *fp)
{
    unsigned char b0, b1, b2, b3;
 
    b0 = getc(fp);
    b1 = getc(fp);
    b2 = getc(fp);
    b3 = getc(fp);
 
    return ((int)(((((b3 << 8) | b2) << 8) | b1) << 8) | b0);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2015, 01:23
Ответы с готовыми решениями:

Наложение фильтров на WAV файл
Добрый вечер! Согласно заданию, надо было реализовать функцию, объединяющую два wav файла в один, путем добавления отсчетов второго в конец...

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

Запись и считывание информации в WAV-файл
Всем добрый день. Занимаюсь такой проблемой: необходимо записать в звуковой файл и считать из него определенную последовательность. При...

7
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
31.10.2015, 02:03
Цитата Сообщение от KrutoiAlik Посмотреть сообщение
открывается окно с вводом файлов, но после ввода прерывается. Почему?
Прикол в том, что какой-либо "ввод файлов" в представленном коде отсутствует.

Добавлено через 7 минут
И да, какое отношение приведенный код имеет к WAV-файлам?
Просто нечто, скопированное из предыдущей темы.
0
1 / 1 / 0
Регистрация: 21.11.2013
Сообщений: 26
31.10.2015, 02:03  [ТС]
Не тот код =_=
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <stdio.h>
#include <locale>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
 
struct WAVHEADER
{
    char chunkId[4];
 
    
    unsigned long chunkSize;
 
    
    char format[4];
 
    
    char subchunk1Id[4];
 
    
    unsigned long subchunk1Size;
 
    
    unsigned short audioFormat;
 
    
    unsigned short numChannels;
 
    
    unsigned long sampleRate;
 
    unsigned long byteRate;
 
    
    unsigned short blockAlign;
 
    
    unsigned short bitsPerSample;
 
    
    char subchunk2Id[4];
 
    
    unsigned long subchunk2Size;
 
    
};
 
static unsigned short read_u16(FILE *fp);
 
int main()
{
    setlocale(LC_ALL, "Rus");
    FILE *file;
    char fname[255];
    cout << "Íàçâàíèå ôàéëà: ";
    cin >> fname;
 
    fopen_s(&file, fname, "rb");
 
    if (file == NULL) 
    {
        exit(1);
    }
 
    WAVHEADER header;
 
    fread_s(&header, sizeof(WAVHEADER), sizeof(WAVHEADER), 1, file);
 
    int tt = header.subchunk2Size / 2;
 
    FILE * file_out;
    char fname_out[255];
    cout << "\nÍàçâàíèå èñõîäÿùåãî ôàéëà: ";
    cin >> fname_out;
    fopen_s(&file_out, fname_out, "wb");
 
    
    fwrite(&header.chunkId, 4, 1, file_out);
    fwrite(&header.chunkSize, 4, 1, file_out);
    fwrite(&header.format, 4, 1, file_out);
    fwrite(&header.subchunk1Id, 4, 1, file_out);
    fwrite(&header.subchunk1Size, 4, 1, file_out);
    fwrite(&header.audioFormat, 2, 1, file_out);
    fwrite(&header.numChannels, 2, 1, file_out);
    fwrite(&header.sampleRate, 4, 1, file_out);
    fwrite(&header.byteRate, 4, 1, file_out);
    fwrite(&header.blockAlign, 2, 1, file_out);
    fwrite(&header.bitsPerSample, 2, 1, file_out);
    fwrite(&header.subchunk2Id, 4, 1, file_out);
    fwrite(&header.subchunk2Size, 4, 1, file_out);
 
    unsigned short *simple = new unsigned short[tt];
    unsigned short *data = new unsigned short[header.subchunk2Size];
    int q = 0;
     
    for (int i = 0; i < header.subchunk2Size; i++)
    {
        //cout << simple[i] << "\n";
        data[i] = getc(file);
    }
 
    for (int i = 0; i < tt; i++)
    {
        simple[i] = (data[q+1] << 8) | data[q];
 
        if (simple[i] > 20000 && simple[i] < 32768)
        {
            data[q] = 32;
            data[q+1] = 78;
        }
 
        if (simple[i] > 32767 && simple[i] < 45535)
        {
            data[q] = 223;
            data[q+1] = 177;                
        }
 
        //cout << simple[i] << "\n";
        fwrite(&data[q], 1, 1, file_out);
        fwrite(&data[q+1], 1, 1, file_out);
        q = q + 2;
    }
 
    fclose(file);
    fclose(file_out);
    delete[] simple;
    return 0;
}
0
1 / 1 / 0
Регистрация: 21.11.2013
Сообщений: 26
31.10.2015, 21:47  [ТС]
Dev C++ жалуется на fread_s b выдает ошибку [Error] 'fread_s' was not declared in this scope.
Если заменяю fread_s на fread? то выдает больше ошибок
[Error] invalid conversion from 'int' to 'FILE* {aka _iobuf*}' [-fpermissive]
[Error] too many arguments to function 'size_t fread(void*, size_t, size_t, FILE*)'
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
//9. Написать программу, формирующую по исходному WAV файлу новый WAV файл,
//со сглаженными вершинами перегруженных(клипированных) фрагментов.
 
#include <stdio.h>
#include <locale>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
// Структура, описывающая заголовок WAV файла.
struct WAVHEADER
{
    // WAV-формат начинается с RIFF-заголовка:
    char chunkId[4];
 
    // Это размер файла - 8, то есть,
    // исключены поля chunkId и chunkSize.
    unsigned long chunkSize;
 
    // Содержит символы "WAVE"
    char format[4];
 
    // Содержит символы "fmt " - описывает формат звуковых данных
    char subchunk1Id[4];
 
    // 16 для формата PCM.
    // Это оставшийся размер подцепочки, начиная с этой позиции.
    unsigned long subchunk1Size;
 
    // Аудио формат. Для PCM = 1 (то есть, Линейное квантование).
    unsigned short audioFormat;
 
    // Количество каналов. Моно = 1, Стерео = 2 и т.д.
    unsigned short numChannels;
 
    // Частота дискретизации. 8000 Гц, 44100 Гц и т.д.
    unsigned long sampleRate;
 
    unsigned long byteRate;
 
    // Количество байт для одного сэмпла, включая все каналы.
    unsigned short blockAlign;
 
    // Так называемая "глубиная" или точность звучания. 8 бит, 16 бит и т.д.
    unsigned short bitsPerSample;
 
    // Подцепочка "data" содержит аудио-данные и их размер.
 
    // Содержит символы "data"
    char subchunk2Id[4];
 
    // Количество байт в области данных.
    unsigned long subchunk2Size;
 
    // Далее следуют непосредственно Wav данные.
};
 
static unsigned short read_u16(FILE *fp);
 
int main()
{
    setlocale(LC_ALL, "Rus");
    FILE * file;
    char fname[255];
    cout << "Название файла: ";
    cin >> fname;
 
    file = fopen(fname, "rb");
 
    if (file == NULL) // ошибка чтения файла
    {
        exit(1);
    } else  {
    } cout << "Файл не удалось открыть!";
        
 
    WAVHEADER header;
//size_t fread( void * ptrvoid, size_t size, size_t count, FILE * filestream );
    fread_s(&header, sizeof(WAVHEADER), sizeof(WAVHEADER), 1, file);
 
    int tt = header.subchunk2Size / 2;
 
    FILE * file_out;
    char fname_out[255];
    cout << "\nНазвание исходящего файла: ";
    cin >> fname_out;
    file_out = fopen( fname_out, "wb");
 
    //заголовок  файла
    fwrite(&header.chunkId, 4, 1, file_out);
    fwrite(&header.chunkSize, 4, 1, file_out);
    fwrite(&header.format, 4, 1, file_out);
    fwrite(&header.subchunk1Id, 4, 1, file_out);
    fwrite(&header.subchunk1Size, 4, 1, file_out);
    fwrite(&header.audioFormat, 2, 1, file_out);
    fwrite(&header.numChannels, 2, 1, file_out);
    fwrite(&header.sampleRate, 4, 1, file_out);
    fwrite(&header.byteRate, 4, 1, file_out);
    fwrite(&header.blockAlign, 2, 1, file_out);
    fwrite(&header.bitsPerSample, 2, 1, file_out);
    fwrite(&header.subchunk2Id, 4, 1, file_out);
    fwrite(&header.subchunk2Size, 4, 1, file_out);
 
    unsigned short *simple = new unsigned short[tt];
    unsigned short *data = new unsigned short[header.subchunk2Size];
    int q = 0;
     
    for (int i = 0; i < header.subchunk2Size; i++)
    {
        //cout << simple[i] << "\n";
        data[i] = getc(file);
    }
 
    for (int i = 0; i < tt; i++)
    {
        simple[i] = (data[q+1] << 8) | data[q];
 
        if (simple[i] > 20000 && simple[i] < 32768)
        {
            data[q] = 32;
            data[q+1] = 78;
        }
 
        if (simple[i] > 32767 && simple[i] < 45535)
        {
            data[q] = 223;
            data[q+1] = 177;                
        }
 
        //cout << simple[i] << "\n";
        fwrite(&data[q], 1, 1, file_out);
        fwrite(&data[q+1], 1, 1, file_out);
        q = q + 2;
    }
 
    fclose(file);
    fclose(file_out);
    delete[] simple;
    return 0;
}
Добавлено через 18 минут
С этим разобрался, но при вводе WAV файла выдает что файла нет. Что не так?
Добавил условие, что если файла нет программа закрывается.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
31.10.2015, 21:53
Цитата Сообщение от KrutoiAlik Посмотреть сообщение
[Error] 'fread_s' was not declared in this scope.
Все функции с суффиксом _s - это фича от Майкрософт, так что в других компиляторах оно скорее всего работать не будет.
Цитата Сообщение от KrutoiAlik Посмотреть сообщение
Добавил условие, что если файла нет программа закрывается.
Это условие ты написал криво, перепроверь.
0
1 / 1 / 0
Регистрация: 21.11.2013
Сообщений: 26
31.10.2015, 21:55  [ТС]
У меня два компилятора: Dev C++ и MS VC++
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
int main()
{
    setlocale(LC_ALL, "Rus");
    FILE * file;
    char fname[255];
    cout << "Название файла: \n";
    cin >> fname;
 
    file = fopen(fname, "rb");
 
    if (file == NULL) // ошибка чтения файла
    {
        exit(1);
    } else  {
    } cout << "Файл не удалось открыть!\n";
    system("pause");
    return 0;
        
 
    WAVHEADER header;
//size_t fread( void * ptrvoid, size_t size, size_t count, FILE * filestream );
    fread_s(&header, sizeof(WAVHEADER), sizeof(WAVHEADER), 1, file);
 
    int tt = header.subchunk2Size / 2;
 
    FILE * file_out;
    char fname_out[255];
    cout << "\nНазвание исходящего файла: \n";
    cin >> fname_out;
    file_out = fopen( fname_out, "wb");
    file = fopen(fname, "rb");
 
    if (file_out == NULL) // ошибка чтения файла
    {
        exit(1);
    } else  {
    } cout << "Файл не удалось открыть!\n";
    system("pause");
    return 0;
0
1 / 1 / 0
Регистрация: 21.11.2013
Сообщений: 26
01.11.2015, 23:04  [ТС]
И все же, почему у меня не находит файлы?
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
01.11.2015, 23:27
Цитата Сообщение от KrutoiAlik Посмотреть сообщение
И все же, почему у меня не находит файлы?
1. Либо ты неверно делаешь проверку открыт ли файл.
2. Файл находится не по тому пути, что ты указал.
3. Если ты уверен, что ошибка в чем-то другом, то попробуй вывести строку с ошибкой через strerror(errno).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2015, 23:27
Помогаю со студенческими работами здесь

Наложение звукового эффекта на wav файл
Надо на звуковой файл в формате waw, наложить звуковой эффект, может кто проконсультировать

Как побайтово считать Wav файл?
Так, чтобы у я мог с ним работать, а потом опять выгрузить его как wav файл?

Запись звука в массив и в файл wav
Здравствуйте! Такой вопрос. Вот мне нужно записать звук по нажатию кнопки (пусть будет пробела) и занести записанное в массив по формату...

Как написать простой конвертер из wav в mp3
Здравствуйте! Ребят, я в С++ прохо эрудирован, но мне нужено написать простенький конвертер из wav в mp3. Подскажите с чего начать и как...

Собрать Wav файл при попарном считывании
Здравствуйте, на вход мне подаётся Raw файл попарно считываю с него по 16 бит, и пытаюсь сформировать из них стерео wav файл(16 бит в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru