Graphing CSV data from Muse Monitor



2017-08-16 UPDATE - Online Graphing is now available on Muse

The online version uses the Google Charts API to create graphs in your browser without requiring upload, so it runs very fast. To date, I have tested with Chrome on PC/Mac and Safari on Mac all with no problems.

I’ve been asked a few times about generating graphs from Muse Monitor CSV data.

Here is a VBA script to generate a graph for the Average Absolute Brain Waves:

[This script is now available from]

The most simple way to use this macro is to install it to your personal macro workbook. This will make the macro available to use on any file you open in excel.

  • In Excel click [View] on the ribbon bar.
  • Click the down arrow under the [Macro] button and select [Record Macro].
  • Under “Store macro in” select “Personal Macro Workbook”.
  • Click [OK].
  • This will now setup your Personal Macro Workbook if not already done and create a new macro.
  • Click the down arrow under the [Macro] button and select [Stop Recording].
  • Click the down arrow under the [Macro] button and select [View Macros].
  • Select the macro you just created (Likely “Macro1”) and click [Edit].
  • You can now edit the macro you just created and paste over with the code above.
  • Save and Close.
  • Open a Muse Monitor CSV file and run your macro from the [Macro] menu to create a graph.

Full illustrated instructions, including a video on how to install this, are on the Muse Monitor website here.

Can you select 1 brain wave to focus on and get feedback for?
[Need Help] Something to do with Frequency Hz Stuff

Very very cool. This is really going to help a lot of people. Thanks for taking the time to make this macro and sharing it with the community.


Can you tell me what preprocessing is done on the data that is exported? Thanks!


Only the notch filter to reduce power line noise. If you want you can turn that off in settings.


Great. Thanks for the fast response!


I’ve been trying to get the macro to work and I haven’t had any luck with it. When I open a .csv file in Excel and set up the macro as instructed it runs through each line until it reaches the end and then informs that there was an error.

As far as I’ve been able to figure it out is that the macro runs through the .csv file and removes all other information except for the absolute values and then uses those values to make the chart. I’m thinking that when I open the .csv file in Excel it’s being formatted incorrectly into the cells and so the macro can’t single out the data.

Do you use some kind of formatting options in your spreadsheet program to format the .csv file? Sorry if this sounds like a stupid question, it’s been a while since I took my last spreadsheet class.


Can you please email me your sheet and I will test it here.


As per my email to you, this script is only designed to work with CSV files from Muse Monitor, not from Muse-IO.
Muse-IO has a very different data layout with data from many different elements all showing in the same columns. Muse Monitor CSV files on the other hand have a separate column for each data type, making graphing much more simple.


I only have Open Office’s Spreadsheet (excel equivalent) but I get an error when I run the macro. Any chance you can help me out? See attached image for a screenshot of the error. Thanks heaps in advance.


Sorry, my script is only for Microsoft Excel. I’m not familiar with the Open Office Star Basic scripting language.


Is possible to correlate the values in the .csv with the spectrogram display? I appreciate the colours represent low, med and high values but there is no info on how these are determined.
The graphs are useful, but I’ve found if I convert the values into a respective colour and fill in that cell with the colour (vba macro) it provides a very quick method of finding areas of interest.
But I haven’t yet found the right range of values to get the csv to look similar to the spectrogram.
Any help?


To convert RAW to discrete frequency the same as Muse Monitor, you will need to perform the following actions:

  • de-mean
  • hamming window
  • FFT

FFT is possible in Excel I believe with the Data Analysis pack installed.

Bear in mind that to create a spectrogram from a real-time data capture, you’re talking about a MASSIVE amount of data, far beyond what Excel can handle. A single point in time should be ok to calculate, but I’m not sure how you’d do a spectrogram in excel to any useful resolution.

I would look into using something like if you want to do your own FFTs.

If enough people are interested, I could write a little windows app to convert the RAW data to a graphic file.


Graphic files are simpler to read and compare against other recordings. So if you could provide this feature as a purchased add-on that would to helpful.


Since muse-IO (with my headset 2016) does not work on Windows I developped some software to
analyse the CSV file coming from the Muse-Monitor App.
The program also displays eye-blinks, relative band percentages and raw-eeg.
If you want to give it a try take a look at:
Your feedback is welcome.


Thanks Willem - I’ll give it try, looking on your site it looks pretty good.


I had sent CSV data from a 45 minute meditation session to excel, but yeah, i guess it was way too much data when i selected all and tried to do a scatter chart. I just wanted to see how coherent I was and which brainwave types were more dominant (trying to be coherent and trying to get into alpha and theta).

If you could write a windows app to convert the raw data to a graphic file (with lines for Beta, Alpha, Theta, Delta, Gamma and with x axis time labeled), that would be GREAT for me because that’s all i am trying to see!


If you go into Settings in Muse Monitor, you can change the recording interval to record only every 2 seconds. Then you’ll be able to handle a really long session in Excel.




is there a visual of a graph anywhere that was made using this VBA script to give us an idea. It sounds great especially since many of us are having trouble with MuseLab… I’m saving the script and instructions for later. Thanks!