Hallo, ich bin dabei ein kleines Tool für mich zu schreiben das einiges an MIDI Signalen auswertet und weiter verarbeitet.
Dazu hab ich mir die Bass.dll genommen, das MIDI Zeug funktioniert auch alles recht gut, heißt auch das die Bass.dll sauber arbeitet und eingebunden ist.
Mein Werkzeug VB Express 2010
Als nächstes benötige ich einen BPM Counter der Live aus dem Signal vom LineIn bzw Mic die BPM ermittelt.
Damit steh ich völlig im dunkeln.
Erste Gehversuche hab ich anhand von Beispielen hier aus dem Forum gemacht, indem ich einfach erstmal ein MP3 abspiele.
Das Abspielen funktioniert ohne Probleme auch das Anzeigen von Pegeln geht, nur an BPM nicht zu denken.
Ich wollte dieses Beispiel aus der Bass-Doku nehmen, ohne Erfolg, ich versteh ganicht was ich da tun soll.
bass.radio42.com/help/html/bf4…f4f-b13b-da17f10a7a54.htm
Wenn ich erhlich bin hab ich keinen Plan wie ich das Beispiel nutzen soll, daher die Frage an euch, hat jemand schonmal was mit der BPM Sache gemacht und kann erklären wie es geht?
Oder hat jemand einen anderen Weg wie ich an die BPM komme?
Erstmal egal ob nun vom LineIn oder von einem MP3 welches abgespielt wird, mir gehts erstmal rein um die BPM Funktion.
Danke für die Hilfe
Kollimann
Dazu hab ich mir die Bass.dll genommen, das MIDI Zeug funktioniert auch alles recht gut, heißt auch das die Bass.dll sauber arbeitet und eingebunden ist.
Mein Werkzeug VB Express 2010
Als nächstes benötige ich einen BPM Counter der Live aus dem Signal vom LineIn bzw Mic die BPM ermittelt.
Damit steh ich völlig im dunkeln.
Erste Gehversuche hab ich anhand von Beispielen hier aus dem Forum gemacht, indem ich einfach erstmal ein MP3 abspiele.
Das Abspielen funktioniert ohne Probleme auch das Anzeigen von Pegeln geht, nur an BPM nicht zu denken.
Ich wollte dieses Beispiel aus der Bass-Doku nehmen, ohne Erfolg, ich versteh ganicht was ich da tun soll.
bass.radio42.com/help/html/bf4…f4f-b13b-da17f10a7a54.htm
VB.NET-Quellcode
- Private _stream As Integer
- ' create a BPMCounter instance, the timer will be fired every 20ms
- Private _bpm As New BPMCounter(20, 44100)
- ...
- ' create a stream
- _stream = Bass.BASS_StreamCreateFile(_fileName, 0, 0, BASSFlag.BASS_DEFAULT)
- ' get the samplerate of that stream
- Dim info As New BASS_CHANNELINFO()
- Bass.BASS_ChannelGetInfo(_stream, info)
- ' and start playing the and also start the BPM counter
- If _stream <> 0 AndAlso Bass.BASS_ChannelPlay(_stream, False) Then
- 'playing...
- _bpm.Reset(info.freq)
- ' start our bpm timer callback
- Me.timerBPM.Start()
- End If
- Private Sub timerBPM_Tick(sender As Object, e As System.EventArgs)
- If _stream = 0 OrElse Bass.BASS_ChannelIsActive(_stream) <> BASSActive.BASS_ACTIVE_PLAYING Then
- Me.timerBPM.Stop()
- Return
- End If
- Dim beat As Boolean = _bpm.ProcessAudio(_stream, True)
- If beat Then
- ' display the live calculated BPM value
- Me.labelBPM.Text = _bpm.BPM.ToString("#00.0")
- End If
- End Sub
Wenn ich erhlich bin hab ich keinen Plan wie ich das Beispiel nutzen soll, daher die Frage an euch, hat jemand schonmal was mit der BPM Sache gemacht und kann erklären wie es geht?
Oder hat jemand einen anderen Weg wie ich an die BPM komme?
Erstmal egal ob nun vom LineIn oder von einem MP3 welches abgespielt wird, mir gehts erstmal rein um die BPM Funktion.
Danke für die Hilfe
Kollimann