IPS-LMU / EMU-webApp

The EMU-webApp is an online and offline web application for labeling, visualizing and correcting speech and derived speech data.
http://ips-lmu.github.io/EMU-webApp/
MIT License
51 stars 14 forks source link

Viewing articulatory files (SSFF converted from WAV) - resulting display in EmuWebapp #202

Closed hywel closed 7 years ago

hywel commented 7 years ago

Is it possible to change the scale of the y axis for an SSFF file (either in a template or by editing the SSFF file itself)? I have an emuBD with time-aligned articulatory data in SSFF format that was converted to WAV using wrassp (thanks @raphywink). I can access the data with no problems within R (using emuR) but if I want to quickly look at a record in the Emu Webapp I am not able to see the track with sufficient detail.

At the moment emuWebApp asks me to "Zoom in to see contours" (see attached screen shot 1), but once I zoom in, the maximum value of the y-axis is too large and does not allow me to see changes in the data (see track Uo and Un in screen-shot 2). I am hoping to be able to change the y-axis maximum or zoom in and out of the y-axis?

1-aerodynamic_corpus 2-aerodynamic_corpus_zoomed

raphywink commented 7 years ago

My/Our current strategy is to not draw envelopes of SSFF tracks. The canvases on which the SSFF tracks are drawn are currently 2048 pixels wide, which means that if more than that many values have to be displayed, we simply say "zoom in to see contour". That being said it should be fairly simple to implement a min & max value parameter (which is currently extracted for the entire contour automatically) and adhere to that (currently not possible btw!). How desperate are you for this feature? Could still take a bit of time before I get around to implementing new features like this one...

A question on the side: where did you get the articulatory data from? I don't think that I have ever seen articulatory data with close to or equal the sample rate of the audio file. The highest sample rate I have seen is a few hundred Hz (see this 200Hz example EMA SSFF file generated by our Carstens AG500 (think that was the model number?!?): https://github.com/IPS-LMU/EMU-webApp/blob/master/app/testData/newFormat/tinyDfg91/0000_ses/dfg91_s1em_0666_bndl/dfg91_s 1em_0666.t_back -> which would mean your audio file could be up to 10.24 seconds long before "zoom in to see contour" is displayed)

hywel commented 7 years ago

I am fairly keen to get this sort of functionality working within Emu as I have many of these recordings which are difficult to visualise quickly. The data are aerodynamic data that I gathered in the field a few years ago. They are recorded at either 11kHz or 22kHz (note not 22.05kHz!). They are output from the capture software as multiple wave files and I can look at them raw in audio editing software but I really prefer to have them all together within Emu as I am heavily invested in R for the analysis. I have written scripts to visualise each track, but without live zooming, they are very hard to interpret and associate with the acoustics. Thanks for your suggestion. Do you think I should lower the sample rate and see if I can zoom in then? I will try this and let you know if it effects the temporal integrity of the signals. Is there a simple way to change the sample rate on all of the files in the database using wrassp? Thanks in advance.

raphywink commented 7 years ago

You could try the lower sample rate but resampling can be quite complicated if you want to do it "correctly". If you still have the original wav files I would probably resample them using sox (uses the sinc function to interpolate as far as I know) and then convert the resampled SSFF files to wav files.

I can't promise any thing, as my current workload is a bit of a bomb, but I'll try to implement a max/minValue for SSFF tracks feature in the next week or two for the new EMU-webApp release.

hywel commented 7 years ago

Thanks again for the information - I was planning to call sox within R using the "seewave" package to downsample and interpolate the files and see how they look. I do have the original wave files so I will start there and let you know how I go. If it's not possible to implement the feature in the next release, I understand entirely. Thanks for taking a look at it in any case.

raphywink commented 7 years ago

I implemented this feature as part of the 0.1.03 release which is already live (http://ips-lmu.github.io/EMU-webApp/). Simply add the "minMaxValLims" config block to your DBconfig (see here: https://github.com/IPS-LMU/EMU-webApp/blob/master/app/testData/newFormat/ae/ae_DBconfig.json#L145 for an example) and set the minVal and maxVal fields according to your preferences.

I hope this is what you where after :-)