Ich möchte meine Daten in einen Sound konvertieren. Meine Daten sind in einem Datenrahmen. Jede Spalte repräsentiert die relative Amplitude des Schalls bei einer bestimmten Frequenz. Jede Zeile ist ein Beispiel. Die Proben werden mit einer festen Abtastrate aufgezeichnet. Ich habe herausgefunden, wie man einen Sound mit der seewave package, aber nicht mit den spezifischen Frequenzen, die ich will.Konvertieren von Datenrahmenspalten in einen Ton
Beispiel:
library(seewave)
# some dummy data, 3 columns
set.seed(7)
df <- data.frame(f1=rnorm(600,30,5), f2=rnorm(600,40,10), 3=rnorm(600,30,10))
df[df<0] <- 0
mat <- as.matrix(df)
mat <- t(mat) +0i # istft() only works with complex numbers
sr <- 1000 # sample rate in Hz
freqs <- c(500, 2000, 10000) # desired frequencies of output sounds for each column
sound <- istft(mat,f=sr,ovlp=50,wl=256,output = "Wave") # creates a sound
listen(sound)
istft
annimmt:
"eine komplexe Matrix resultierende eines Kurzzeit-Fourier-Transformation".
Mein mat
Objekt ist offensichtlich nicht im richtigen Format, also bin ich mir nicht sicher, was die Ausgabe tatsächlich ist. Ich kann nicht herausfinden, wie man jede Spalte vom Datenframe auf die in freqs gespeicherten Frequenzen erzwingt.
Alle Ideen wären großartig.
Nizza zu fangen. Ich habe mein Problem herausgefunden und werde ein Answeer schreiben – Mark