Ein Programm für ein Laufwerk(TapeDeck) schreiben...

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Silvano87

Betreff: Ein Programm für ein Laufwerk(TapeDeck) schreiben...

BeitragDi, Feb 26, 2008 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked Mit blitzBasic Daten auf einer Audiokassette Speichern und wieder Lesen! Darüber zerbreche ich mir seit Tagen den Kopf! Eigentlich brauche ich nur ein Programm, dass erkennt, welche Frequenz in den Line-In-Port der Soundkarte(oder durch eine Audio-Datei) reinkommt und darauf reagiert! Wenn blitzBasic die zahl als Variable ausspucken würde, wäre das überhaupt kein Problem! Dazu müsste ich sowas ähnliches wie einen Equalizer Programmieren, aber ich habe keine Ahnung wie das gehen soll!
Wenn jemand eine Lösung hat, wäre das Super!

The Shark

BeitragMi, März 05, 2008 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
die bass.dll müsste das können. Abrexxes hat userlibs dazu geschrieben. Frag den mal per pn oder erkundige dich per google über die bass.dll.

Link: Das teil heisst Blitz_Bass_Studio

THE SHARK

BladeRunner

Moderator

BeitragDo, März 06, 2008 0:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich mir allerdings bedenke dass man schon für ein 40kb- Proggie aufm Cevi massig Band brauchte glaube ich nicht wirklich dass Du da viel Freude oder Erfolg mit haben wirst.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

The_Nici

BeitragDo, März 06, 2008 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt Kasetten die können mehrere hundert Gigabyte speichern, die werden häufig für Backups gebraucht. Also doch Spass damit. Wink

BladeRunner

Moderator

BeitragDo, März 06, 2008 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur dass er da von einem Audiotapedeck redet, was eine ganz andere Nummer ist.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Silvano87

BeitragDo, März 06, 2008 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
Nur dass er da von einem Audiotapedeck redet, was eine ganz andere Nummer ist.



ist wohl wahr, dennoch denke ich, dass da n bisschen speicher bei rauskommt! es gibt so viele Möglichkeiten von Tönen! Die frage ist nur: "Wie lang muss ein Tonimpuls sein damit die Soundkarte ihn realisiert!
Klar, der Speicher wird nicht gigantisch! Aber ich denke wenn ich Einen Ton/Millisekunde verarbeiten kann, komme ich auf ca. 5 MB/90Min! Ich mach das ja nicht um windows auf Audiokassette zu Installieren! Soll nur für ein paar kleine Dateien reichen! Ist mehr ein Fun-Projekt, als eine Laufwerkslösung^^ Gruß, Silvano.
 

Eisbaer

BeitragSa, März 08, 2008 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich finde die Idee ganz gut,

es hat ja nichts mit wirklicher Speicherung zu tun,
Aber dazu gibt es sehr wenig Infos im Netz.

Und als Projekt sicher lustig..
 

Silvano87

BeitragSo, März 09, 2008 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Eisbaer hat Folgendes geschrieben:
Also ich finde die Idee ganz gut,

es hat ja nichts mit wirklicher Speicherung zu tun,
Aber dazu gibt es sehr wenig Infos im Netz.

Und als Projekt sicher lustig..


Naja, wie definiert man Speicherung: Das Sichern von Bytes auf einen Datenträger.
Und genau das hab ich vor! Ich will Eine Datei byteweise auslesen, dieses Byte definiert einen Ton, der auf der Kassette via Audio aufgenommen wird! Bein "Lesen" werden während der Wiedergabe die Töne analysiert und wieder in Bytes umgewandelt... und schon hab ich wieder eine Datei !Smile
Gruß, Silvano

Arrangemonk

BeitragMo, März 10, 2008 1:30
Antworten mit Zitat
Benutzer-Profile anzeigen
du könntest versuchen nen converter zu basteln, und als mp3 speichen, und mit ner autoradiokasette auf deinen alten rechner tuhen
bei den alten spielen ging das
und die datenmenge is dann auch nicht so gross
ingeneur
 

Eisbaer

Betreff: Frequenz & Sound Erzeugen.

BeitragSo, März 16, 2008 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab mal bisschen gesucht, und was dazu Entdeckt.
Evt. nützlich für das vorhaben.. XD

(c) by skey-z

Code: [AUSKLAPPEN]
.lib "kernel32.dll"

Beep%(Freq, Duration)



Und eine Version mit der Bass.dll

(c) by D2006

Userlib:

Code: [AUSKLAPPEN]
.lib "Kernel32.dll"
RtlMoveMemory2%(Destination,Source*,Length) : "RtlMoveMemory"


und dann natürlich noch Bass.dll inc. Userlib.

Code: [AUSKLAPPEN]
Graphics 640,480,32,2
SetBuffer BackBuffer()

Include "BASS.bb"

hWnd = CallDLL("User32.dll","GetActiveWindow")
If BASS_Init(-1,44100,0,hWnd) = 0 Then
   RuntimeError "Konnte nicht initalisieren!"
   End
EndIf

BASS_Start()

ptrData = BASS_SampleCreate(128,41160,1,BASS_SAMPLE_MONO Or BASS_SAMPLE_LOOP Or BASS_SAMPLE_OVER_POS)
bnkData = CreateBank(256)
For a = 0 To 127
   PokeShort bnkData,a * 2,Cos(A) * 5000
Next
Result = RtlMoveMemory2(ptrData,bnkData,256) : DebugLog Result
FreeBank bnkData
hSample = BASS_SampleCreateDone()

Channel = BASS_SamplePlay(hSample)
WaitKey

BASS_ChannelStop(Channel)
BASS_Stop()
BASS_Free()
End



Das ganze nun als Sinus mit 40 Herz..

(c) by hectic


Code: [AUSKLAPPEN]
Graphics 1024,512,32,2
SetBuffer BackBuffer()

Include "Bass.bb"

hWnd = CallDLL("User32.dll","GetActiveWindow")
If BASS_Init(-1,44100,0,hWnd) = 0 Then
; RuntimeError "Konnte nicht initalisieren!"
; End
EndIf


BASS_Start()

hz=40 ; Hier die Frequenz angeben (nur bei art=1 genau)
art=1 ; Hier die Abspielart angeben (1-4)


length=1048576 ; Ein Megabyte Daten

BassHandle=BASS_SampleCreate(length,44100,1,BASS_SAMPLE_MONO Or BASS_SAMPLE_LOOP); Or BASS_SAMPLE_OVER_POS)
bnkData=CreateBank(length*2)

LockBuffer BackBuffer()
 For q=0 To length-1
  If art=1 y=Sin(q/44100.0*360*hz)*32767
  If art=2 yy=yy+Rand(hz/8,hz*3):y=Sin(yy/44100.0*360)*16384
  If art=3 yy=yy+Rand(1000.0*hz/(q+1),1000.0*hz/(q+1)*10):y=Sin(yy/44100.0*360)*16384
  If art=4 y=y+hz*1.45:If y>32767 y=-32767

  PokeShort bnkData,q*2,y
  WritePixel q*243000.0/length,128+y/256,-1
  WritePixel q*24300.0/length,384+y/256,-1
 Next
UnlockBuffer BackBuffer()
Text 20,20,"~erste 1/10 Sekunde"
Text 20,276,"~erste 1/1 Sekunde"
Flip


Result=RtlMoveMemory2(BassHandle,bnkData,length)

FreeBank bnkData

hSample=BASS_SampleCreateDone()
Channel=BASS_SamplePlay(hSample)
WaitKey

BASS_ChannelStop(Channel)
BASS_Stop()
BASS_Free()
End



Grüße Eisbaer

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group