Record pitch, amplitude and duration
This commit is contained in:
parent
fe14443be3
commit
8001d09b57
@ -50,11 +50,19 @@ var toScreenY = 0;
|
||||
// All shapes generated
|
||||
var shapes = [];
|
||||
|
||||
// Sound properties
|
||||
var amplitude;
|
||||
var duration;
|
||||
var fft;
|
||||
var pitch;
|
||||
|
||||
function record() {
|
||||
/**
|
||||
* Start recording a sound.
|
||||
**/
|
||||
if (microphone.enabled) {
|
||||
fft = new p5.FFT();
|
||||
fft.setInput(recorder);
|
||||
setTimeout(recorder.record(recording), recordingTimeout);
|
||||
}
|
||||
}
|
||||
@ -68,6 +76,11 @@ function stop() {
|
||||
|
||||
// signal to the draw loop that we should generate a new shape
|
||||
newSoundJustRecorded = true;
|
||||
|
||||
// store sound properties from recording
|
||||
pitch = fft.analyze();
|
||||
amplitude = recording.getPeaks();
|
||||
duration = recording.duration();
|
||||
}
|
||||
}
|
||||
|
||||
@ -131,27 +144,6 @@ function setupRecording() {
|
||||
archiveButton.mousePressed(archive);
|
||||
}
|
||||
|
||||
function getSoundInfo() {
|
||||
/**
|
||||
* Retrieve sound information like pitch, amplitude, duration, etc.
|
||||
**/
|
||||
amplitude = recording.getPeaks();
|
||||
duration = recording.duration();
|
||||
|
||||
// pitch (frequency?) I think we can use fft.analyze() and then find the
|
||||
// highest value (0 -> 1024) that has a non-zero value this gives us the
|
||||
// highest frequency from the recording
|
||||
// https://p5js.org/reference/#/p5.FFT
|
||||
// https://p5js.org/reference/#/p5.FFT/analyze
|
||||
|
||||
// nuance?
|
||||
// "I meant the amount of variation in the voice - i.e is it one single
|
||||
// monotone note or does it go up and down octaves or start soft and high and
|
||||
// become deep and guttural etc."
|
||||
//
|
||||
// How do to do this? Unsure ...
|
||||
}
|
||||
|
||||
class GeneratedShape {
|
||||
constructor() {
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user