opensmile
opensmile copied to clipboard
plotchroma.sh
I run this command sh plotchroma.sh ../../chroma.csv to plot but I received this error : "Starting gnuplot, type 'quit' to exit the gnuplot prompt! "plotmatrix_chroma.gp", line 11: Scan size of matrix is zero"
Could you please help me?
@javad329 facing the same issue
@javad329 , @vivek-sethia , did you solve the problem?
I have this issue as well. It looks like the guide might not be updated for the latest version of openSMILE? I say this because, for example, the guide still refers to a "wav_samples" folder, which hasn't existed in the package for several versions already.
@manestay i think problem is in plotmatrix_chroma.gp file. Which OS do you use? i'm using windows 7....and installed bash shell for Win7....Maybe that could be problem?! Maybe Linux will work properly....
@manestay i resolved it. in plotmatrix_chroma.gp file, you need to change name of '.tmp.plot.dat' to 'chroma.csv'. But now, what i get is blank chromagram :/
Encountered the same error just now. This is what I have found so far, and it would be great if someone else can verify and continue on.
(1) Apparently plotchroma.sh is calling the Perl script transpose.pl to generate a space-separated version of the input CSV file (chroma.csv in this case) so that the gnuplot function can interpret it correctly. The problem is that transpose.pl is not doing its job. The file it outputs contains nothing. (2) As a simple workaround, I just replaced the delimiter in chroma.csv with spaces, and for now saved it to chroma_space.csv. (3) Since I now have the supposedly output of transpose.pl, I opened plotmatrix_chroma.gp and changed all references to ".tmp.plot.dat" to "chroma_space.csv", as suggested in the script and in this forum. (Although this might not be needed if transpose.pl is working correctly in the first place. I just used a different filename.) (4) I then ran "gnuplot -persist plotmatrix_chroma.gp" on the command line, and now I have what looks like a chromagram of my speech file (I used my own audio file)
Things to do: (1) Fix transpose.pl * Based from what I found out, the script is not running the last nested for loop, which is supposed to change the delimiter in the input CSV file. This must be inspected and then fixed (2) Verify if the plot is correct (Is it the correct chromagram?). But what is the algorithm that openSMILE uses? (Haven't read much into the documentation though, will check.)
I fixed the error with transpose.pl
file.
Change the line with the split statement in the while loop like this:
originally:
split(/;/);
new:
@_ = split(/;/);