Brain Computer Interface w/ Python and OpenBCI for EEG data

  Рет қаралды 196,043

sentdex

sentdex

Күн бұрын

Пікірлер: 433
@abcdxx1059
@abcdxx1059 5 жыл бұрын
siraj : watch me build a brain reading Machine in a week
@Apfelloch
@Apfelloch 5 жыл бұрын
Startup*
@VoylinsLife
@VoylinsLife 5 жыл бұрын
where's the kickstarter? :p
@l.1204
@l.1204 5 жыл бұрын
HAHAHAHAHAAHHA
@sentdex
@sentdex 5 жыл бұрын
Dont forget the paper he writes on BCI, where he accidentally has his synonym switcher change bci to brain computer interaction.
@tear728
@tear728 5 жыл бұрын
@@sentdex Complicated Brain Space
@FuZZbaLLbee
@FuZZbaLLbee 5 жыл бұрын
Now use an RNN to predict your next thought 💭 😋
@empireStyle
@empireStyle 5 жыл бұрын
what is RNN ? can you tell me more
@empireStyle
@empireStyle 5 жыл бұрын
@@alibadr123 Thank you sir
@alibadr123
@alibadr123 5 жыл бұрын
@@will1337 please elaborate
@thomasthemarstrain2141
@thomasthemarstrain2141 4 жыл бұрын
William do you have an email I may contact? I am a university student Schuster looking for some guidance in this field. Thank you!
@e56-u6d
@e56-u6d 4 жыл бұрын
Wait... This is amazing why has nobody done this?
@AdoobII25
@AdoobII25 5 жыл бұрын
Hello sentdex, usually for sampling rates something called the Nyquist criteria is used for the sampling frequency. It states that the sampling frequency must be at least double the frequency of the signal you're sampling. Brain waves are not pure sinusoids so they're a series of multiple pure sinusoids of differing frequency and phase (aka a Fourier series), you'd want your sampling rate to be higher than the frequency of the last sinusoid in the Fourier series. The problem with sampling at a frequency that's lower than double the frequency of the sampled signal is that when you try to reconstruct your signal (synthesis) the frequency of the reconstructed signal will reflect around the sampling rate (which was lower than the Nyquist rate). For example the maximum frequency of the Gamma waves is 100 Hz, and you used a device to sample the wave at 150 Hz, when you reconstruct the signal you will get a signal at 50 Hz instead of the original 100 Hz, this is called Aliasing which is bad and results in noise, that's why aliasing is a big deal in video graphics :D. The system you are using uses a sampling frequency of 250 Hz as someone else mentioned in the comments so it the acquired signals can be reconstructed without aliasing.
@josephhubbard4332
@josephhubbard4332 4 жыл бұрын
Just an addition to this, with highly aperiodic signals you need a sampling rate that is much higher than the nyquist frequency
@tuhinmukherjee8141
@tuhinmukherjee8141 4 жыл бұрын
Hey could you help me out? I'm having a hard time trying to figure out what's sampling and how do we differentiate gamma waves from beta and so on.
@ceasazee6649
@ceasazee6649 3 жыл бұрын
i don't even know why is he sampling it.. he was supposed to have a low pass filter over signal to get different waveforms
@ammaryasirbinyahaya9847
@ammaryasirbinyahaya9847 9 ай бұрын
@@ceasazee6649 is it because the OpenBCI GUI already sampled the data already? Is there a better way to read the data from the GUI?
@PurpleMomgoose
@PurpleMomgoose 3 ай бұрын
​@@josephhubbard4332you need twice the rate of the highest frequency component. If the signal is irregular/aperiodic, that must means there'll be a higher sine wave component in there somewhere
@Gunth0r
@Gunth0r 5 жыл бұрын
you can bypass the print lag by writing it inline: print("each line", end=" ") It's an easy way to see if you have the bursting going on.
@willaxesawian9242
@willaxesawian9242 5 жыл бұрын
Sentdex in a week: uploading my brain to the singularity w/ python
@sentdex
@sentdex 5 жыл бұрын
Couple weeks for that*
@nathanthomas5430
@nathanthomas5430 5 жыл бұрын
That’s nothing to joke about
@ow_
@ow_ 4 жыл бұрын
@@nathanthomas5430 yes it is
@JasonPurkiss
@JasonPurkiss 5 жыл бұрын
This is why im glad i clicked the subscribe button 3 years ago, looking forward to next video and no i have the best job in the world as someone pays me to work from home and i sit there watching you :)
@rpetti
@rpetti 5 жыл бұрын
The docs have the sample rate: "For OpenBCI Cyton the sampling rate is 250Hz and it sends data to buffer every half second." This buffer behavior explains the bursting you saw in the raw data dump, but it doesn't affect the sample rate. Also, just in my opinion, I'd probably FFT the data to get frequency features for ML to ingest, rather than trying to use resampling as a low-pass filter.
@anantharamaniyer9135
@anantharamaniyer9135 5 жыл бұрын
Rob Petti - interesting that you mention about FFT - ing the Data. I work with similar kind of data but in a different domain - Electromagnetic spectrum measurements using off the shelf scanners. What caught my attention is where you mention about feature extraction from FFT data to feed into ML. So, say I already have FFT data gathered by sensors that are connected via a 4G dongle to send the results back to my server, rather than sending raw IQ data or FFT results I get the average/ max / min values of many channels per band. How can I extract features from this aggregated data ? I would appreciate if you can point me in the right direction for this. I intend to use ML to - 1. detect anomalies in transmissions, 2. Look for patterns in order to locate any interference Among other stuff.... Thanks.
@rpetti
@rpetti 5 жыл бұрын
@@anantharamaniyer9135 I am by no means an expert, I just know that the frequency domain -- at least for Sent's purposes -- would be more useful than the raw IQ data. The frequencies from the individual probes would give a better indication as to what is going at any particular moment than an instantaneous readout of amplitude. In his case, I was thinking he could bucket the FFT data into discrete frequency ranges for each probe and using those as the input to the network. This is what I meant by frequency features, but I may be using the wrong terminology here. I don't know nearly enough about ML to know how to train something to look for anomalies in time series data, or even to be able to understand time series data. I was always under the impression that such systems used statistical analysis rather than deep learning.
@edward17829991
@edward17829991 5 жыл бұрын
@@anantharamaniyer9135 feature extraction is a lossy process. So you have to know what kinds of information you really care before hand. And applying the suitable feature extraction process which remove the component you don't need and preserve the significant part. Thus reduce the information being transported while not effecting your main propose too much. In your comment I noticed that you did only send "the average/ max / min values of many channels per band", yeah, sure do this is one kind of feature extraction method. But you can think about the physical meaning of these features. I'd suggest considering including mean, standard deviation...etc values, since these values better capture the distribution of the samples instead of those outlier values. Furthermore, you can consider only preserve the significant part of the FFT result as many audio/video compression algorithms did. ( e.g. you sort the output values from FFT and only take the top ten values and denoted with its frequency index.) There are still so many options to extract the features like PCA, autoencoder, ANN models. Say, you can train another smaller ML model for transforming the raw data to feature vectors like word2vector did and this model is small enough to run on the local capturing device.
@d33w
@d33w 5 жыл бұрын
I talked with a friend about something along these lines. Two days later sentdex just uploads an awesome video, you're the best!
@nakulsingh8444
@nakulsingh8444 5 жыл бұрын
U can use unsupervised learning to cluster this data and control some sort of robot or automate some task.
@sentdex
@sentdex 5 жыл бұрын
This is definitely something I want to try
@anakinskywalkerrr
@anakinskywalkerrr 5 жыл бұрын
I don't know edward snowden has a youtube channel
@JeanJeanThe
@JeanJeanThe 5 жыл бұрын
This reminds me a project of a friend, where he was playing pong with similar system. Can't wait to see what you will do with that !
@Shah_Khan
@Shah_Khan 5 жыл бұрын
You're amazing. Every time trying something new.
@jeremiahblessing3891
@jeremiahblessing3891 5 жыл бұрын
For those who want to dig in to Computational neuroscience, this is the free course from Coursera. www.coursera.org/learn/computational-neuroscience
@Aitiustus0
@Aitiustus0 3 жыл бұрын
I just recently started learning python. My wife has a friend that due to a car accident hasn't had speech or mobility save her eyes and some in one hand for the last 15 years. She recently lost her mother to make matters worse. Thank you so much for posting this! I'll be working towards seeing if I can get her the ability to send messages and browse the internet.
@Rick-ur5ej
@Rick-ur5ej 5 жыл бұрын
I was reading to see where BCI technology is at today. So excited to see what you'll do with it.
@jamesdonnelly8888
@jamesdonnelly8888 4 жыл бұрын
You do the community such an amazing service by providing the content you do, and presenting it how you do. Amazing amazing work.
@johndough4900
@johndough4900 5 жыл бұрын
When I was designing FNIR brain computer interfaces for DARPA we used the motor cortex area for control. when you think about moving your right hand or your left hand that area activates the same as when you actually move your hands. I think you would have better results if you located two sensors on the motor cortex for the hands. the hand area is the largest...
@acidtears
@acidtears 4 жыл бұрын
It doesn't work that way with EEG though, right? You need to get the ERPs correlated with the right hand movements and then average them over time. Ideally, a neural net would be able to identify the ERPs itself or increase the signal strength, by amplifying ERPs that are likely from right hand movements. You also need a reference electrode so two sensors are per se not enough. Commercial fNIRS would be great though lol
@harishlakshmanapathi1078
@harishlakshmanapathi1078 5 жыл бұрын
That was on a whole new level to be honest to you and i am eagerly waiting for your next uploads in this context. You could use unsupervised learning to cluster the type of waveforms into some activity. Though you would have to create a data set I believe, with you thinking about different things and then capturing those particular impulses of the response from this wonderful machine and training the machine on it. Good Luck mate!!!
@sentdex
@sentdex 5 жыл бұрын
This is one of my ideas for doing this. It shouldn't take too long to have a dataset that will at least show me whether or not there's something here.
@charliemclegend4885
@charliemclegend4885 5 жыл бұрын
Record data while watching porn. See what gets lit up.
@xingyubian5654
@xingyubian5654 5 жыл бұрын
interesting idea
@acidtears
@acidtears 4 жыл бұрын
Occipital lobe for vision and reward centers (nucleus accumbens) because dopamine. Maybe the motor areas depending on if you're jacking it. Nothing can really "light up" tho, that's more fMRI and fNIRS. From the EEG we can't really determine the brain areas unless we use source localization algorithms.
@avalon2199
@avalon2199 4 жыл бұрын
@@acidtears It would be great if we could have these technologies as small gadgets like these to test for the general public but not for fMRI unfortunately.
@koog1000
@koog1000 5 жыл бұрын
What are you referring to when you say 'resampling'? Are you talking about decimating? That won't yield the results you want without making some pretty good filters. The better bet is to take a lot of data and just make an FFT. I suspect that would perform much better than filtering and decimating the raw data several times.
@becauseiwanttoanime9541
@becauseiwanttoanime9541 5 жыл бұрын
LOVE THIS PLEASE KEEP IT UP! I always had an interest in BCI, would love it if you make it a long series!
@kylegiffin
@kylegiffin 4 жыл бұрын
This is a fantastic channel! The manner with which you explain concepts makes them super easy to digest. Thank you for this video!
@JosephDungee
@JosephDungee 5 жыл бұрын
Saw your post on Reddit about how you started this channel a received job offers from it. Great thinking and I will keep that in mind as I am learning to code. Peace!
@LatinDanceVideos
@LatinDanceVideos 5 жыл бұрын
Reddit link??
@LatinDanceVideos
@LatinDanceVideos 5 жыл бұрын
I've been offline for a couple of weeks travelling
@mrcobalt124
@mrcobalt124 5 жыл бұрын
This is so cool! Python is so cool for interfacing with things easily
@rmjormjo
@rmjormjo 3 жыл бұрын
The bursting in the signal is probably caused by the Bluetooth stream over the usb dongle, which is slow. There is a separate OpenBCI WiFi Shield available, which can be slipped onto the cyton board, which provides a fast wifi stream. It is also possible to connect the Cyton board directly via cable to a usb port of a PC.
@notgate2624
@notgate2624 5 жыл бұрын
Michael Reeves did a pretty good video on making his car drive forward using his thoughts. He used one of those toys you mentioned. All he did for that was check if the reading went above a certain threshold. So it'll be really cool what kind of control you can get using some proper ML. I really look forward to this :)
@ryanfav
@ryanfav 5 жыл бұрын
From your 1 second and 5 second graphs, it is clear that it is picking up mains interference, you should be able to use a digital band stop filter to completely remove its effect, and give you the non modulated output, If you want you could use a correlation filter to just subtract it from the original data if you really wanted to preserve what data you find at exactly 50/60Hz.
@kinohermes7309
@kinohermes7309 5 жыл бұрын
happy with what open BCI has done for the community. Glad to see this tech become main stream
@iacaldrod
@iacaldrod 5 жыл бұрын
Oh my goodness Harrison, seems the next series will be how to fly an UFO with python.
@artaa8233
@artaa8233 5 жыл бұрын
That was very interesting! Making a video for EEG data was a very creative idea!
@boyuanchen4997
@boyuanchen4997 3 жыл бұрын
Thank you so much for the video! Just about to start an EEG related project in the lab.
@shaz-z506
@shaz-z506 5 жыл бұрын
Hello, Charles Xavier...how many mutants you've got.
@danielf3623
@danielf3623 5 жыл бұрын
I'd recommend for frequency-based data like this, using pywt to do wavelet transform realtime so that you can get the time series of the different frequency content bands. Then you can do your machine learning on that. You'll still be limited to at most 50Hz from at 100Hz signal, but you can get all the frequencies below that with a continuous wavelet transform
@icy-spoon85
@icy-spoon85 5 жыл бұрын
this upload is uncanny, yesterday began reading about BCI.
@FMH201
@FMH201 5 жыл бұрын
you should get 200k subscribers for this series alone!
@sentdex
@sentdex 5 жыл бұрын
Leggoooo 1 million :D
@SeucheAchat
@SeucheAchat 5 жыл бұрын
Very good video, I hope there is comming more about BCI for now on
@tezlashock
@tezlashock 3 жыл бұрын
your eeg lit up when you mentioned machine learning
@Tarun-xw1zf
@Tarun-xw1zf 5 жыл бұрын
This is amazing... Feeling excited for this ... You always amaze us 🤩🤩🤩
@WilliamJCroft
@WilliamJCroft 5 жыл бұрын
Might suggest redoing the latter part of this video after clarifications I suggested. Live "learn while you shoot video" is a fun concept. But may also confuse new users of OpenBCi. Regards, William
@notgate2624
@notgate2624 5 жыл бұрын
You might be interested in some digital signal processing. High pass and low pass filters could be useful for viewing the data in specific frequency ranges. That way you could choose to only look at something like the gamma waves and filter out everything else. Python should have some good dsp libraries. I can't remember if you mentioned it but the nyquist frequency is the highest frequency you can sample for a given sampling rate. So, if this is polling at 105 Hz, then you would only be able to sample frequencies up to 52.5 Hz.
@banaankiamanesh
@banaankiamanesh 3 жыл бұрын
Hey, in terms of sampling you will need atleast double the upper bound frequency of what you want... what i mean is that, if you need gamma bound which is 30 ~ 100Hz in freq, the minimum sampling freq will be 200Hz which is 100*2 !
@HKallioGoblin
@HKallioGoblin 3 жыл бұрын
You are revealing all your secrets here, but only few can translate them. Secret services can decode all thoughts, and animate them on screen. This is also how all worlds memories can be searched, and feelings can be used as variables.
@WilliamJCroft
@WilliamJCroft 5 жыл бұрын
You need to apply a bandpass filter, say from .5 Hz to 45 Hz. This will remove both mains noise and the DC offset present with DC coupled amplifiers such as OpenBCI Cyton.
@jesusmancilla2105
@jesusmancilla2105 4 жыл бұрын
Skipped to 11:52 is this is the most realistic, futuristic shit I’ve seen LMAO
@Docsailor1
@Docsailor1 5 жыл бұрын
(5:26; 5:30 and few more) benign rolandic discharges? What is the reference? Linked ears? Can the software calculate an average reference?
@markusbuchholz3518
@markusbuchholz3518 5 жыл бұрын
Hopefully the sky is not the limit for Sentdex. It is absolutely amazing! State-of-the-art.
@e56-u6d
@e56-u6d 4 жыл бұрын
The OpenBCI foundation has an official Python module called Brainflow which has built in downsampling.
@lucascosta816
@lucascosta816 5 жыл бұрын
Sentdex, thank you so much for this video. That's what I was needing for my undergrad research!
@vinitmore7418
@vinitmore7418 5 жыл бұрын
Would definitely like to see what you do next.
@alexandresoaresdasilva1966
@alexandresoaresdasilva1966 5 жыл бұрын
Nyquist frequency: you need at least twice the frequency you're trying to sample as the sample rate (so for gamma waves between 38-42 Hz, it would be 84 Hz bare minimum - but more in practice, like 100 Hz sample rate or higher)
@dylanfievez9159
@dylanfievez9159 5 жыл бұрын
Just a note for sampling rate, it's needed to be at least twice of the max frequency of the signal so in this case we need a 200Hz for Gamma Waves
@sentdex
@sentdex 5 жыл бұрын
I eventually found the nyquist theorem. Gamma is more like 30+, you dont need 100hz. 100hz would still be a waves, but I dont think I'll keed those. Anyway, I solved quite a few things since recording this. We could still get 100hz after sampling if needed. Stay tuned!
@TheClassofAI
@TheClassofAI 5 жыл бұрын
If you need any help, let me know. I have a PhD in BCI
@brunogx27
@brunogx27 4 жыл бұрын
Hi! im a doing my thesis for my bachelor degree in university and is about bci where can I get in contact with you ?
@denniskure1466
@denniskure1466 4 жыл бұрын
I need help on that pls
@TheClassofAI
@TheClassofAI 4 жыл бұрын
​@@brunogx27 theclassofai@gmail.com
@TheClassofAI
@TheClassofAI 4 жыл бұрын
@@denniskure1466 theclassofai@gmail.com
@TheClassofAI
@TheClassofAI 4 жыл бұрын
@Enrique Ortega theclassofai@gmail.com
@manassricharanvarri
@manassricharanvarri 5 жыл бұрын
This is just awesome. You are taking educational vids to next level. Keep going.
@alexmolyneux816
@alexmolyneux816 5 жыл бұрын
Very interesting stuff. I imagine OpenBCI can't handle artefacts like blinking and speech so worth recording data without speaking for best results!
@marcellovittoriomatteidieu9781
@marcellovittoriomatteidieu9781 2 жыл бұрын
I love OpenBCI stuff. A lot of those high-frequency and high amplitude oscillations you are getting may be 60 Hz noise from the powerline and nearby electronics. I would try gathering the signal far from the computer or any cables, as well as notch filtering.Without it, I don't think data if useful for a brain-computer interface. You should be able to filter up to 125Hz as the board's sampling frequency is 250. When. I run the board for 1 second I get 250 plus one or two extra samples, typically.
@yannickroy5185
@yannickroy5185 5 жыл бұрын
Awesome video! Well done! If you do more of these videos, please share with NeuroTechX so they can share with their community of BCI enthusiasts.
@RocketLR
@RocketLR 5 жыл бұрын
I'm very sceptical when it comes to these sorts of things to be honest. These EEG readers are over simplifying things. Which to me makes it a pretty much a novelty item. I am hoping to be proven wrong here, so im really really looking forward to see more of this! :D
@acidtears
@acidtears 4 жыл бұрын
By these EEG readers, do you mean the commercially available ones? Because research-grade EEG's are incredibly insightful into the underlying processes of human behavior. The main issue with this commercial application is that users will likely have no idea about temporal/spatial resolution, noise, wave forms, event-related potentials and other related topics on EEG .
@Mohamm-ed
@Mohamm-ed 4 жыл бұрын
Thanks for sharing this... Do you plan to do more?
@ac130kz
@ac130kz 5 жыл бұрын
They are probably using a buffered serial reader or even writer. If you open the file descriptor directly, you could potentially get the whole uninterrupted steady stream of data
@sentdex
@sentdex 5 жыл бұрын
I've solved the issue since recording this. Stay tuned :d
@raseruuu3742
@raseruuu3742 5 жыл бұрын
Bursting is such a cool term.
@giorgikochiashvili6947
@giorgikochiashvili6947 5 жыл бұрын
nice "Not a Real" Flamethrower! really looking forward into these video series.
@caeras1864
@caeras1864 5 жыл бұрын
There are some Kaggle datasets around this type of thing that you might want to look at such as "Grasp and Lift EEG Detection" and "Emotions using brain wave data". Get your LTSMs initialized as it's time to backpropagate Sentdex's brain.
@caeras1864
@caeras1864 5 жыл бұрын
"AI Researchers Pave the Way For Translating Brain Waves Into Speech" - news.developer.nvidia.com/translating-brain-waves-into-speech/
@PyMoondra
@PyMoondra 5 жыл бұрын
Nice job. I was looking at playing around with EEG headset ( I think different company, maybe the same) last year, but the different amount of readings seem limited. Your video has inspired me to do some research. I dream of handless computer interactions.
@codemonkey9830
@codemonkey9830 5 жыл бұрын
welp, fingers crossed this is the point where Harrison just crosses over and decides to go full super-villain - with a BCI cap and pug-mug, he strikes fear into the hearts of governments everywhere...
@kaiwang2924
@kaiwang2924 4 жыл бұрын
Always a great pleasure watching your video
@filip4370
@filip4370 5 жыл бұрын
As a neuroinformatics student: i love u Dood
@joybanerjee141
@joybanerjee141 5 жыл бұрын
You can make a project to control a DJI Tello using this just by looking at the video stream from Tello (DJI Tello can be controlled using python) and that'd be super cool !
@Pilbaran00b
@Pilbaran00b 5 жыл бұрын
holy crap ive been wanting to do something like this forever. Subbed and really looking forward to the next vid on this topic! I may even buy one of these kits myself.
@michaelfulciniti2622
@michaelfulciniti2622 4 жыл бұрын
You can read waves through time. I have seen people on old movies put up their hands when I asked. Have fun with that.
@ShermanSitter
@ShermanSitter 4 жыл бұрын
this is simultaneously hilarious and awesome...and i'm not sure why on either one.
@nathansol
@nathansol 5 жыл бұрын
You should use some digital frequency filters before resampling the raw signal to minimize aliasing.
@digital_down
@digital_down 5 жыл бұрын
Before I read the title, I thought “why tf is he wearing a shower cap” after seeing the thumbnail. Amazing video 👍
@mirzahedali3044
@mirzahedali3044 5 жыл бұрын
Can't wait to go along with this project.
@sentdex
@sentdex 5 жыл бұрын
Same :D
@gamingwithflash7902
@gamingwithflash7902 5 жыл бұрын
Going to save this and hopefully recreate it someday, such an awesome project
@Visual-Synthesizer
@Visual-Synthesizer 5 жыл бұрын
Dude this is awesome! i used to daydream about this type of stuff a decade ago! what a cool video. I'm ambidextrous and I draw allot, and i mess with neural nets as my hobby. cant wait to play with one of these and see what my brain is doing when i draw.
@darnokjarud9975
@darnokjarud9975 5 жыл бұрын
You can use gumpy toolbox for processing your raw data in python :)
@bhaskarsyamal
@bhaskarsyamal 5 жыл бұрын
Wow! I'm so happy you're exploring so many interesting stuff. Best youtuber ever!! ♥️🙌
@preritrathi3440
@preritrathi3440 5 жыл бұрын
is this just a coincident Mr.Kinsley that you are wearing a HAWKINS t-shirt while trying to turn into ELEVEN?
@sentdex
@sentdex 5 жыл бұрын
Nothing to see here, move along people!
@Nathan0A
@Nathan0A 5 жыл бұрын
You've got to go a step further and check the polarity with a multimeter, they might have switched the sleeve colors, not the connector position. I've had LED's where the long leg was negative (Unless that's how all 485 P infrared LED's are made)
@sentdex
@sentdex 5 жыл бұрын
Hahaha too late now, but yeah that's a fantastic point. After seeing things were awry, I should not have assumed the issue was polarity flipped at all. Probably more likely wrong color wiring used. Great point, thank you. You might have just saved me lots of money in the future!
@memoai7276
@memoai7276 5 жыл бұрын
This is great! Is the unit you have received the "All-in-One Biosensing R&D Bundle" for $2500
@sentdex
@sentdex 5 жыл бұрын
I think so, though I didn't get a pulse sensor which comes with that kit. Might be some other difference that I'm missing too.
@jeremiahblessing3891
@jeremiahblessing3891 5 жыл бұрын
@@sentdex pulse sensor is a already copied design and you can buy them for very cheap in amazon.
@Music_Engineering
@Music_Engineering 4 жыл бұрын
Very interesting video! Very important, in general, it is a very bad idea to low pass filter your data by decreasing your sampling frequency as it will lead to aliazing problems (google aliazing) Instead, use a discrete time filter, a higher order Butterworth filter is probably a good choice.
@Narnald_Ewman
@Narnald_Ewman 2 жыл бұрын
I think i am a little late to the party, but I think the data rate change is due to the old ble or bluetooth module.
@joseortiz_io
@joseortiz_io 5 жыл бұрын
There it is! Was waiting for this after seeing your Instagram post!👌
@MaratRostov
@MaratRostov 5 жыл бұрын
Super interested in more EEG stuff! Really wanna see how much you can get out of the 16 channels.
@TheWafflesalsa
@TheWafflesalsa 5 жыл бұрын
Sweeeeeeet. I'm looking forward to this series so much!
@thedemonlord9232
@thedemonlord9232 5 жыл бұрын
this is so freaking cool
@icarusswitkes986
@icarusswitkes986 5 жыл бұрын
Just found this channel. This is amazing. Subbed
@MrEphiras
@MrEphiras 5 жыл бұрын
Wow so amazing! From experience with previous projects it might be faster to use a C++ or equiv FFT or Highpass filter to get the frequency components of the signal you want. Also wonder if it would be easier to start by mapping muscle movements to ingame actions like stomping your foot or hitting your side rather than thoughts so you can repeat them easily.
@ThePabs213
@ThePabs213 4 жыл бұрын
Why don't you try it out and tell us instead of asking these useless questions?
@michael-nef
@michael-nef 5 жыл бұрын
Hey guys, welcome back to another python programming tutorial, today we are going to be building the matrix, in Python, if you don't know OpenBCI, stop, pump the breaks, head over to pythonprogramming and read the first few tutorials at least.
@janicelee4534
@janicelee4534 Жыл бұрын
Would you please explain how to set up the GUI? I didn't understand that part in your video.
@eitanas85
@eitanas85 5 жыл бұрын
@sentdex, Hey man, great content! Why aren't you using Fourier transform to filter raw data into different frequency bands?
@HT79
@HT79 5 жыл бұрын
Amazing Video as ever! However, I have a small cause maybe I misunderstood it. You said that the low granular wave obtained is referring to the Theta and Delta waves. However, the recording of the BCI data was done when you were awake. Shouldn't that imply that the deltas and thetas should be more or less constant if not zero?
@whoisabishag3433
@whoisabishag3433 5 жыл бұрын
"Some People Can Have Delta And Theta While Awake"!"
@HT79
@HT79 5 жыл бұрын
@@whoisabishag3433 Thanks for the clarification Abi
@whoisabishag3433
@whoisabishag3433 5 жыл бұрын
@@HT79 no problem. That said most people don't. I do
@eustachymotyka7669
@eustachymotyka7669 Жыл бұрын
hello, I have a question for experienced people my grandma will take it off all the time or can it be saved in the program so that she doesn't have to wear this headband?
@WilliamJCroft
@WilliamJCroft 5 жыл бұрын
Sample rate is CONSTANT, at 125 Hz for 16 channels, 250 Hz for 8 channels. You are seeing effects of the scheduling of your Python process / buffering of the COM port. Also note, in the past the FTDI serial COM port needs adjustment to avoid stuttering, see, docs.openbci.com/docs/09Deprecated/OpenBCI_on_WindowsDep "Latency" adjustment.
@romoRMMC
@romoRMMC 2 жыл бұрын
hello, i dont know nothing about BCI but how can i know about it? what do i have to study, i want to learn to use devices controlling them with the brain sorry for the bad english lol
@shibash1
@shibash1 5 жыл бұрын
Wait... So i can Just think about a game and train ur network. You even dont have to play actualy. Awsome!
@0xbitbybit
@0xbitbybit 5 жыл бұрын
YESSSSSSSSSSSSS!! So pumped for this! P.S - What is that font you're using in your command promptl? Looks great!
@sentdex
@sentdex 5 жыл бұрын
It's called "unispace"
@nafis123456789
@nafis123456789 4 жыл бұрын
@sentdex Do you have any document or video going into more detail about the whole process so we can follow along. For example, I don't know how you converted the TXT file format output from OpenBCI into a NPY extension and there are also many other things that I am missing like in the second video you have completely different code, do you have a git repository of the code that we can use to follow to learn how to do this? Thanks for your time. Kind regards, Nafis
@wktodd
@wktodd 5 жыл бұрын
I doubt the channels are continuously sampled, my guess is that the channels are sampled at a reasonable rate (1kHz say) , batched and sent via the serial port . thus each batch can be analysed (fft) at a workable bandwidth (i.e upto 100Hz) without too much filtering . 16 channels of 8-10 characters each over Bluetooth is going to make for low average bandwidth , (find the BT baud rate and do the maths)
@3101199
@3101199 5 жыл бұрын
It sounds so good. As you Said this could be your best tutorial ever. Hopefully i'm able to keep up 😅
@Chillingworth
@Chillingworth 5 жыл бұрын
You can use the FFT with numpy to extract frequency information: gist.github.com/CoolOppo/998fbae8d51195b0aa854981bcd1359f
Testing Brain-Computer Interfaces
20:58
James Bruton
Рет қаралды 139 М.
One day.. 🙌
00:33
Celine Dept
Рет қаралды 54 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 59 МЛН
Do you love Blackpink?🖤🩷
00:23
Karina
Рет қаралды 22 МЛН
Democratizing Bio-Sensing Tools With OpenBCI
26:29
Games for Change
Рет қаралды 30 М.
OpenBCI's NeuroFly Tutorial
13:46
OpenBCI
Рет қаралды 6 М.
Better Attention is All You Need
14:29
sentdex
Рет қаралды 62 М.
Demonstration of a Low Cost EEG Circuit
7:13
Roboro
Рет қаралды 43 М.
Which Personal EEG Device Should You Buy? (Muse, Emotiv, Neurosky)
15:42
Cody Rall MD with Techforpsych
Рет қаралды 119 М.
Predicting Emotions Using EEG data and Recurrent Neural Networks
6:19
Why Your Computer Has Probably Not Been Hacked
8:19
Ask Leo!
Рет қаралды 340
One day.. 🙌
00:33
Celine Dept
Рет қаралды 54 МЛН