Sound/Ton im Borland C++ erzeugen???
-
danke!! kenn mich leider nocht nicht so gut aus!! Was ist fmode?
mfg,
martin
-
mpgo13 schrieb:
Was ist fmode?
link klicken und about lesen.
-
hallo!
vielen dank, aber gehts nicht auch ohne fmode?? Weil ich habe gesehen dass jemand dieses Programm das ich machen will scho gemacht hat!! Mit dem Borland C++!!! Und genau dass will ich auch machen!!!
mfg,
martin
-
#include <stdio.h> #include <windows.h> #include <math.h> #include <iostream.h> #define M_PI 3.411592654 void main(void) { // Die Wavedatei char ID[4]; int ChunkSize; char Format[4]; char Subchunk1ID[4]; int Subchunk1Size; WORD AudioFormat; WORD NumChannels; int SampleRate; int ByteRate; WORD BlockAlign; WORD BitsPerSample; char Subchunk2ID[4]; int Subchunk2Size; short Data[36000]; /// Variablen mit Daten fuellen ID[0] = 'R'; ID[1] = 'I'; ID[2] = 'F'; ID[3] = 'F'; ChunkSize = 36 /*groeße des wave headers*/ + 36000*2/*sampledaten*/; Format[0] = 'W'; Format[1] = 'A'; Format[2] = 'V'; Format[3] = 'E'; Subchunk1ID[0] = 'f'; Subchunk1ID[1] = 'm'; Subchunk1ID[2] = 't'; Subchunk1ID[3] = ' '; Subchunk1Size = 16; AudioFormat = 1; // PCM NumChannels = 1; // MONO SampleRate = 44100; ByteRate = 44100*2; BlockAlign = 2; BitsPerSample = 16; Subchunk2ID[0] = 'd'; Subchunk2ID[1] = 'a'; Subchunk2ID[2] = 't'; Subchunk2ID[3] = 'a'; Subchunk2Size = 36000*2; for(int x = 0; x<36000; x++) { Data[x] = sin((x/180.0f*M_PI)*4) *10000; } // WaveDatei speichern FILE *file = NULL; file = fopen("sine.wav", "wb"); fwrite(&ID, 4*sizeof(char), 1, file); fwrite(&ChunkSize, sizeof(int), 1, file); fwrite(&Format, 4*sizeof(char), 1, file); fwrite(&Subchunk1ID, 4*sizeof(char), 1, file); fwrite(&Subchunk1Size, sizeof(int), 1, file); fwrite(&AudioFormat, sizeof(AudioFormat), 1, file); fwrite(&NumChannels, sizeof(NumChannels), 1, file); fwrite(&SampleRate, sizeof(int), 1, file); fwrite(&ByteRate, sizeof(int), 1, file); fwrite(&BlockAlign, sizeof(WORD), 1, file); fwrite(&BitsPerSample, sizeof(WORD), 1, file); fwrite(&Subchunk2ID, 4*sizeof(char), 1, file); fwrite(&Subchunk2Size, sizeof(int), 1, file); fwrite(&Data, 2*36000, 1, file); fclose(file); }
wenn du wissen willst was sich dahinter verbirgt:
http://www.games-net.de/files/wettbewerb_2004_audio_programmierung.zip
-
hi,
#define M_PI 3.411592654
41 = 14
nur, um alle Klarheiten zu beseitigen.
mfG Eisflamme
-
cout << '\a';
-
hallo!!
das weiss ich bereits schon das man mit der Escape funktion \a einen Beep ton herstelle!! Aber ich will ja schließlich Klavierspielen und nicht nur mit einen Ton herumklempern!!!
mfg,
martin
-
#include <windows.h>
Beep(frequenz,länge);
-
hallo!
vielen dank!! aber ich arbeite mit dem Borland C++!! Möchte nur mit dem compiler das Programm schreiben!!!
mfg,
martin
-
es ist völlig egal, mit welchem compiler du das programm erstellst, fakt ist, dass töne nicht zum standard gehören. Deshalb wirst du irgendetwas wie fmod oder auch windows.h benutzen müssen.
geloeschtPS: ein ausrufezeichen genügt