Ich habe im ganzen Internet gesucht und kann kein Tutorial finden, wie man die SoundTouch library für Beat-Erkennung verwendet.iOS SoundTouch Framework BPM Erkennung Beispiel
(Anmerkung:... Ich habe keine C++ Erfahrung vor diesem Ich weiß C, Objective-C und Java Also habe ich einige dieser verkorkste können, aber es kompiliert)
Ich fügte hinzu, die framework mein Projekt und verwaltet die folgenden zu kompilieren:
NSString *path = [[NSBundle mainBundle] pathForResource:@"song" ofType:@"wav"];
NSData *data = [NSData dataWithContentsOfFile:path];
player =[[AVAudioPlayer alloc] initWithData:data error:NULL];
player.volume = 1.0;
player.delegate = self;
[player prepareToPlay];
[player play];
NSUInteger len = [player.data length]; // Get the length of the data
soundtouch::SAMPLETYPE sampleBuffer[len]; // Create buffer array
[player.data getBytes:sampleBuffer length:len]; // Copy the bytes into the buffer
soundtouch::BPMDetect *BPM = new soundtouch::BPMDetect(player.numberOfChannels, [[player.settings valueForKey:@"AVSampleRateKey"] longValue]); // This is working (tested)
BPM->inputSamples(sampleBuffer, len); // Send the samples to the BPM class
NSLog(@"Beats Per Minute = %f", BPM->getBpm()); // Print out the BPM - currently returns 0.00 for errors per documentation
Der inputSamples(*samples, numSamples)
Song Byteinformationen verwirrt mich.
Wie bekomme ich diese Informationen aus einer Song-Datei?
Ich versuchte mit memcpy()
, aber es scheint nicht zu funktionieren.
Wer hat irgendwelche Gedanken?
cool können Sie sagen, wie haben Sie die SoundTouch Library in das xcode-Projekt hinzugefügt? – otakuProgrammer
Sie laden einfach das Framework herunter und importieren es in Ihr Projekt. – MrHappyAsthma
ok ich habe es geschafft, es in das xcode-projekt zu integrieren, der obige code funktioniert nicht, manchmal stürzt die app ab, ich habe sowohl wav- als auch mp3-dateien ausprobiert, ich habe sogar das orig-audio-sample von der soundtouch-website benutzt, es bringt mich zum crash Problem, oder nan Ergebnis (bei der Verwendung der ursprünglichen Probe Audio) – otakuProgrammer