wenn wir soweit sind, können wir probeweise dieses Veränderte Array einmal abspielen und horchen, wie es klingt...
dann gehts weiter...
(ich habe schon eine Idee)
kleine Optimierung für analyse():
Code:
void analyse(int32_t *waveBuffer)
{
int32_t maximum = waveBuffer[0];
int32_t minimum = waveBuffer[0];
int32_t maxpos, minpos;
uint32_t i; // falls man mal aus Versehen 1 zu weit zählt...
for(i=0; i<SHRT_MAX; ++i) {
if(waveBuffer[i] > maximum) {
maximum = waveBuffer[i];
maxpos = i ; // genaue Zellen-Nummer
}
if(waveBuffer[i] < minimum) {
minimum = waveBuffer[i];
minpos = i ;
}
}
}
heute abend kann ich selber nicht am Raspi programmieren, du könntest mir aber mal deinen input als zipfile hochladen, dann kann ich morgen mal dran arbeiten.
- - - Aktualisiert - - -
Schneiden wir dann nicht auch diese Teile aus dem Wort raus?
was sind das für Teile, die du meinst ?
und wofür braucht du noch wave und diese Zeilen...?
wave = (uint8_t *) malloc(SHRT_MAX+1);
wave[i] = input[i] & 0x00ff;;
Lesezeichen