opensmile icon indicating copy to clipboard operation
opensmile copied to clipboard

plotchroma.sh

Open ArshamSol opened this issue 6 years ago • 7 comments

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?

ArshamSol avatar Dec 10 '17 14:12 ArshamSol

@javad329 facing the same issue

vivek-sethia avatar Apr 08 '18 13:04 vivek-sethia

@javad329 , @vivek-sethia , did you solve the problem?

etomic1 avatar Jun 21 '18 10:06 etomic1

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 avatar Jun 21 '18 18:06 manestay

@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....

etomic1 avatar Jun 22 '18 10:06 etomic1

@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 :/

etomic1 avatar Jun 22 '18 12:06 etomic1

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)

gnuplot4chroma_space

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.)

mgarbayona avatar Oct 16 '18 04:10 mgarbayona

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(/;/);

shahhaard47 avatar Feb 23 '19 00:02 shahhaard47