Töne in Datei Speichern...
-
Hi,
ich hoffe das gehört nicht ins API Forum, denn dann entschuldige ich mich erstmal.Also meine Idee.
Ich Öffne eine Datei im Binärmodus, oder so, dass ich die Binärwerte '0' und '1' erhalte.
Für eine '0' erzeuge ich eine 30Hz Frequenz und für eine '1' eine 50Hz Frequenz.
Pro millisekunde soll 1 bit 'vertont' werden.Dazu müsste ich direkt in eine mp3 Datei schreiben können.
Lesen natürlich auch.Hat jemand ahnung, wie das geht? Im Notfall geht auch eine WAV Datei.
Also mit "Beep( frequ, milSec );" kann ich nen Ton erzeugen und ausgeben...
-
while( (cChar = fgetc(pfile)) != EOF ) { uiTemp = (short) cChar; for(uiCount = 0; uiCount < 8; uiCount++) { uiResult = uiTemp & 0x1; if(uiResult) Beep( 50, 1 ); else Beep( 30, 1 ); uiTemp = uiTemp >> 1; } }
So vielleicht? :xmas1:
Zeh Mau
-
Um eine MP3-Datei zu erzeugen, solltest du auf vorhandene Libraries zurückgreifen (z.B. das kostenlose LAME).
Und bei WAV-Dateien müßtest du nur einen Header voranstellen (meistens wird PCM als Datenformat benutzt).Edit:
Bzgl. der Bitrate weiß ich nicht, inwie weit man das nach unten drücken kann (du willst ja anscheinend nur 1 kbit/sec haben - normal sind ja 96, 128, 160, 192 oder höher).
Du müßtest ansonsten einfach den Ton x mal in die Datei schreiben (entsprechend deiner gewählten Bitrate).
-
lippoliv schrieb:
Für eine '0' erzeuge ich eine 30Hz Frequenz und für eine '1' eine 50Hz Frequenz.
Pro millisekunde soll 1 bit 'vertont' werden.
Dazu müsste ich direkt in eine mp3 Datei schreiben können.da brauchste wohl jeweils 1 millisekunde lange samplingschnipsel dieser fiesen brummtöne und dann schreibst du die einfach hintereinander in die datei. vorher natürlich einen mp3- oder wav-header. die soundschnipselchen kannst du einmal vom PC berechnen lassen.
--> http://www.geocities.com/SiliconValley/Campus/8645/synth.html
-
Th schrieb:
(z.B. das kostenlose LAME).
ähmm, man sollte hier erwähnen, dass LAME OpenSource ist (nicht kostenlos) und LGPL-2.1 lizenziert ist, und das ist etwas ganz anders. Und das heißt:
http://lame.sourceforge.net/license.txt schrieb:
Can I use LAME in my commercial program?
Yes, you can, under the restrictions of the LGPL. The easiest
way to do this is to:1. Link to LAME as separate library (libmp3lame.a on unix or
lame_enc.dll on windows)2. Fully acknowledge that you are using LAME, and give a link
to our web site, www.mp3dev.org3. If you make modifications to LAME, you *must* release these
these modifications back to the LAME project, under the LGPL.*** IMPORTANT NOTE ***
The decoding functions provided in LAME use the mpglib decoding engine which
is under the GPL. They may not be used by any program not released under the
GPL unless you obtain such permission from the MPG123 project (www.mpg123.de).
-
Ich will so viel Daten pro sekunde schreiben wie möglich!
Einfach in die Datei schreiben... Super, dass wusste ich... Nur wie? Hat jemand ein Tutorial?
Danke für die Posts
-
Mit "kostenlos" meinte ich nur, daß man sich die Library ohne Geld bezahlen zu müssen aus dem Netz runterladen kann. Dass man sich selbstverständlich an die Lizenzen halten muß, sollte klar sein. Ich bin auch davon ausgegangen, daß es sich nur um ein privates Projekt handelt, oder?
@lippoliv: wie jetzt, welchen Ansatz möchtest du denn jetzt verwenden (WAV oder MP3)?
Und bist du nicht der gleiche 'lippoliv' wie bei
http://www.c-plusplus.net/forum/viewtopic-var-t-is-199279.html
.
Und 50MB/s sollten doch wohl reichen (das entspricht dann ja etwa 3-4 Minuten bei 128kbit/s und 42000 Hz Stereo als PCM-WAV).
Und bei MP3 mußt du halt die Funktionen der Library verwenden.
-
Das ganze ist lediglich eine Schnapsidee und ein Privates Projekt.
Vlt entwickel ich dass auch bei uns in der Firma, und selbst da ist und bleibt es ein Codesegment, was einmal erstellt-, kommentiert- wird und dann von mir probeweise benutzt wird. Das ganze geht vlt n Monat wie ich mich kenne, dann liegt das Projekt rum.Vieleicht stell ich dass auch ins Internet -falls dass nicht über die Lizens verboten ist- und biete es zum Kostenlosen Downlaod an.
Ich würde gerne mp3 nehmen, dass ist kleiner.
-
Hat keiner ein Tutorial oder wenigstens nen Namen einer Bibliothek die ich mir ansehen kann?
[edit] Oder wiei ch die DLL in c verwenden kann?
[edit2] bzw, wo bekomme ich ne vernünftige lame.h?
-
lippoliv schrieb:
Hat keiner ein Tutorial oder wenigstens nen Namen einer Bibliothek die ich mir ansehen kann?
[edit] Oder wiei ch die DLL in c verwenden kann?
[edit2] bzw, wo bekomme ich ne vernünftige lame.h?
Einfach die Posts genauer lesen
-
Steht da irgendwo, wie ich die Funktionen anwende?
Ich finde da nichts, nur die Kommandozeilenbefehle.
Kann sein das heute einfach nur übel der Scheißtag ist,
aber irgendwie find ich da nichts, würde ma behaupten ich habe 90% der Inetseite durch, bei den restelichen 10% handelt es sich um EVENTUELL übersehene Links.Die Lame.h habe ich ja schon. Bräuchte nurnoch so ein Tutorial/ne Anleitung wie ich denn jetzt die erste MP3 Datei erstelle.
Habe mir mal die header Datei angesehen, ich verstehe da einiges nicht.