I think I'm live but I don't actually
know hello and welcome to the coding
train oh I do have my whistle it's so
nice to see you maybe you don't see me
maybe I'm doing this hello thing and I'm
just doing it to myself because I don't
see anybody in the chat saying that they
see me yet I do see open broadcast
studio over here streaming I do see
myself in a confidence monitor I feel
confident today I have a confidence
monitor I am new confident Dan oh you do
see me yay oh that's interesting my
stream dekha is not hooked up properly
observer so I this new tool I have so
many things to say I don't even know
maybe you've never watched before you
have no idea where you are I'm very very
excitable there's like new notifications
thing I just got like a message I was by
the way if you tagged me now in slack a
little message pops up on this screen
that I have over here that's kind of
cool
I didn't do that on purpose it just
happens but I have this like Elgato
stream deck not a sponsor but could be a
sponsor and supposedly when I press this
button it's going to oh did worked
dude in the attitude in the chat by the
way this a little bit more volume okay
okay this I can probably do this I can
probably handle a little more volume a
little bit afraid to turn it up because
all signs point to being plenty yes
Marcos it does work your message popped
up here on the screen
hmm all right a little more Vaughn I
have it all the way up oh I know where I
can turn it up I have by the way all new
equipment new lights I really want to
show you something this is what I'm the
most proud of this hold on a second this
is very I have to show you this I have
this'll just take a second I don't have
it set to like there we go
what is this why it's on there okay here
we go look at this I mean come on look
at this green screen there's a little
bit of shadowing but there
these new lights coming from all sides
very little shadowing you know I almost
want to just do the whole livestream
like this that's just too wonderful okay
I better turn that back on though I
think that's probably the best plan all
right let's turn this back on chroma
keying myself out is my slack in dark
mode I have no idea um I don't think it
is I just installed this III I don't
even know where to begin
this is I should have thought about what
I was gonna do oh no now it does tell me
my stream deck has come online and it
tells me how many people are watching
all right this is gonna shock you I have
another button I could press I'm a
little bit afraid to press it so this is
what I really have not completed yet the
other side first I don't know why this
is so dark looks kind of dark I don't
know what the quality is interesting
thing is I have this camera on autofocus
so I can walk up here and I could talk
to you like this this is me streaming to
you talking to you saying hello welcome
to the coding training all of my facial
imperfections please enjoy the gray in
the beard all right that was weird but
okay back I probably should set the
focus to this whiteboard I do have
smarter surfaces magnetic whiteboard
wallpaper on the wall but it needs
something called vinyl on over vinyl
adhesive which I don't have so I'll be
going to some hardware store ordering
something then I will get that and then
I'll be putting that on the wall so that
I can do some white boarding I mean I
can move this out of the way you can see
the wall I mean I'm tempted to just
start drawing on the wall because why
not
but I'm gonna put the white it's
magnetic too so I can hang stuff up but
for today I just have this rolling white
board and I can do things like draw well
this this this marker is terrible
I can draw a kitty cat by the way can I
just plug something I probably shouldn't
do this oh I shouldn't reveal I
shouldn't reveal but I have an Instagram
you should follow it's on my Instagram I
have new cats the cats evidence' gram
right now there are four kittens living
in my house two of them are about to be
adopted so I will just have to but if
you want to follow them on Instagram
it's mango and goose those aren't there
those are the middle names mango and
goose this is what people tuned in for
it right for me to talk about my cat
cats the gram do remember how there was
this thing on the internet called the
coding train and you would learn how to
code and there was this friendly person
who would come and teach you concepts
and you would make creative projects it
went away and it came back and then
there was just like a totally insane
person showing you about their new
white-walled enclosed room with no
windows and very bright LEDs shining on
me boof I hope you can hear me still I
haven't even bothered to check the chat
or anything uh I've seen how the chat
says seeing Dan's facial hair in 1080p
definitely made my day
guess what if you thought that was good
I I'm sure I could get this up to 4k
suited because these cameras the new
cameras I have do 4k I am NOT I don't
believe I'm capturing 4k I'm certainly
not live streaming in 4k maybe try
looking at the camera a little more yeah
needs to move so here's the problem
everybody's telling me to move the
lights to the ceiling I would like to
say that I could do that
there's a real problem this is me
touching the ceiling it's a very low
ceiling it's just like a couple feet
above my head there is no grid it's this
this is not an ideal space I might move
all this equipment again because the
lights should definitely be on the
ceiling
but my sound is good when your face
isn't close to the camera that was weird
I don't know what that means
oh by the way I have this crazy like
noise-canceling thing on so people were
telling me that maybe this is too much
let's just do a little debugging of that
for a second just so you the larger
audience can help me with this oh yeah
you know it's really sad it's really sad
I have something to announce I don't
have any so it's a fight
I can't let me see hold on maybe maybe
just maybe uh three percent
I've been charging this tablet which has
my sound effects on it for like the last
45 minutes and it never came alive and
it finally just came alive and it's at
3% so let me give it a couple more
minutes and then we can have our music
again I was gonna do a drum roll I don't
know actually let's wait and see has it
been 30 minutes yet I don't think these
cameras are going to go to sleep
I don't know that I've tested this I
really don't think they're gonna go to
sleep
people're tell me to look at the camera
more so I always have looked directly at
the camera right now I'm looking
directly at the camera I don't know if
this is effective but actually what I do
with this new setup I have these
confidence monitors I find myself
looking at those but maybe if I'm
looking at the confidence monitor it
doesn't really feel like I'm looking at
you like if I would walk over here and
say and unfortunately this is not on
auto focus so you just have to live with
my blurry face you know when you stream
in a room by yourself it causes you to
do strange things that you would never
ordinarily do in front of other people
or maybe that's just me most people
would not do that
strange things currently seven minutes
your audio levels are consistently six
to ten decibels too low alright so the
wonderful thing is that I have a full
focus right 4x4 audio interface which
this lav mic is going into I need to do
another sort of tour of this studio and
explain all the equipment it's a lot of
this it's the same principle but
different stuff so I am going to come
over here and I'm going to pump up the
volume
I'm gonna need Christian Slater for this
but I think I can handle it okay I just
pumped up the volume a little bit didn't
do it scientifically I just turned a
dial who doesn't even have any numbers
to like tell me whether I'm in an 8 or 9
or an 11 but I think it's there when
you're at your desk it looks fine when
you look at the confidence monitor when
at the whiteboard is a little more
jarring somehow that's interesting let's
try that again
tell me if the volume is better oh it's
gonna talk to you about the noise
canceling I have going on okay let's see
so what you're saying to me is when I'm
over here and I'm looking at the
confidence monitor it's kind of jarring
but if I look at you at the camera look
at you I'm looking at you looking
directly into the camera this feels more
like we're friends we're here we're
gonna code all that sort of stuff
yes No so you tell me all right so um
what's going on today so first of all
this I don't this is not I would say
this is this is not the season premiere
I feel like I might need to go to a
seasons model because my life is
entirely built around academic semesters
and I was thinking of having like a fall
season and the spring season and then a
summer season and then a break so I
might I'm thinking about doing something
like that because even though my hiatus
was much too long this summer in in the
end it was almost a full it was possibly
over two months so I don't don't intend
to have a hiatus that long from
live-streaming
but I do think each summer like taking a
month break is I'm just doing so and so
I'm that's not really the important
thing right now I'm just looking at the
chat to tell me everything is perfect no
improvement is needed the monitor care
louder you know people are talking if
the whiteboard is reflective don't worry
about that I'm going to I have Matt the
wall covering that I'm going to this is
just a very temporary thing the wall
covering
we'll be Matt is Matt so we won't be too
reflective I'm best at the sound delay
oh the sound blaze gone so interestingly
what I one thing I want to just show you
sound is absolutely good enough thank
you Peter
what's nice about this too when I get
these pop-up messages from slack is it
has a little face so I see a little face
hi
thanks Peter alright let's let me go
here I just want to show you one other
feature that I have here David Cohen is
asking are you on Twitch no no no I mean
I could be it's a thing I have the
technological capability to do but for
whatever reason I stream on YouTube
YouTube streaming person thing I don't
know not on twitch at the moment okay so
let me go to this is the thing I want to
show you audio advanced audio properties
no that's not what I want to show you
filters okay I'm going to demonstrate
something to you at the moment right so
this room in addition to the ceiling
being right there
this room has some very loud ventilation
incidentally if you're wondering what's
behind me right over here is a bathroom
anybody in there
if I have to go which I often do the
fight stream for like three or four
hours it won't be very far away which is
nice on the other side I think it's a
shirt shop so there might be some loud
noises simply not soundproof in here and
there's a very loud ventilation sound
it's not that bad but it's a if I were
trying to record you know a you know
those were like a fully room or trying
to record a podcast would be a problem I
think with a lav mic and live streaming
the the buzz the hum from the
ventilation isn't a huge issue but you
don't hear it right now because I have
OBS an open broadcaster do you have
noise suppression on so I'm going to
turn that off for a second so now you
should be hearing
I'm sorry I'm looking at the chat now
you should be hearing the sound of the
hum now I was monitoring myself on a
headphone on a Helen a headphone this is
a headphone this is headphones now I can
hear myself it's a little bit weird cuz
there's a slight lag and I hear that hum
i'm gonna click noise suppression and
it's gone so i like this without the
noise but people the other i did a test
livestream with a smaller non public
audience and some of the people said to
me is a little creepy how silent it is
so there is a suppression level variable
that i can play with
but i couldn't really make it do
anything i'm gonna do something with it
right now so I am going to way better
without the noise canceling so that's
your voice is much clearer alright this
is gonna be our first ever and also
something's weird about the color right
doesn't the color of this background
look different than what it used to be
or am I just crazy because I have a
different monitor over here so many
things let's do our little
strawpoll exercise for the first time
straw pull just try this one
noise suppression yes and I like it I
like the quiet no it's too quiet alright
so this is going to be the pole I'm
gonna hit create pole and this is the
URL if somebody could oblige and place
this URL in the if someone could place
this URL in the chat thank you
and then what I'm gonna do is I'm gonna
let you hear this again so I'm gonna
talk throughout the whole thing and then
I'm also gonna do it and do it and Simon
is pointing out to me there's also a
noise
option that one I tried and it causes a
lot of like clicking and going in and
out so that one really didn't work very
well the colors are a bit off the window
is not white right is that but no wait
it's weird
is that my like setting oh you know what
it might be is there like a display
color settings or something like I
thought what it was was night the thing
that's called like no not this that like
night vision thing on iOS is not iOS
with Mac OS which is somewhere in Energy
Saver where is that is there a setting
where so we hold on let me do the sound
thing first there's like a setting there
must be like a color setting thing which
I don't know why I'm staring at this as
if I'm gonna find it let me do the noise
thing okay
all right here comes the noise the noise
suppression is on noise suppression is
on the noise suppression is on the noise
suppression is on the noise suppression
is on the noise suppression is off the
noise suppression is off the noise
suppression is off the noise suppression
is off the noise suppression is on the
noise suppression is on the noise
suppression is on these pretzels are
making me lose suppressed notes this
noise suppression is making me thirsty
that would have been better
the noise suppression is on the noise
suppression is on north suppression is
off the noise suppression is off you
need the link somebody post the link
display night shift tab yeah oh so I
wasn't the right place yes but night
shift is off so there must be some other
kind of color this is what I'm looking
for display color
ah do you think this is the issue on
definitely honest better oh I'm gonna
books ah alright I the syllables are
clear off there's a middle ground to
have the noise suppression I agree I
don't know how to set it I can't find
the middle ground I want to find the
middle I live in the middle I'm all
about the middle alright hold on let's
try other color profiles could this
possibly whoops ah look did that do
something there's nobody there's really
nobody who has admin privileges in the
chat to post that link there we go thank
you okay week Mon Nathan growl is going
to help me okay I'm ready I'm here I'm
following your instructions I'm at your
command people tell me what color
profile to use hi Gaelic that's so nice
I'm so glad to hear that you started
programming from watching this channel
no no I found the night show people are
yeah I forget that you're in the past I
am in the future you're in the past oh
wait let's see if I can get my sound
effects going oh I'm only at 6% after
all of that time charging okay it's true
tone so I'm supposed to select true tone
I don't know how computers work I don't
see an option called true tone calibrate
what do I do
no I don't want built-in retina I want
this ah Pro capture no wonder
true tone what do i do what do i do it's
a color LCD color match so do anything
did that do something turn off true tone
[Music]
there's where we're going to I turn off
true tone I don't know how to do that
open profile all right let me get my
sound going somebody will tell me turn
off true to know how completely
incompetent I have a master's degree and
interactive telecommunications I can't
even find the charger charger ah here it
is I have a charger I have a USB C 2
lightning charger display display tab
uncheck true tone okay thank you NIT eh
display display uncheck display display
tab display display tab I see no
unchecking true tone oh there it is but
this is for the retina display it
shouldn't affect the output to the
capture oh I guess I did it do Apple RGB
1998 is that better turn the computer
off him at haunt again two tabs to the
left yes I can't tell if it change did
it change I'm sorry for those of you are
here for the coding well there will be
some coding today but it's I'm haven't
even been a half an hour you oh no no no
no no no no no no no no I do not not new
message color is better now okay great
what did it the true tone or the Adobe
RGB who knows
let's check the straw poll
hmm so more people are voting for the no
noise suppression I don't know how new
oh I'm sorry
pronounced Nidhi didn't help me did I
say it wrong nighty sorry I don't know
how to pronounce 1998 and true tone off
is too white oh no like this like
live-streaming settings by committee is
a really bad idea but hold on I'm over
here trying to get some music playing so
give me a minute here
1998 seems more old-fashioned rap I'm
gonna I'm gonna put that back i I do
like the idea of being like an
old-fashioned
retro live streaming let's go back to
color sync utility I did not need that
okay System Preferences displays your
turn is off oh I see automatically adapt
display make colors appear consistent in
different ambient lighting conditions
got it so let's go back to house this
regular Apple RGB or whatever it was on
it was like HD how about this HD 709 a
meaty haha mailed it to - does that work
makes me so happy
it's so sad I have this Elgato stream
deck and I've only used four buttons so
far so eventually I'll get some more
come on here we go let's get to not now
I don't need to verify don't want to
verify anything just give me my music
okay I don't hear it do you hear it whoa
super loud coming in super loud coming
in alright everybody now
what I used to use for this is something
called loopback whoops yeah yeah yeah
it's a little little behind-the-scenes
magic here there we go
[Music]
wait we have 30 minutes yet switch over
here yeah you don't
music is gone you need to add the music
to this shot why is it so dark
am I crazy is this like really dark oh
the cameras like Auto stuff I need to
put the camera on manual left is much
louder this gyms bonus a little weird
okay well so one thing
[Music]
do you know what that's my fault
I actually have separate control it's
gonna be too loud sorry buddy
[Music]
request from Michael Michelle underneath
the pronunciation help for this time is
it better now the weird thing is the mic
is picking it up so much so I just turn
the mic off this is the audio without
getting it from the mic
this dog this dog the start that this
stock song never forget the best on but
somebody composed that song for me so
almost inaudible like when you say was
almost inaudible it's always almost
inaudible now I or when I when I mute my
microphone it's inaudible this is really
good for me to be biking all this Oh the
laptop mike is the laptop Mike oh you
mean I don't know laptop Mike so I don't
understand what people are telling me no
to sound inputs right now are this Mike
and the the music is inaudible is the
music inaudible right now oh now I'm
throwing it
[Music]
stop this stop this I have to remind
everybody that it's very very you know
I'm just an idiot to this because I can
actually monitor it
[Music]
to get hot where's my air conditioning a
we too loud but better than before I
have very fine control over this audio
[Music]
hey it's coating garden with CJ here
okay
hi Cody garden with CJ alright beam your
name is CJ I don't have to refer to you
as Cody garden with CJ but it says on my
screen love your icon a little plant
alright I think I'm done with my good
down I think I'm it's as good as it's
gonna be we got it I got to do something
else
got some color got a computer alright so
welcome everyone to the coding dream I
am your host Daniel chief Mon and I am
here to read to you from my book a
million random digits with 100,000
normal deviates because what we need in
this world in these turbulent times is a
way of relaxing a meditative experience
a way to connect with each other and for
me very strangely it happens to be
reading random numbers seventy one
thousand three hundred eighteen
68,000 876 53,000 986 1289 fifty-eight
thousand nine hundred and thirty-four
seven it was seven to seven ninety five
twenty seven thousand five hundred and
thirty seven twenty-three thousand three
hundred and fifty three twenty one
thousand five hundred and twenty five
six thousand one hundred and fifty five
fifteen thousand one hundred forty six
thirty seven thousand four hundred and
seventy eight maybe a thousand five
hundred sixty six thirty six thousand
eight hundred and eighty-three
twenty-six thousand nine hundred and
sixty-seven so what this is is a youtube
channel where I oh I have to interrupt
myself again oh this is I'm the worst
because oddly enough to switch to the
other camera for some reason I have this
like it was doing some cleaning and
various things that have this perfectly
green little towel which I could use to
like erase the whiteboard but I'm gonna
get a dirty so I just really feel like I
need to walk into the other scene
wearing it
[Music]
also what's gonna be fun is I will show
you this very very strange mysterious
can of paint what is going on with this
weird can of paint you know what's going
on it it's got green on it that's the
actual paint I painted that whiteboard
okay so I was saying is this is a
YouTube channel where every week and I
think it's gonna be Friday's for the
foreseeable foreseeable future I think
that I'm gonna alternate between doing
live streams that are in the morning my
time which would be about 9:00 a.m. my
time eastern time you can do your math
as to where you are and 5:00 p.m.
Eastern Time so today was a 5:00 p.m.
Eastern time today I heard from a lot of
you that like it's midnight my time it's
1:00 a.m. my time I'm gonna stay up to
watch you know get some sleep take care
of yourself
it's much of your health and your your
sleep and your is much more important
than coding and me and YouTube and all
that nonsense but to the extent that I
can alternate different times to help
people with different parts of the world
catch the live streams I'm happy to do
so and it works well with my schedule
because sometimes I have something the
morning sometimes there's something in
the evening I do feel a little bit like
Friday at 5:00 p.m. is not the best time
for the live stream I have a very busy
week if you haven't watched before I
happen to have this strange full-time
job where I work at New York University
it's actually where I am right now
I'm at the new building in Brooklyn
so in this building on the floor where I
am is a program called ITP interactive
telecommunications program I would pull
up all these websites or slides but do
that there's also an undergraduate major
called ima or Interactive Media Arts
downstairs for me is the inter
integrated digital media program from
the Tannen School of Engineering
upstairs is the Clive Davis Center for
recorded music remove recorded music
Department one floor up is the NYU game
Center did you know let's see if there
live right now this would be amazing if
they were
they don't think they are NYU game game
I can type game Center live YouTube here
we go
this should get us where's the live
streams oh there we go so they were life
looks like it was live stream yesterday
come on people
oh you can't see this watch the game
Center live we can help them out here um
so anyway check out that anyway you gave
centers here I'm hoping to do more some
stuff with them maybe invite some guests
go upstairs I don't know we'd love to
collaborate with them as well
elsewhere in this building I believe
there's a computer science department
there's some engineering departments
there's something called cusp which is
the Center for urban studies and
planning
I believe lots of stuff in this building
it's very exciting I love being in
Brooklyn I live in Brooklyn and so
there's a lot of convenience now it took
me a long time to get back up and
running with this equipment in this room
so hopefully I'm gonna be here now for
you know until the middle of December
every single week I have some ideas and
other things that I might try to do with
the channel a little surprises hopefully
plan which I will speak to but what I
wanted to use today for beyond what I
wanted to use today for beyond just kind
of testing the equipment and getting
back in the habit of doing this is to
say like it's hard like I didn't really
feel like doing this again today I mean
I hate to admit that because this is one
of the things that I enjoy in my life
the most and the community that's around
and the people that I've met and the
people who leave comments and watch the
videos and create all these amazing
things that I never imagined to be
possible from these videos but you get
kind of out of the habit and I was like
I just want to go home like play with
kittens I have kittens I mean I there
are four kittens living in my house
right now it's a little bit nutso and we
need to those other two kids are being
adopted I think two is the right number
I mentioned on Instagram you can follow
some of mango and goose
fill up that Instagram come on that's so
but I'm now that I'm doing it I feel
really good and excited I feel like
there's a lot more work to do i i'm i
don't want to livestream with a lot of
the you know there's a lot of nice
inside jokes in terms of the
imperfections and things that don't work
and the camera shutting off but i would
like to have a bit more of a
professional operation mostly just to
have a higher quality content so there
so that's what's happening the channel
is meant to be for a beginner i have if
you've never watched before which i
don't know if it's so many of you i have
a thank you k weak bond for posting him
to the gents awesome i have what am I
trying to say sorry i thought of the
kittens again when i lost my train whoa
that was loud of thought does it say to
- yeah that's funny because when i press
the button you see the choo choo and
then a little later i press the button
whatever so what i want to one of the
things i want to use today for is to get
organized
i have a lot of new stuff that i'm
planning stuff that's coming together
but it's taken longer to come together
so i actually even though this
whiteboard is a little bit janky for
today i'm going to use it to make a list
of things that I want to accomplish this
fall and through December in terms of
content on this channel and then I
really want to try to stick to that or
use it as kind of guide a checklist so
to speak and you guys can help keep me
you all of you watching can keep me
honest in terms of what I'm getting to
and not getting to so I'm gonna first
I'm just gonna brainstorm let me first
figure out which marker works but I
could type this up so I could make this
a type list but I feel like doing this
on the whiteboard and then we will write
it down ah look at that this is a much
better marker I don't know why what's
the difference I'm going to come up
close to you and show you
as far as I can tell there's no
difference between these markers they're
the same but this one works and this one
doesn't okay so things that I want to
accomplish this fall so there's like
leftover stuff I better call it leftover
tic-tac-toe minimax
I remember this was left dangling can
you see this at all yeah you can kind of
see that it's not the greatest the
something I gotta do something more with
the Rubik's Cube I don't know what
that's gonna be definitely have to do
something more let's talk about machine
learning so that's another topic I want
to do something called a latent space
walk space walk that's definitely
something I want to do I probably will
use runway for that a runway m/l that's
something I definitely want to do I want
to spend some time on the ml5 this is
not a thing that exists on the internet
right now but I have a version of this
new I tweeted this out so a little bit I
apologize for the glare this is a new
function in ml 5 called neural network
that allows you to train a model from
that from scratch you basically what
allows you to do is you if you have a
data set if it's in a JSON format or a
CSV format you can load it in ml 5 will
create a neural network architecture for
you based on just some heuristics making
some best guesses and then you can train
a model and use it so that's something I
absolutely want to do there are probably
like so this this is what's off the top
of my head so let me take a look at the
chat right now and see if anything has
come in by the way I'm getting much
better at solving the Rubik's Cube I
didn't actually brings
in this summer fry birthday my kids
bought me everything by four you know
whatever my family bought me a nine by
nine Rubik's Cube which I spend quite a
bit of time it took me about most of the
day to solve it but I could solve it now
that was a lot of fun okay tree data
structure that's a hint I Claire p5 Jess
that would be good let me come back over
here for a second so the other so where
do you find ah yes so thank you Simon
brought something up which I'm gonna put
so I'm gonna put that under J s topics
like these are really just like
programming topics um so let's call that
generator function this is something
that I've been meaning to look at and
maybe talk about at some point over here
I should write challenges so this will
be like new challenges and again this
isn't like these are the things I'm
gonna do this semester this fall winter
and nothing's gonna change I just want
to have a little bit of a plan and
something to work with so that I'm kind
of keeping track of the larger picture
and getting a sense of like what people
are interested in tree for the minimax
yes so okay so let me see what else
don't forget n dimensions all right so n
dimensions okay yeah people are asking
for oh you doesn't change automatically
people are mentioning reinforcement
learning that I that I'm very interested
in I hesitate to write that down right
now because it's a bit more of the
purview of what I plan to do this spring
I mean I make a year behind at this
point and where I wanted to be with that
so I kind of want to put that there but
I don't I'm not super ready to commit to
that right now okay WebGL and shaders
Oh P something that I would like to also
have as a general topic if I'm sort of
thinking of topics is like open source
so I think I could do more with git and
github but I probably need to detail
that a bit better okay so a bit harder
for me to use this stream deck but I do
enjoy it okay so a couple things one let
me you know most of you I think who are
watching or familiar with the channel
I'm getting the sense but they're
probably people have never watched
before so if you're looking for to sort
of learn about the coding train you know
use two first stops one could just be
the channel homepage but also the coding
train website itself and this is where
you'll find some of the categories of
the kind of content that I make
so there's coding challenges which are
really just you know one-off videos I
want to do more computational geometry
hello so many things you can see these
here so these are them and you know if
you see it's a wide variety of topics
relating to algorithms and drawing in
various things well I really have made a
lot of content it's kind of a big thing
Oktoberfest
thank you for mentioning that so maybe
we can do I can plan to do something
around
Oktoberfest write that down over here a
functional on Oh Opie stuff so what am I
missing from the sort of yeah so I think
I need a more specific suggestion than
that but that is something an automated
switch for they can't write you yeah
yeah I probably should do that I don't
know okay then there are tutorials I
mean do I need to what I might like to
redo some of these beginner ones that
are quite out of date but I guess I'm
gonna hold off on that right now
alright so let's go look at so another
place where I kind of compile things
that I'm interested in I had people
suggest is
this github reap positive repository
called a rainbow topics I really keep
meeting to change the names of these
repos to be like Train themes they're
like be like stations or stops or
something like that but when we were
this other when I was when I would we
when this was a different channel with
another name back in the day it was
called rainbow topics I just can't bring
myself to change it so let's look at
this so one thing I'm gonna do is
sometimes when I'm interested in
something I like assign it to myself so
let me look at that first
okay autoencoders uh-huh well this I did
ah yes
marching squares marching cubes
absolutely want to do that let's write
that here marching squares cubes that's
one it and the reason why I'm making
this list I have another sort of plan
now already P and this is a little bit
our DP algorithm is something I really
want to do toothpick I did toothpicks oh
you know I'm not really standing in the
place where I'm kind of like off my
because I'm usually over here and then I
have more room here not really fully
used to this layout yet Fibonacci spiral
part four of nerve evolution what was
that water ripples I mean I have to go
through all these yeah I think I did
this ah Bora Rose is definitely
happening but I have a plan for that so
I don't but I'll put that put that on
the board
I did pull the roses but a more roses a
slightly different thing flocking
challenge I did wait are these no
they're the only opens Wow we really got
to go through these k-means clustering
yeah I do want to do that tree that tic
tac toe I did no more no more fluid
simulation please Alam spiral oh this is
patron recommended ASCII art generator
that's kind of like a fun one I don't
know how I would do that something
around like ASCII art let's do that so
David is telling me oh and David could
you a Voronoi yes actually um JavaScript
promises okay well so many so many
things are coming in hold on hold on
when it is high what are they dying
everybody Voronoi I died I'm afraid of
that but it is something that goes on
the list I think I need can I just
please right now just put de Launay
triangulation and then if I can manage
to do that the next step then then you
can tell me to do Voronoi I need to
build up to it okay so the other okay we
hold on David had said something
procedurally generated textures yeah
what did I mean by that I so apparently
in a video I said that I wanted to
generate do procedurally generated
textures I think I'll need to like go
back dive back into that tic-tac-toe ai
yes a wire world cellular automata to
C++ yeah okay interesting all right so
um now let me look at another so the
course that I'm actually teaching where
I need to make some videos to go along
with it
github.com slash Schiffman no no it's in
the ml 5 organization under
intro to ml arts ima oh how come I'm not
signed in I guess I won't worry about
that right now so I'm gonna look at this
syllabus because I want to make videos
for all of these things so I've made
videos about image classification I've
made videos about transfer learning I'm
gonna be making a video it goes under
the ml list but I'm not ready to it's
happening for sure but I'm not ready to
announce it yet but it has to do with so
I'll be coming to that pre-trained
models physical interactions so I think
that I want to do so another topic is
image segmentation models in ml 5 so
that's at the moment that's you net I
guess I'm you net and there's another
one body pics
so those are two I mean that I would
even do today you might have you know
I'm kind of like I feel like I'm here
till 7:00 so another a little over an
hour but I have some other things I
think I might do today but that's that
goes on that list there I've already got
the ml 5 neural network data collection
model training data collection model
training convolutional neural networks
what the heck did I mean by that oh dear
oh not I don't know what happen I don't
know what I'm doing with that so on the
syllabus I don't know what's happening
with that recurrent neural networks I do
want to do more with so let me go back
here so I want to do I want to do I want
to do interactive sketch RNN I have a
sketch or an end video but I want to do
interactive sketch are an N and that is
going to relate directly to doing RDP so
I need to do our DP to go along with
that
I'm gonna move this open-source thing
somewhere else because the machine
learning list is going to get long so
open-source what did I have right now we
you really just had to do something for
hack tober fest I wrote git and github
but I actually feel like I need I don't
want to put general things on here I do
that too much like I want like specific
video topics so like generator function
is a specific video topic soak a week -
suggesting explaining how filters and
pooling layers work yeah I would like to
do a video on that
I'm waiting into the territory of where
ml5 kind of like hides and obscures
those things but I'm gonna talk about it
in my class at NYU so I don't know let's
I'm gonna table that okay data
collection in a Python environment
trading and uh magenta let's put that on
the list this is not my strength but I'm
gonna try to do something with did I
make a video and sound classification I
did but I'm gonna do like a maybe a
melody generator RNN so I wanted to do
something with that run more stuff with
runway I'm gonna do like yeah I mean
this interactive image synthesis so
that's also a thing that I want to do I
did a few videos like I've done videos
on this already but I haven't really
done the videos on this so I'm gonna do
interactive image synthesis for sure
which is another basically image
segmentation but in the other direction
so I'm gonna say image I know that
segmentation but like in the other
direction so interactive image synthesis
so and I should emphasize that for these
topics I'm really using higher-level
tools so I'm using ml 5 and I'm using
runway which is why I'm not sure what
to put about like CNN on here
convolutional neural network because I
don't think that what I'm gonna do or
have the time for or the the ability to
really this semester is like program a
convolutional neural network from
scratch but I could use tensor flow ji
you know what we're putting them putting
that on there CN n because even if I
don't do it in my course at a minimum I
could talk about what a convolutional
layer is and go through it and then make
a convolutional neural network in
tension flow DJ s that's a topic I feel
confident in so these are all my ml
topics these are some challenges that I
want to do what are ones that are like
highly requested Tetris thinking of game
things that people are always asking me
to do so oh so this is what I'm going to
do next
so Simon is asking doesn't melody
generate or go under the challenge list
probably but I'm not worried right now
I'm not worrying about where the video
is actually gonna live I'm just trying
to organize the topics so yeah I might
make it a coding challenge like melody
generator but it's still with so we'll
see okay so the other thing the other
way that I look for these topics is by
going to I'm gonna clear my filter that
our assignment it's gonna look at the
open issues Atari breakout I've never
done Opeth because I had a guest meaning
she do breakout but you know people
would enjoy seeing me do it so that's a
great one we add that there oh you know
what's left over
here's another left over neuro steering
don't call it so that live stream never
got edited into a condensed video which
I think would have value for people
because right now the only way to look
at my explanation and demonstration of
that is to watch like two or three hours
which maybe some people actually want to
do but I would like to make a shorter
video out of that
then this is what I like to do ah neat
neat yes so neat memory game with
numbers that sounds like fun
let me sort this by most thumbs up so
this is another way that I sort this by
most thumbs up so we've got a bunch of
these already storm hydrology simulator
wait when did this appear I don't even
remember seeing this oh wait I think I
know this channel oh my goodness totally
missed this totally miss this what I
totally miss I totally want to do this
okay oh my god I better login so I can
reply to this where's my phone needs a
two-factor this baby
getting tweets from people asking to
post my cats to Twitter oh yes I'll post
my cats to Twitter
don't you worry oh no I got to get some
code here Authenticator plugging my
stickers yeah 946 this is probably is
this insecure for me like doing this
live I don't think it matters it's gonna
regenerate itself okay I don't know how
did I miss this oh here by the way
frequently is this is oh that member
joining Joe Paris gets a choo-choo this
by the way is basically just sums up
everything I think this if people could
just like screenshots his I feel like
this like just summarizes my entire life
right here and I would just use all of
them oh it didn't even I forgot how to
do it that's so weird
I was like oh it's just like being slow
whatever there we go
[Music]
store but be very very careful about
doing these emojis correctly there we go
good enough good enough okay well I've
lost a lot of viewers could work
Schiffman ah a new member thank you
thank you to Joe Paris for joining us a
new member I'll talk about the
membership stuff in a minute okay going
back
nope going oh here okay computer vision
fluid dynamics 3d water physics computer
craft Turtles Oh bro Noi electron I
totally will happily do that so that
goes under J s topics or open source
let's put it here electron tetris pi day
github tires in convert Karman vortex
street and that looks terrifying tariffs
oh no no we're fluid stuff help that
marching cubes oh oh I like this this is
awesome
Collatz conjecture like that
so I have by the way I have a whole new
way I'm gonna pick challenges that I've
just thought of it like kind of a sort
of thing about it today so and those are
two David Wright's those are two things
I saw in rainbow topics I'm not sure
what that's referring to another new
member candle hitokiri no all right so I
think this is I'm just doing this one
page hexagonal grid what's this exactly
yeah I think this could actually be
really good and Oh red blobs games is
like one of my favorite websites and
this is looks like some very helpful
information that I could probably follow
I'm looking for there we go look at that
yeah let's do that
so that's also a coding challenge so
this is good cuz I've got I'm at the
bottom of the whiteboard here there's
another new member with a Cyrillic name
Russian name I believe that I cannot
pronounce one two three four five six
seven eight nine so this is a good these
are things I need to get to that I did
before I mean I'm sure there are more
things but let me talk about now Oh
nightbot yes I've so many people have
recommended nightbot to me I don't know
I don't know if that's like I think let
me I guess I guess I can make another
category here I've kind of out of room
but which is stream improvements let's
brainstorm some of these right now so
nightbot what else oh I want to do more
with the stream deck I guess I'll just
put things here if they come up all
right
Oh pac-man and whirly noise yep
so I'm a little bit afraid to do pac-man
but I'll put it on the list I'm very
afraid to do whirly noise but we
shouldn't live in fear of these topics
there we go all right so I think I want
to do some coding today
[Music]
so let me just talk about some kind of
administrative stuff in terms of my
plans so I am revamping not
significantly the membership slash
patron program I haven't I'm not fully
decided about any stuff and a huge thank
you to psy who has come on board as a
coding trained community manager has
been thinking through a lot of this
stuff communicating with those of you
who have joined helping you make sure
you get your stuff in the mail if you
have questions about being a patron or a
member or if you are one and you haven't
received something that you were
promised please reach out directly to
psy you can do that in the slack channel
through a direct message if you don't
have a slack invite then you should
reach out to info at the coding train
comm or sigh that's CY at the coding
train comm David I do want to showcase
contributions yes David do you think you
could make me like a bitly link or
something like that because that way I
can just get to that document you made
very quickly so Nathan go to bed and
don't worry that not all the livestreams
won't all be at this time this is just
this week I'm going to definitely do
some earlier in the day okay so one of
the main things that I'm changing about
being a patron or a member is I don't
think that were male people signed books
anymore I would love to be able to get
people signed books so I'm trying to
think of a new gift and I'm working with
standard so if you're not familiar with
a standard they are a company that does
a lot of different services for
different YouTube creators oh you can't
see me I've been in the wrong screen for
like the longest time
there I am over there camera bot is a
must
yeah okay stream improvements camera bot
so I'm hoping to launch a new
merchandise store with standard helping
me design some stuff and then also have
a special like gift that would go to
patrons and members only and hopefully I
can't I don't know I the spirit of what
I'm doing I would like to send this gift
out to everyone so even if you joined
like however many years ago but that
would most likely anyway I'm still
figuring that out but will the thing
that I'm changing is that I'm going to
YouTube membership platform and people
are joining through YouTube there are
two ways that you currently can support
the coding train one is through patreon
and one is through YouTube membership
YouTube membership doesn't have levels
right now and patreon does and so I
think I'm going to add those levels to
YouTube's membership and then there are
certain things that YouTube's membership
allows me to do for example have YouTube
member only live streams and you get
little I mean emojis and because that's
what people that sort of things so I'm
conflicted I'm not choosing to shut down
patreon yet but I might recommend if you
want the full suite of benefits to join
through you to youtube memberships
anyway and I'm happy to answer questions
about that or talk about that more at a
later date so sarcasm as a service wrote
joined up just in time to get my sign
book I hope that doesn't mean you joined
today you know here's the reason why I
can't send the sign books I'll tell you
why I can't figure out a way to do it
that doesn't cost
more than $50 to ship a book
internationally it's also a tremendous
amount of work and get behind and people
who they get late they get lost in the
mail so it just doesn't seem very
sustainable and I don't even know if
it's a thing that people want that much
so I if you have ideas or thoughts about
the various types of things that people
are interested in and benefits I mean
mostly I don't wanna spend too much time
on this because mostly I'm here just
doing this YouTube livestream thing it's
nice to have this community of people
who are part of the member program it's
sort of like it there's many benefits to
that beyond just like you know some
funding for the channel that allows me
to do various things and hire people to
work on projects and like sort of keep
myself motivated to be honest but that's
not my my highest priority but I do want
to make it something that is sustainable
and meaningful for people who are
joining but you're not gonna miss
anything by not joining you will not
miss anything
all the content that I do will always
just be on the channel or you know on
github and that sort of thing there's no
a premium content okay so and some
people are asking about the member only
live streams so the member only live
streams are typically live streams where
I'm testing out an idea or doing an
offline recording session of something
that I'm gonna publish as a recorded
video so the only thing you might miss
if you don't catch a member only live
stream is a little bit of behind the
scenes sort of chatter and flourish like
really if I'm trying to figure out I'm
Nathan I think I saw a message about
helping me tune the audio settings like
that I would do in a member only live
stream well as much as you all might
have enjoyed me for a half an hour
trying to do a whole lot of audio
testing okay discord server has been
suggested I yeah yeah where's that
discord I am very open to that I feel
like I'm out of my element here as like
an old fogey not that old of a foggy
fogey nonetheless and I don't know right
now the ways that the community
communicates are git and github for all
of the sort of code examples and
suggesting topics
sorry github is not get and github
github is the website where I keep all
the source code and there's the issues
for topic suggestions a better system
for topics you suggestions it's
definitely needed and wanted but that's
the system right now there's YouTube
YouTube comments I used to read I still
intend to read every single comment I'm
like two months behind I kind of like
popped in and out but I just like lost
the ability to keep up with it
but that's the place where there's
community happening YouTube comments
aren't my favorite place in the world
you the people that I hear from seem to
be wonderful people and I'm very lucky
and privileged to have thoughtful
comments and I think you know there's
there's lots of reasons for that that
are unfortunate that not everybody is so
lucky to be able to and not be harassed
online as but so that's one place so
we've established github YouTube you
know there's social media I'm not a huge
I'm not super active on Twitter but
that's where you'll find me the
Instagram is run by psy we have a
Facebook need to do some more with that
so there's also that the member
community where is really a place to
like ask coding questions share cat
pictures and just kind of like enjoy
each other's company has been a slack
channel but you know it's not
sustainable for me to pay for slack
because it's around five dollars per
person and if someone's joined for five
dollars like it doesn't even pay for
itself so some people have suggested
discord and maybe there's me I think
there's an unofficial discord there's a
reddit so that's me I'm really open to
and maybe we can have some more
discussion about that in what is
currently the existing slack Channel
okay I did spin up a whole Mastodon
instance when I was on a Mastodon kick
it was about a year ago but I let it as
many things happen on the internet I
just let it fall away
that's that okay all right could you
please do a video you have videos on map
and reduce how about a video on ma nodes
and transducers New York's video on the
wavefunction alright so here's the thing
what I would like oh I thought of
another coding challenge I don't have
room on the board anyway I might even
just do it today I'm tired I gotta do
some coding before I go so again this
was my practice get back into the swing
of things I have some other so I have
some other things that I'm hoping to do
some a new kind of video that I'm gonna
try to do on the channel but I almost
think too much about it before I do it
pipe I shot a pilot and it was like a
total mess so I'm gonna reshoot that
pilot and see how that goes it's a video
that I could kind of video that I can do
when I'm not here at NYU that I can
actually do from home so that's that's
coming let's see if it's not alone be a
livestream thing David Schneider asked
is there a way to pledge more than five
dollars a month with YouTube memberships
I thought I was mentioning this and I
think I lost my train of thought and
didn't get there so David you really you
can get my attention without doing a
super chat but thank you very much so
yes so YouTube memberships has multi
tiered levels
I just haven't put them in yet so I'm
working with psy to do that and if in an
ideal world those would be up as of next
week
so but that's that's that's the go I'm
gonna have equivalent levels on YouTube
and patreon and I would just remove the
patreon but whenever I say I'm gonna do
that
I hear from above at your Villa sites
please don't do that I just like using
patreon as a platform so I see no reason
not to keep it open but it's a platform
that I'm less invested in paying
attention to I mean there's a lot of
downsides of doing everything on YouTube
so I have mixed feelings about that but
I think I'll get some benefits from the
YouTube channel knowing who the members
are but who knows
welcome to I'm getting all these new
members welcome to a new member
bilal shot hello and thank you very much
okay I believe people are joining when
I've done absolutely nothing but talk
for
what is now an hour in 20 minutes geez
Louise I need a little break I don't
have any of my by the way I'm seeking
seeking an animator with a special love
for unicorns and rainbow like aesthetics
who might like to work on some
interstitial animations that I can play
during live streams like about to start
on a break and technical difficulties
reach out I guess right now on Twitter
if it send me a link to like your reel
or portfolio or something I'm looking to
hire somebody to do that kind of work
okay
[Music]
that's not promising I wanted to see if
this example worked as I was thinking of
using it I was thinking of trying to do
I since I you call a lien out of tune
and the ukulele tuner I have doesn't
have a battery I was thinking why did
that not work
I'm handed taping here let's see is
there a pitch detection example here
let's try the piano pitch detection
let's close this there we go
[Music]
this was a coding challenge I was
thinking of doing today can anyone tell
me if I'm getting anything remotely
accurate that I could actually use yeah
I think I could do this if it works it
works all right
so that's one thing I could do before I
go the other thing is here so I happen
to listen to I don't know if I should
admit this I mean I actually don't mind
admitting this but I happen to listen to
a podcast you know I had a wheel a
spinning wheel quite a long time ago
right you've seen me do this right where
I will go and I go to this like I think
it's like Schiffman github do slash
randomizer I think is where it lives and
I've done this and I'll take my list of
coding challenge ideas like marching
squares RDP more rows and like ASCII art
right if I take that list and I put it
here into this randomizer and I go to
spin I get this nice wheel which I think
I can grab and I can I thought I could
spin it or I could press this button
spin the wheel and then it picks one
randomly and I have you kahlil's a
little flat and I would then oh sorry
let me do that again sorry I started
looking at the chat
so I used to do this and I would have a
bunch of options and then it would pick
one and I would then try to do that as
the coding challenge and work fell off I
wasn't sure what the pic I'd like put
this away and today I was been listening
to this podcast where the podcast has a
wheel I've never seen it because I'm
just listening to the podcast but they
spin it I think there's a website
actually where they have the wheel I
think it's called it's called rob and a
Kiva a podcast like that look it up
maybe we can build them like some
software tool for their wheel if they
don't think they already have one but at
the end of each podcast they spin the
wheel for the topic for the next one and
it occurred to me that that's the
missing piece for me and they have like
a wheel they have a wheel waiting room
they have rejected ideas so I feel like
what I did today was my little exercise
of like things that could make it on to
the wheel like this is a list of topics
that if I spun the wheel and it landed
on one I could be willing to commit to
doing it the following week so in other
words instead of like having this list
and being surprised by the topic I would
pick it in advance I'm not saying that I
would I'm and so I would do somewhere in
between like going and programming the
whole thing like all week and then just
coming in coding it live and no
preparation whatsoever I think that no
preparation whatsoever gets me into a
little bit of trouble with some of these
topics like for example Delauney
triangulation no preparation whatsoever
is totally fine for me for like ASCII
art probably for the Mara Rose you can
potentially break out some of these but
some of these that require some research
and thinking so I would do a little bit
of research and thinking and reading and
prepare not code but I prepare little
materials and then I would come and do
it as a coding challenge so what I
proposed I was gonna do this I think I
don't have time I was actually gonna do
a coding job today which was like
program a wheel spinner and then we as a
community could like make it and I would
have several different JSON files that
would be
and maybe I should do this actually that
would be like the wheel topics the wheel
waiting room and there could be certain
things like we could get really crazy
with this where there's like one thing
on the wheel is like actually a separate
pick something random out like it could
be there could be like a game spot so
maybe there's like a larger spot that
just gains and then when it lands on
games I would pick a you know ping-pong
ball out of a bucket that I don't know
what the next metaphor is or the next
visual like that I would pick you know
breakout Tetris or pac-man or whatever
so and then and I don't know that I
would do a wheel spin every single week
because some coding challenges would
require a full live stream some coding
challenges can be done to 15 to 20
minutes hahaha and then other weeks I
really want to be going through my con
and machine learning content for my
course so it's gonna be hard to balance
all of this but that's kind of my plan
right now and if I can get this other
way that making videos off the ground
I might actually mostly do the coding
challenges through that mechanism which
is a way of doing a little home studio
that I'm sort of setting up it's
currently there's no electricity in it
little little T's are there for you so I
think live streaming will be kind of an
issue but you know I can record a video
with the extent that my battery will
last it sounds very ominous I know but
you'll see you'll see coming soon all
right so I don't know what people think
about this is Dan who is sighs so sighs
spelled CY and they are the community
manager for the coding train working on
social media and communication with the
patrons and members and helping me set
up this new merchandise store and also
special rewards for patrons okay
all right so ah thank you perfect timing
the list to the contributions thank you
David the chiming couldn't be more
impeccable bit dot ly
to an m4 KY q TMC writes spinning wheel
is lazy I'm not sure I fully understand
that I'm not sure if like you mean like
I should do something more interesting
than a wheel spin but no I actually
would love to have a big physical wheel
that's what I really want I'm not good
at making physical things
well this work did I type this in
correctly awesome so um thank you I'm
David Schneider a member coding trained
member who prepared this so in the time
people have been submitting
contributions to the website and by the
way coding trained community
contributions there if you don't know
what I'm talking about or how to do that
you can find this video which is only 12
minutes long which is shocking for me
which is describes how to go through the
process of submitting your contribution
to the coding training website oh I know
what I'm going to use the wheel for
right now
this is perfect oh this is great okay
hold on I've got a plan 6:30 this is not
a plan that can be accomplished in 30
minutes but this is what I'm thinking
I'm going to do a coding challenge which
is make a spinning wheel yeah yeah I
know it could be like a bingo machine
I'll get to that
and then I'll spin the wheel to pick a
number and show some community
contributions and then I'll try to make
a ukulele tuner and yes I'll go set the
point of the ukulele tuner would be to
have a visual a visual to show you that
you know this is a note I want it to be
this is how far off I am okay
[Music]
okay
so how do I want to do this I have this
already as the thing I could also just
use random org to pick a random number
say the wheelspin is a little bit crazy
because there's 78 so a so a bingo
machine would be better the wheel needs
to make a spinning wheel noise
definitely definitely does how did how
to approach this right now I need to
think
[Music]
I'm not gonna read them okay it's just
gonna fix up treating them to myself is
it weird that I'm not reading them out
loud now I'm not even thinking cuz I'm
thinking about how it's weird they're
not reading them out loud
I did the Plinko machine before which
kind of works for this I like the idea
of a bucket full of compart five for
your blinker challenge with numbers yeah
Simon and I think alike
prize wheel an Amazon fairly cheap bingo
machines too but they're more spending
money is no object for me if I could get
myself a bingo machine whatsoever I will
spend all of my patreon money on a bingo
machine for sure that is not a not even
a question
you have to read them out loud okay good
point all right what if I did one of
those um prices right things right now
well welcome to member Luke Finch where
you like to pull down the big thing and
it like spins around I could do that
probably in processing see this is why I
need a plan I can't just come here and
expect to come up with the idea in my
mind
spin the wheel bingo spin wheel pling
pling Co Co - dice rolling oh that's an
interesting idea
dice rolling that sounds like a very
elaborate physics simulation though
that's not within my realm of
possibility right now can I just gonna
do the ukulele tuner let's do the
ukulele tuner let's let's do the ukulele
tuner so by the way all of you who are
joining actually a very curious question
when you join as a Youtube member in
theory are supposed to be taken to a
screen that has a little like welcome
message with a link to a Google for
did that happen if not please email CY
at the coding train calm okay don't
think you have time to make something
tonight I know I could do a spinning
wheel I feel like that's like a quick
thing it's like everybody always wonders
how our quirks nice beginner-friendly
coding challenge we're gonna make a
spinning wheel an ad so what I can put I
could divide it into 78 little slices
right or I could pick random numbers
another way it's sorry K week - actually
I believe it's not coding train com
I don't think I have coding train comm
coding train comm is listed for sale so
I would totally spend $1,000 on a bingo
machine but I'm not spending it on a
domain name that's just ridiculous
give me a break duh the dye is very
important it makes it sound important I
am the coding train I'm not coding drink
I am the coding train what are people in
the hallway can just hear me you just
hear me in the hallway probably it's
gonna say choo choo in the chat you know
that I'm gonna do it okay um all right
it was pretty fluffy okay once for tens
and ones for you the wheel snowflake
emoji I'm trying understand what that
means I'm definitely a snowflake if you
pre chose the value reverse simulated
the wheel Luke your math is missing an
important piece of there's a certain
percentage which is mine
I'm listening from the hallway John
Walthall your name has a hall in it
that's believable but I'm gonna need a
little proof but need you to knock on
the door
if you're in the hallway but I need you
to knock on the door okay this sitting
around trying to decide is no good we're
gonna make a ukulele tuner and see how
that goes
no no crap is it look at my password
manager I can't remember how come I'm
not logged in anymore
oh wait it was like trying to dashlane
me in right oh but I don't know what
that is okay what am I looking for
yes my password manager
really
hmm
all right I guess I forgot my password
uh I can only assume this is the email I
used does it send it
see how unprepared I am now I'm gonna
look at my email this is ridiculous okay
I got an email reset my password oh I
remember what I made it now because I
didn't actually like do it with my
password manager
[Music]
and this should be good enough okay I am
going to do a coding challenge how's the
focus am I out of focus is this okay
what do I have - I have the noise thing
on I'm gonna turn that off because if
this gets edited into a coding challenge
it's off okay then then we can always no
run like a noise suppression thing after
the fact okay I'm also gonna need I
remember like when I first by the way
this is the second attempt at this long
time ago and it totally didn't work at
all but there was like a frequency to
piano note like Wiki Wikipedia page I
think I looked at piano key frequencies
which I'm going to need and there's like
a formula for it but I can also just
look up the actual frequency here great
so this is what I'm looking for the
ukulele would be which the ukulele is
ukelele notes are no I want the notes
for the strings
it's gonna give me a nice yeah
AEC G and this is gonna probably be like
a four is that right someone's got to
know this where's that 440 that's what
I'm guessing uh okay all right focus is
good okay thanks everybody by the way
just another little plug coating garden
with CJ has had a ton of content I did I
get notifications on fication boyfriend
using something called like feather J s
I've never even heard of that go check
out the coding garden with CJ I've been
not live streaming forever and but
there's so much happening on the
Internet okay
[Music]
just try to think of what's a good
opening for this coding challenge
hello and welcome to a coding train
coding challenge this is my first kind
of challenge in this new coding trade
studio oh my goodness but my ukulele is
very out of tune and I actually have a
ukulele tuner but the battery's dead
so I thought here we are let's see if we
can make a ukulele tuner in the browser
using p5 GS and ml 5 j s voice just got
lost right so
Oh editing is a wonderful thing to do
this I'm going to use ml 5gs library
which is a machine learning library that
I've used in tutorials and various other
coding challenges it's built on top of
tensorflow GIS and it is friendly it is
I would start the whole thing over this
is just like the old days
I get to do this as many times as I want
see this is a paintbrush which was used
to paint this wall behind me hello and
welcome to a coda challenge oh that is
terribly out of tune this coding
challenge is making a ukulele tuner and
it is the first coding challenge that
I'm doing here in this new coding train
studio I like it better the first time
to 12th root of 2 to the power of the
number of half-steps yes yes I can
barely play a guitar all right here we
go last time no more breaks no more
stops
this is ridiculous that I do this I have
to not do this anymore this is my new
year's the new studio resolution is no
second takes editing is fine
editing is fine just no second takes
[Music]
hi oh hello that was loud hello and
welcome to a coding challenge from the
coding train it sounds better than the
other room I'm glad to hear that there's
no echo in here and I actually have
carpeting that I'm planning to put down
which isn't put down yet but once it is
it will be okay I'm back with a coding
challenge oh and my ukulele is very out
of tune I'm in a new studio the tuning
of the ukulele did not last in the move
to the new studio and the battery and my
Glalie tuner is dead you don't need to
know all this information so I thought
what's a better opportunity than to do
at coding Johnson I've been wanting to
do for a while which is make a ukulele
tuner that would work in the browser and
so to do that I am going to use some
JavaScript libraries that I use in a lot
of different videos one is ml5 j s ml
five is a machine learning library built
on top of tensorflow JS it has a lot of
pre trained models in it one of which is
a pitch detection model I think I could
use that to to the ukulele I hope we'll
see how well it works and then I'm also
going to use p5.js
and this is the p5 GS web editor I'm
gonna try programming the whole thing
right here in the browser and see what
happens so what do I need to do so I
guess the first thing that I should do
is import the ml 5 library so I'm gonna
go to getting started oh look at this
actually the easiest way for me to do
this is just click on this link which
makes a p5 web better sketch with the ml
5 just library added so I'm gonna do
that and I'm gonna go back over here and
I'm gonna click over here and then over
here and I'm gonna hit save I'm gonna
run it and make sure it's happening
there it is so ml 5 has now been loaded
we can see the version is zero point
three point zero since there are zero
point three point one I think there's a
slightly newer release let's check that
out who knows you're probably watching
this when sometime in the future where
we don't keep track of open source
software by numbers anymore this is
release rainbow
but yes my suspicion was right there's
actually a version zero point three
point one so let me go and update that
by changing it here hiding the point one
this is very important that this is in
this coding challenge you must learn to
update your amplify version when you are
making a ukulele tuner and then I'm
gonna I don't need this console log
anymore although I guess I could try it
one more time just to sort of see there
we go
and for a minute just because I'm kind
of standing in front of stuff and I
don't have it set up - I'm planning to
record everything with these separate
green and separate background but I'm
not ready to do that just yet so I'm
just going to do a screen recording so I
have that just in case at some point
match up if Ed 'its is together needs to
take me out of this
so I'm now recording the screen okay
thanks Marcos all right all right where
was I so now that I have my p5 sketch
here I can go back to the ml 5 website
I'm gonna go to reference and here we
can see one of the things about ml 5 is
all of the different functions that are
in ml 5 are separated by media category
there's this other category called
helpers and boy do I have some videos
coming up about that for you someday
soon I'm gonna go to sound and I'm gonna
look at this pitch detection one so
here's the documentation time out hold
on a second what
just curious when I there's a little
there's a mistake here I just realized I
think everyone I had the pitch detection
one going oh I have to upload the model
that's crazy so that's a mistake the
model isn't hosted all right let's see
here I didn't realize this was gonna be
a little extra layer of complexity I
need to figure this out before I go any
further
[Music]
here it is here it is okay great
so let me just
I don't know how big this is so let me
just download the oh you can't see I'm
really not standing in the right place
the camera I need to do something about
the where everything is this should
actually I think I should be putting the
sounds on the other side of me but it's
not really easy for me to do that right
now
I'll leave that here
I'm downloading this huge thing this is
ridiculous it's at 38% so I can plug
this right now see I'm just so out of
practice here there we go this is what I
wanted to do the stream deck can be over
here oh you know I'm such an idiot
I could just move the desk over and like
there's no room to the right of the
computer for anything yeah
how about moving the desk dum-dum
okay hold on everybody now I have my
sound effects and my stream deck and I'm
standing over here and I'm more to the
side I'm bigger than I used to be people
told me when I was doing a test that I
was too small but now I think I'm too
big okay okay
okay
to this download
okay sorry everyone I think I am back to
what I was doing it's very confusing the
camera is like a little bit there we go
ah I think this works for me now I'm
like I just have to angle myself a
little bit okay but it's the desk now
and the whiteboard camera shot good
question
no it is not the whiteboard camera shot
does not start until right about here
which if I go back is you know pretty
far off okay should I just start the
whole thing over I should definitely
start the whole thing over right yes
right exactly that's what I think - I'm
so glad we agree on this
okay here we go
yeah I really would like to have a
roaming camera in this room because then
I could then I could I could like show
you the stuff in the room but another
time okay I think it was better to have
this up
non FFT pitch finder revisit yeah
there's there's many other ways to do
pitch detection but whatever I'm gonna
do it this way oh my you clearly is very
out of tune what luck this happens to be
the make a ukulele tuner coding
challenge what a coincidence I'm here in
my new studio located it's not my studio
but it is a studio it's in Brooklyn at
New York University and I'm doing my
first coding challenge from here um I I
don't really know what makes sense that
I just like if this is a moment to do
some sort of particular coding challenge
I don't know I'm just gonna do go to the
ukulele because the tuner I have the
batteries broken my ears not so good so
we'll see if this works I'm gonna use
the ML v JS library this is a JavaScript
library that I'm lucky enough to
participate in its development and I try
to make tutorials with so this works
well it has a pre trained model for
pitch detection which I'll talk about in
a moment and then I'm also going to use
the p5 web editors a little tricky to do
this in the p5 web editor because it
could involve I'm going to upload a
bunch of stuff but the good news is I
already have the ml 5 library right here
all you need to do if you want if you're
in the p5 web editor at editor dot p5.js
dot org
if you go to the ml 5 website under
getting started you'll see that all you
need to do is either add this script tag
or even better you can see that here
where is that where is it where is it
where is it there it is sorry should
just started with this all you need to
do is click on this link which will open
a web app a sketch in the p5 web editor
with the ml 5 library already important
ok
so we're there I could make sure this is
working by saying something like you
know console.log ml v dot version I'm
going to hit run and I see the version
down here so I've got ml 5 going now
what do I need to do next so if I go to
the ml 5 website I'm going to go to a
reference and in reference I can see
that the various functionality of ml 5
is divided into different categories
based on media and what I definitely
want to do is look at sound here
I want to find a sound model and lo lo
and behold there is a model called pitch
detection now I should mention that
there are ways of analyzing a sound for
pitch but you don't need machine
learning for I'm you can do FFT analysis
and look at the different various
amplitudes of different frequencies and
pick the one that's left there's a
variety of ways in people much smarter
who know much more about sound could
tell you how to do that and I'm sure you
can find other tutorials but I'm here I
want to try to use the ml 5 library but
this really begs the question like well
how is this working you said something
about pre trained model so ml 5 is comes
with a certain model known as crepe I
don't know if that's how you pronounce
that I like to say clip which is a
convolutional representation for a pitch
estimation or clip I like fruit little
banana maybe a little Nutella it's kind
of good I don't know it's too much for
me then to tell us this is about pitch
detection and so you can read a lot more
about this particular model and what
data was used to train it which is
always a question you should ask when
you're using someone's pre trained model
because there's a lot of things that go
wrong or right or be problematic
potentially about a model based on the
data it was trained and this paper
describes that in more detail you can
even run this demo in the browser I'll
do it right now
let me not allowed I don't know why it's
not allowing my microphone oh here we go
let me tweak yeah yeah I'm gonna always
allow and I'm gonna hit refresh I'm
gonna click here to start the demo I
cannot do anything
[Music]
well this this is really a fail
all right let's skip that let's not you
oldest about a big magic yo I'm not
starting over again you could click on
this link over here to see a demo of it
in the browser but we're gonna do this
in ml 5 and thank you a big THANK YOU to
Hannah Davis who actually did the
porting of this model into ml 5 and I'll
include some links to her work in this
video's description ok so here I am on
the ml 5 documentation page and it looks
a little bit like yeah what's going on
here so I need to create a pitch object
and there's some sort of like string dot
slash model what's that audio context
mic stream model loaded slot stuff I
need to figure out here well the first
thing I want to figure out is all right
well I see I should now I'm looking over
here and I see the chat and real cygnus
is asking what's just asking not
criticizing didn't he use this little
while ago and it didn't go over well yes
and have I done
how am i taking the time to check to see
if it would go well this time no but
here we go I think it's gonna work
because the bugs that I found last time
got fixed we'll see the first thing I
want to tackle here is what this dot
model is so a lot of times when using ml
5 it's going to load the model files
from a URL and you might actually put
the URL into your code or ml 5 might
just know the URL automatically it's
saved on a Google server or some other
server and ml 5 it's saved on github and
like pointed to by ml 5 in this case
this is a case where I actually need to
have the model files with my code this
was probably gonna change just by making
this video i browse we probably should
host a version of the creped model that
you could access through ml 5 more
easily but luckily if I go to the ml 5
data and models github repo where I am
right here github.com / ml 5 j s I can
navigate to models pitch detection CREP
and these are all the model files so
this is very typical of any pre-trained
machine learning model they'll be a JSON
file the
is essentially the file that describes
the model oh this is the neural network
architecture these are all the pieces of
it I could actually even click in this
and start to like look at it you can see
it's the model topology what it's using
various things like that we you know
investigate this more on your own and
then there's all these other files which
are the actual weights the numbers the
sort of secret sauce of the model after
it's been trained all of those little
parameters of the neural network are all
stored in all these files now I've
actually downloaded all of these already
and you can see them they're right here
in a folder on the desktop here so what
I want to do right now is add all of
them to the p5 web editor let's see how
that goes normal I've really only worked
with like uploading like little media
files and sound files but I think this
is gonna work so I'm gonna go here I'm
gonna create a new chart for you to see
this but I'm gonna create a new folder
and I'm gonna call this crops up and
then I'm gonna do add file and I'm
hoping that I could just select all of
these and drag them here oh oh whoa I'm
not plugged in anymore
you can't upload files of this type that
is definitely a problem so how did that
other oh I have a feeling that the way
this was uploaded was like through a
secret backdoor to the web editor will
that work no no don't I have a better
idea no better idea better idea so the
fact that they're here
sorry here means that I can turn this
into a J s deliver right because J s
deliver and github work together no this
is not where I want to look don't you
love how everything always goes wrong
there's a way to turn any github repo
into a CDN like this so I should be able
to do j s liver github ml v j s repo
ml5 data and models and then just the
path so if I do pitch detection crepe
model JSON to see pitch detection crepe
model JSON
yes whatever reason the lighting in here
of share life is pointing out my gray
hair the old lighting used to really
like obscure the gray of my hair I don't
know why but it's looked much more
visible in here you know it's it's
distinguished package size exceeded the
configurate limit of 50 megabytes try
what but the model dot JSON file isn't
50 megabytes is it it's 16 kilobytes
these are tiny files doesn't make any
sense oh the whole I forgot models okay
thank you
Thank You Simon models I think right
here right yeah boom all right now let's
see just curious I'm gonna grab the
example
I'm sure this is once again I could just
do this like locally and then oh are you
serious says it loaded the model trouble
believing it no it didn't load I got an
error hold on
yeah 4:03 what's in error 403
I mean it's not gonna work it doesn't
host it like this does it huh did that
actually work
oh wow that works
oh great so I could just use the URL to
it Oh silly me
I'm going to back up here okay okay
okay I think this is couple have no
viewers left thank you for sticking with
me in this we're gonna get there okay
where am i where am i where am i it's
here so if I go back to add file I'm
just gonna do this again to like cuz
this is where I left off
so I forgot that the web editor
currently only supports certain file
types like JSON or CSV or a JPEG image
files sound files so these model files
that include all the weights that can't
be uploaded to the web editor that's
something that might change in the
future but luckily I can actually I can
actually just point to the model files
that are on github itself so this
particular URL right here where all
these model files are stored there's
actually a way to turn any file that's
sitting on github
into a URL that you can load like from
from a content delivery network and so a
way of doing if this is a nice blog post
that I found on go make things calm that
just shows this base URL so I can always
access files through this URL cdnas
deliver net /gh for github and then the
path to the username the repo and the
path to the files so I actually have
done that right here I'm gonna hit
refresh and you can see look this is
that model dot JSON file and now I can
actually look and see oh it's all of the
configuration information about this
particular model and I can grab this and
I can put this into my code so let me
close this I'm gonna go to the top I'm
gonna say Const model URL equals and I'm
gonna paste that in there so now and
then I actually want just the path
because I want the model to load all the
files so I'm going to then remove model
JSON and this is the path to the CREP
model and I can go ahead and just delete
this from here this folder it's gone I
guess I need to also delete the files
one at a time let me do that and now I
am ready to start putting in some code
so I'm going to make a variable called
pitch detector let's just call it pitch
I'm gonna say pitch equals ml five pitch
detection let me give myself some more
space
pitch detection I'm going to go back to
the reference page and these are the
things that I need to load so let me
copy paste these are the parameters that
I need to pass in name is here
Oh
I'm sitting here wondering why I have an
error and of course if I declare a
variable as a contest I can't just have
it not equal anything and then assign it
later so this is gonna have to be let
and I'm gonna make a lot of people angry
right now by making everything let just
to sort of like simplify things and now
I have the I've now created a pitch
detection object now what I want is to
give it a bunch of arguments to create
itself one of which is the model itself
so this is no longer a local directory
of files I'm going to say model URL I
need to get this audio context in Mike's
stream let me come back to that but I
also need a model loaded function so
that I know that the model has been
loaded I can't type there we go
all right so audio context and Mike
stream what are those things well let's
hope the documentation tells us audio
context the browser audio context to use
hmm
stream media stream the media stream to
use I'm a little bit lost to be honest
but can I get some more information you
know what I think we might do here is
let's just look at the example so the
example here if I look at the example
code it's showing that ah perfect so an
audio context I could just get by saying
get audio context perfect so this
happens to be something that's built
into JavaScript it's part of the Web
Audio API I would assume and I'm sure
somebody in the chatter or somebody will
leave a comment to explain what this is
a little bit more but I'm just gonna go
ahead and put it in here I'm gonna say
audio context equals get audio context
and then for the mic stream this is
actually me connecting to the built-in
microphone or potentially I could
specify a different microphone and that
I'm going to connect by using the p5
sound library so I can make a variable
called mic and then I could say mic
equals
p5 audio-in I believe is the function so
this is the function this is part of p5
sound KS which incidentally is a library
that I have accessing here in index.html
look at this I am on such an old version
of p5 let's update this stuff I think
the current version is 9.0 so while I'm
here I'm gonna update that go back to
here and then I think I can get this mic
stream from the p5 mic object I'll just
look it up here Mike dot stream perfect
so this p5 audio and I need to say Mike
dot start start pitch Mars I don't see
any function Oh aah Oh interesting look
at this so I wasn't paying close
attention I didn't really I didn't
really think what I'm doing because it's
I got to do two things here I need to
load them I need to access the
microphone and I need to load the model
when I load the model I want to connect
it to the microphone and maybe I need to
think about the sequence going on here
because as you know if you've done
programming or watched a kodi train
video before things in JavaScript have
an asynchronously so maybe I don't need
to do it this way that's in the example
but I probably do let's try to do it not
the way that's in the example and see if
it works
it's probably gonna break without being
thoughtful about the order so I'm just
gonna say Mike dot stream right now then
I'm gonna say Mike dot start and I'm
gonna have a callback like listening and
then I'll write a function called
listening and I'll say console.log
listen I'm gonna take off this auto
refresh because it's doing crazy stuff
listening
okay here we go so let me uncaught
syntax error invalid or unexpected token
line 20 what I don't see any invalid
token lying Ted listening
can I read property start of undefined
there we go so this is an issue cannot
read property start of undefined why is
the mic undefined let's go back to the
example new new I forgot to say new so
the new keyword is very important when
you are calling a constructor to create
an object you're required to say new
there's something really interesting
that's going on here which is that I
need the new here new p5 audio in but
how come I'm not saying new ml5 pitch
detection Oh do you know why it's
because people like to do things in
different ways this is actually a little
bit more standard from what I understand
in the world of JavaScript this is not
actually calling an object constructor a
little clue to that is the lowercase P
right there this is calling a function
that's part of the ml 5 library the
function itself calls an object
constructor but you actually don't bend
and the new happens in there but our
interface to it as the user of the
library we just called a pitch detection
function that's why I have sometimes I
say these are the list of functions in
p5 instead of like the LEAs or the list
of objects or classes but this is
actually calling the p5 audio-in
constructor all right let's see if that
fixed things
all right listening model loaded that's
promising
so it was happy it seems to be happy
with the order that I'm doing things in
now right the order of the example is to
make sure the mic has started and then
load the model but this doesn't seem so
upset maybe it's going to work
okay and it's in pausing for a second to
think about what I'm doing next okay so
what's the next step well what I want to
do just from just to get this working is
that the pitch is going to come in as a
real number a frequency value so I just
want to draw that frequency value in the
canvas so how do I get it presumably
there's some callback there's a callback
model loaded but I need to actually tell
it to listen so let's go back to the I
could look at the example but let's look
at the documentation pitch get pitch and
here's a callback so this is what I want
to do this is like the function that I
call to ask for a pitch and then when it
hears something it console logs it so I
should be able to do this in the model
loaded function I'm gonna say pitch get
pitch and then I'm gonna write a
function called got pitch because I'm
trying to do this in a very long-winded
highly descriptive way where I now have
a separate function called got pitch and
then it receives an argument like
frequency and I'm going to actually draw
that well no let's just console.log it
console.log frequency okay
let's run this bottle loaded because I
make some eyes all right here we go la
pitch frequency it is not working at all
well I got an error could not fail to XD
all right this is not working because it
failed to execute create media stream
source on the audio context parameter
one is not of type media stream I have a
feeling that this is the problem right I
did things out of the order now is the
problem assuming the order is the
problem so I need to make sure the
microphone is ready before I start
trying to load them on
so in this sense let's try to re let's
try to redo this order so Mike audio in
Mic start listening once I am listening
then I will load the model then once the
model is loaded I will call get pitch
got pitch if I look at the documentation
get pitch oh oh oh wah-wah-wah I forgot
something else really important I can
never remember this I don't know why ml
5 functions callbacks are all written
with this style known as error first
callbacks so you must include two
arguments the first one is the error
this enforces you to think about error
handling which is the thing I don't
really think about but at least a low
five is trying to get me to do it and I
should try to be I should be an error
checking kind of person so this should
have error frequency and I could do a
little error handling like I could say
if if error console dot error error
otherwise console dot log the frequency
and I'm now actually realizing that
there's a slight inconsistency in the
way that the pitch detection model works
in ml five one of the things that is all
of the other features of ml five do is
they return an object so maybe it gives
you an object that has the value you're
looking for a confidence score so
probably the raw frequency shouldn't be
in there it should be an object maybe it
actually already is and I'm wrong about
that let's try running this one more
time oh no I like that I'm seeing
something nah do we have an error
the terror that the debtor let that all
right so what's going on here frequency
is no and only did it once do I have to
continue to call get the pitch it
doesn't do it continuously I think that
might be it
let's look at the example
so this is promising and that something
came out did the air come out know if it
was an error that came out it would have
been read because console dot error will
print something to the console that's
read so frequency came out but frequency
came out as null that's fine it detected
no frequency I wasn't making a sound and
it's not checking anymore the reason why
it's not checking anymore is it doesn't
know to keep checking I have to
explicitly ask it to keep checking so I
say give me the pitch and then once it's
got the pitch it logs it and then I say
give me that pitch again so this is a
little bit of like a way of kind of
calling this recursively this is the
kind of recursion cuz it's not exactly
it's a loop really so let me let me run
this there we go so when it detects a
frequency it console logs it and let's
see higher frequency frequency so now I
don't want to just see this in the
console anymore I want to create a
variable I'm gonna call it freak and I'm
gonna I'm gonna set it to zero just so
it has some value to start with and then
here I'm going to say whenever I get a
frequency sorry what's that got pitched
oh right here I'm gonna say if I don't
want to give it a sign it null so I'm
gonna say if frequency freak equals
frequency I might want to account for
null in a better way and then now in the
draw function which is quite unnecessary
but I'm gonna do this anyway I am going
to now say whoops give me some space
under here I'm now going to say
text-align:center
text 3 quick C I'm gonna put width / 2
height divided by 2 and let's say let's
do text align Center center so it
centers in both horizontally and
vertically
I'm gonna say a fill to 55 and
texas-sized like 64 and then I'm gonna
say frequency to fixed too so I want to
see two decimal places and now let's run
this okay hey let's grab the ukulele so
the ukulele notes are a ECG is that
right
AEC G so this should be an a this should
be 440 if I'm right so there's a there's
math that you can do this with but I can
also just look it up here yeah right
there look at that even it's even
highlighted
I guess it's highlighted cuz it's like a
four so this is the frequency I want so
let's just say I just wanted to I'm
gonna just tune the a string then maybe
I'll like do the rest but kind of like
speed up the video or something for you
so I'm gonna tune the a string people in
the chat are pointing out that I could
also just use a tone generator that's
probably a smart idea let me do that
right now just to see that it works so
hold on a second let me find that URL
I wonder if it's not able to pick that
up
Oh 4:40
[Music]
yes about rapid mouths yeah so I think
it's I know the mic is not picking up
from the speaker and I wonder why that
is
it's getting it now why was it not
getting it at 4:40
[Music]
sorry if this is driving everybody's
ears nuts oh you can't hear this that
well I'm not piping the audio out let's
go over here it's pretty good not
perfect all right let me let me watch
your ears everybody lower your volume
I'm gonna send the pitch out through the
multi output device so lower your lower
hear volume for a second here comes is
that manageable for you to listen to I
know you can hear it but now I'm
actually sending it out oh no I'm not
yeah yeah I'm sending it out through the
laptop audio itself is that bad or good
there we go perfect where did that ad
was that bad I see I see one comment Oh
God
so I could turn it way down so I'm gonna
turn it way down it was it just fine
before so I'm turning this way down now
and I'm gonna try it again
Oh barely register at all
[Music]
should I just have done it with just
picking it up for my mic is that better
what's 7:30 it was fine before so I'm
overthinking this
so guess what everybody I'm not gonna
send it out I'm just gonna send it out
through the speakers and let my mic get
it and you know what we could always was
better with just the mic okay great so
never mind okay
so now it should now let me just make
sure yeah okay all right I'm gonna do it
I'm gonna do it just with the mic okay
all right so thank you to Alka in the
chat who suggested this online tone
generator I'll include a link to that
also in the video's description I'm just
going to play it and as I do this slider
we can see the pitch is pretty much the
pitch detection is matching I mean I'm
talking which is messing it up is
matching the tone that is generating
now you'll notice it's not perfect right
this is a machine learning model that's
been trained on some data set of sounds
and then it's making a guess a
prediction of what it thinks it is this
is not a 100% accurate analysis that you
could probably do mathematically
especially with a pure tone but this is
an approximation that would hopefully
work with a variety of different kinds
of sounds that might be harder to
analyze and pull out that exact pitch
also no idea what I'm talking about when
it comes to sound I'm just trying to get
this to work all right so now what I
want to do is I want to make some kind
of like visual indicator so I think what
would be useful here is for me to draw
maybe I should draw some type of
rectangle that is big when I'm Way off
or smaller or maybe it's when I'm above
the pitch I'm drawing it to the right
when I'm below I'm drawing it to left
some type of and I'm sure you hopefully
will make a version of this which are
much nicer more thoughtful interface but
to do this I think all I would need to
do is say let's difference equal I want
this frequency what that frequency is
minus 440 so right now I'm just tuning
for a I'm just tuning the a string so
then I want to draw let's do rect mode
actually let's not do rec mode center
let's draw a rectangle I'm going to make
it white for right now I'm going to say
its position is what's the size of the
canvas 200 200 4 and 400 so I'm going to
say it's a 200 comma 50 let's move the
text way down and then so I'm gonna move
this like down here and then I'm going
to make the width of it
difference I'm just going to multiply it
by 10 just to scale it and have the
height be 50 so let me just try this for
a second and let me play the tone oh
whoops
so this is actually where the nice thing
is if I give it a negative width it
seems to draw it
as a negative it draws the rectangle in
the opposite direction I don't actually
have to flip it so the question is I
think times 10 is actually quite a bit
so let's actually not multiply it by
anything let's think about what are
these differences like it's 500 that
makes sense a 60 60 pixels is pretty
reasonable so let's get the ukulele now
or actually let's let me still use the
tone so let me make it let me set it to
a four let me play it so I'm not seeing
any rectangle
there's a little rectangle
there we go I mean talking messes it up
because it gets a different pitch of my
voice but I could also do something
right now it could be a little bit more
thoughtful about this and I could map I
could say let amount equals map the
difference between if it's between like
a hundred it's off by like a hundred and
a hundred to a value between zero and
one and the reason why I'm doing this is
I could use the function lerp color so
let me say I have the color red which is
to 5500 and I have the color green which
is 0 255 0 and what I want to do is when
it's all the way I want to get the
actual I want I want to have the actual
color the lerp color solar color gives
me a linear interpolation between two
colors like red and green oh this is
actually not what I want to do I want it
to be green when it's in the center so
actually I want to map the absolute
value of the difference
I want to map the absolute value of the
difference and those are this is much
easier now between zero and a hundred
and I want to then when it's zero it's
perfectly green when it's a hundred it's
red and I don't know if this is going to
actually look right and but let's do
let's try it
[Music]
so we can see here now if I try to tune
the good ukulele let's make this an a4
again that kind of works now the gig 100
is way too small
says Simon
I should through the chat it makes me
want to cry
alright let's um let's let's um let's
make this a little bit fancier all right
I need a bubble shift the bubble to the
center yeah so this interface is
terrible and there are definitely better
ways I can do this a dial would actually
make a lot more sense I mean I should
use a dial like rotating a dial from
left to right
a slider shifting the bubble yeah
when exact Green is zero with ya you
don't even see it
yeah so alright so this interface as
many people that are pointing out its
pretty terrible I don't know what I was
thinking I know much better interface
would be like a dial I encourage you to
try to make that um let me at least do
like something that moves back and forth
so what I want to actually do is always
draw this rectangle for example I don't
want the size of the rectangle to have
anything to do with the difference so
for example I can change this to like
rect mode Center and then I can draw
this rectangle like 200 pixels wide so
now there's always a rectangle there and
then what would make more sense for me
to do is to draw a circle that appears
in the rectangle like 200 but at an
exposition so let me just put one in the
middle that's like 50 like a circle
that's size 50 so that's sitting there
in the middle and now I can have this
circle move back and forth the
exposition can be like plus the
difference so for example so the
difference I guess divided by some
amount for right now and again I want to
be much more thoughtful about how I'm
doing this but I guess I'll use the I'll
use the tone generator
[Music]
so this value 100 is a way off let's try
making this like 400 oh what am i what's
going on here
oh it's to hold on yeah I want to make
it smaller yeah
[Music]
it will stop here people are sending me
images in the chat of tuners yes I've
seen those a dial with an arrow would be
good if you send me pictures in the chat
it's like I have everything font
everything built up so big I can't see
anything anymore I can barely see the
picture so generally speaking it's not
super helpful the circle should change
color when it's bang on the lerp color
is really weird I agree I thought the
lerp color would be such a good idea
it's not log scale would be better I
pick there's a lot of better ideas
I'm trying to think of what's a simple
yeah let's not use lerp color
I think the lerp color was an
interesting idea and you know really
just having like dials that like fill in
or low there's just so many nicer ways
of doing this people are sending me
pictures of like tuners and how they
work should then CJ is writing the chat
should the max value in the map be
related to the width of the rectangle
yeah that would make sense right so if I
if the width of the rectangle is but I'm
dividing difference by ten so like a way
to do this a little bit more with a
little bit more care would be to take
this divide it by ten there have this be
the like half the width of the rectangle
I think which the width oregano is 200
to make this 100 and then just have that
also be the offset so if I do that but
the alert color is just really weird and
doesn't make any sense
it's really like not a good interface
this lobe color thing at all so I think
what I'm going to do is actually just
make a much simpler interface where I am
going to have this circle move back and
forth I'm not actually going to change
the color of the rectangle I'm going to
kind of do it the opposite way I'm going
to comment this out have the rectangle
be white I'm going to make the circle
red and then I'm gonna say if the
difference is less than 2
Phil 0 255 0 and let's make it less than
1
let's try to really tune this thing and
I'm going to also draw it I'm gonna
scale the drawing by 10 ok all right so
now and let's draw a line this is
terrible I'm so bad at interfaces I
shouldn't be allowed to do any of this
I'm gonna draw a line at 200 sorry at 0
at 200 comma 0 to 200 comma 200 and
let's let's draw that line here and say
let's have the rectangle be have some
alpha to it let's say stroke one hundred
and Stroke wait for and then I'll get
rid of the stroke here and
all right so now why is it green Oh cuz
it hasn't gotten a frequency yet I got
to give it a frequency I'm tuning it
getting tuning it getting closer oh no
no it can't be less gotta be absolute
value gotta be absolute value and we're
gonna map I got a great idea now now
we're going to map so we can do things
like this now
[Music]
do I need logarithmic scale why isn't
why is the alpha of this rectangle not
changing yeah
[Music]
I thought if the difference is a hundred
the Alpha is zero
we're losing my mind
what oh no I didn't rerun the sketch oh
oh yeah I didn't
[Music]
I have an I have a crazy idea
I gotta stop doing this okay so
why is there Oh cuz that's I keep
thinking that I'm hitting this button is
rerunning this sketch there we go okay
so right now and this should really be I
feel like this shouldn't be an ellipse
it should be a rectangle
I should really turn on the auto refresh
now cuz that'll it should be a rectangle
that is that is at this location and
then it is like five pixels wide and six
fifty pixels high and it should be ten
pixels wide and 75 pixels high and this
should be stroke weight one there we go
okay here's my interface I worked very
hard on this I am now going to play a
tone and I'm going to try to tune it
[Music]
and then when you get there and I'm
gonna let myself be within three
frequency values I'm going to say also
this Auto refresh was a terrible idea
Phil 0-255 zero okay ready
that's tunas ukelele five is way too
much let's have the threshold be one
[Music]
there's my ukulele tuner you can see
[Music]
that is not the right note so so many
things need to be thought first of all
if that does not sound right this is
gonna be a much better way of tuning it
[Music]
better than I thought
[Music]
all right
now really quickly what I want to do is
actually allow myself in this one sketch
to tune all four of the strings and I
really should be stop this video right
now and not go any further but I would
like to do this there's so much that
needs to be and you will do that you
will also make a version of this with an
interface that looks like an actual
thoughtful tuner is this playing the
whole song or no it's just like us these
so let's let's make an array of the
notes so I'm gonna make an array so I'm
gonna say notes equals and I'm going to
create a bunch of objects for objects
and each object is going to have the
note and the frequency and the note for
example is a and the frequency is 440 so
I don't know why I did all that work
when I just want to do this so there are
four strings on the ukulele there's a e
C and G so let's look up those
frequencies the e is e it should be a
efore which is this 329 623 C is I think
it is going to be is it middle C I'm
pretty sure it is
261 six two five six and then the G is
actually G 4 I believe I don't know if
they're 100% right about this
so now the thing that I want to do is I
want to find out what am i tuning
against so first of all this is this is
horrific I cannot bear this code that I
have written so let's at least make this
a little bit better let's make a
variable called threshold and again I
should do like a mapping or whatever
let's make that threshold one and I will
at least put that there so we know and
again it's ridiculous that I have these
if statement in two places but that'll
be fine but the first thing that I need
to do is actually figure out which note
am I trying to compare it to and I want
to automatically do that so I don't know
actually which string I'm playing less I
did some kind of like crazy computer
vision thing but I'm just going to like
find the note that it's closest to and
tune against that so what I want to do
here is I'm going to loop through all of
the notes and I'm going to find the
closest note is an index like zero and
so and then I'm just gonna say negative
one right now and then the record the
record difference is I'm going to start
with infinity and then I'm gonna say the
it I'm gonna say the difference is notes
index i dot frequency the actual
frequency minus that if and I'm sure I
could use reduce or some kind of fancy
higher order array function but let me
just do it this way if the difference is
less than the record difference then the
closest note is I and then once I've
done that I have the closest note so now
and let me just keep that difference oh
I have it in record disc difference so
difference equals
record difference and it's not less than
its absolute value sorry gotta have that
absolute value in there always gotta
have that absolute value in there and
then the the actual note itself can I
use this variable name is the notes
index closest note I mean I could have
just I don't have to save the index I
could have saved the object but yeah let
me save the object notes index I know
it's index I don't need to save the
index and that's closest note and then
what I'm doing is I'm showing the value
and then I want to draw instead of where
I'm drawing this value right here I
actually want to just put the note on
the screen as well which would be where
do I do that
where do I actually draw that difference
oh the text is up here so I'm going to
make this much smaller and then I'm also
going to write here say I'm going to say
text size 64 I'm going to say closest
note note and this I'm gonna place like
150 pixels up and this 50 pixels up
let's see what that does
great so now I should be able to tune
all of the strings so it should detect
here
so why is it not giving me any
information we're gonna have to debug
this first of all okay let me look at
this
so let me console.log oh let me just
make this no console.log oh you know
what I didn't do
I'm missing like a super obvious thing I
forgot to set the record difference
equal to that difference well duh okay
here we go so my a is pretty - okay what
I'm at a console log record difference
and closest note
[Music]
for worst let's put the absolute value
here and then I won't make this mistake
if the difference right I need this this
has to be the absolute value as well
that's a roughly a problem all right
here we go everybody I think this is
good now I really need some finer grain
[Music]
this is really
[Music]
I need the negative difference oh I need
it here
okay everybody everything's gonna be
fine so when I'm getting the record I
want the smallest one but then when I
use it down here you know if it's
negative or not is kind of important
right no I'm using the absolute value
everywhere oh except for drawing where
it is all right
how about this how about that huh huh
how about that if the absolute value of
the difference is less than the absolute
value the record difference then the
record ref is different but I see the
negative for use down here I would like
to be able to see more movement so where
is this divided by ten give me a break
divide yourself by two people whoops
wrong string
[Music]
it's not really into what did I do wrong
by G is wrong this is the wrong G
[Music]
I'm trying there any last things I could
do to improve this I could do slurp
using lerp never hurts no sound fro
there's no sound from the soundboard oh
you weren't hearing that Oh cuz I turn
it all the way down well
alright is this good
can I be done
[Music]
save sketch okay this has been my first
coding challenge in the new coding
terrain studio over here at New York
University in Brooklyn I made a ukulele
tuner it has the worst-ever interface
for ukulele tuner but I do think there
are some nuggets in here it's nice to
see how that pitch detection model works
I would love it if you made your own
version of this you could go to the
coding train com find the page for this
coding challenge look at the
instructions to submit your own actually
a video tutorial for how to do that if
you make your own ukulele tuner and you
put it on the web I will tune this
ukulele with it in my next live stream
so thank you very much for watching and
I will see you in a future coding
challenge goodbye I don't like the tiny
needle moment movement personally I
don't like it at all either it's awful
we'll see if matsya can work some kind
of magic to edit this let me check my
phone I've been doing this for three
hours apparently hold on
this is texting my family was wondering
what I am I said I'll be done by 7:00 so
thanks everybody
somebody help me remember this list
there's 371 of you watching which is 300
less than started oh that's weird
that's very weird
this camera did this camera go to sleep
or did a cable go loose weird
ah I wonder if that camera went to sleep
this camera yeah it's way I'm looking at
the confidence monitor which is not
looking at the camera this is me looking
at the ever thank you for watching I'm
really I'm the wrong height I stand back
here thank you so much for watching this
live stream um I didn't get to show any
other community contributions I really
think I have to end now though I'll be
back next Friday at a minimum I'll be
back next Friday I have this whole list
of things if anyone wants to help work
on the wheel let's start a new repo in I
mean I have that like wheel spinning
thing but I want to start over and I
want to make a wheels should do the
wheel spin right now right what what am
I gonna do next week I should do the
wheel spin right I mean I actually do
what I said I was gonna do right if I'm
gonna do one of these next week uh-huh
if I'm gonna do one of these next week I
should do one of these next week should
do what I say I'm gonna do I scaled it
if is this a quick fix instead of what
would be the next previous string oh
okay yeah
all right
is that a like thing that I could my
brain is totally dead so marching
squares are TP more I'm not gonna put
more rows on there because I'm well
actually I'll put it on there if it
lands on it then good planning it ASCII
art de Launay I don't think I spelled
that right Tetris oh my god please no
breakout Collatz conjecture heck oh
please hexagonal grid I would love to do
that next week that's not such a good
idea
pac-man no whirly noise No oh my god
okay okay everyone
I am going to spin this wheel and
whatever it comes up on is what I have
to to in my livestream next week just
I'm gonna take one Mulligan I so first
of all I think I should I'm not gonna do
it right now but I think I should get
like a veto so like one time between now
and the end of 2019 if it lands on
something and I want to veto it I could
spin again
we could come up with some other goofy
rules let's just spin it
[Music]
next week on the county train whatever
this is I'll see you next week where I
will be doing the Collatz conjecture I
will read up on what that is I will look
at the issue thank you to whoever
submitted that I'm sorry David thank you
so much for preparing that list I'm I
would love it if people let me just at
least let me show one community
contribution because it spent so much
time working on that and I've already
like lost it contributions random org
this should allow me to pick a random
number right numbers integer generator I
want to get a number between 2 and 78
inclusive one random number between 2
and 78 both inclusive and get the number
here we go I know you can't see this 41
okay so today before I go I'm gonna look
at one oh and cybers has telling me to
watch the number file awesome okay I'll
watch that one community contribution
hung the spreadsheet number 41 let's see
whose it is it is by it was sentiment
analysis by Lee ima papa
it's a link on code pen with 41 Y Lee I
am a Papa submitted a bunch of things
we're gonna look at this one and we were
gonna check it out oh look at this which
some kind of like sentiment analysis
should I press this button what does it
do is that the is this the analysis I'm
getting Vito please
typing happy happy happy joy joy oh when
I got it three okay so it's this is
sentient analysis with the bag-of-words
technique where it's looking at words
that it knows are associated with a
positive or negative sentiment probably
adding up the score together and I love
that we see the score here I love this
little animation of like now calculate
it and then that the result is given
with an emoji which is really awesome
excellent work thank you for this
community contribution I hope they'll
look at more of these in future live
streams and I will now take you out with
my goodbye song and I'll be back I'm
gonna do more next week than just that
that's just the coding challenge
hopefully next week I'm going to come
and maybe do something else from one of
these other topics or and I probably
should have put the leftover stuff the
tic-tac-toe minimax should have
definitely been on that list so we got
to build ourselves a better wheel one
that adds like a wheel waiting room
perhaps even if like topics and like
this sort of core topics I don't know I
don't know how to do it yet we'll figure
it out
[Music]
well it's good to be back I have to say
enjoyed this I'm exhausted
they need to be the weekend which
thankfully it is and I'll see you all
next Friday
I'm stay tuned like if you subscribe and
click the bell and all that nonsense
you'll get a notification when I
schedule a live stream but we'll see
[Music]
wheel that you can load a CSV too so
that would work it doesn't have to be a
JSON file CSV would be fine which so we
could have like a Google sheet even
that's just like keeping track of all
this stuff
[Music]
how people enjoyed this today I don't
know I mean it's good that I did this
again we'll see if this could be edited
into a coding challenge video that
interface was horrifically bad for me I
would like the chance to like not do
live streaming to try to like
suppressing my ideas out somebody won't
make something all beautiful you always
do internet always do follow mango and
goose on Instagram those are my cat's
I don't do the Instagram the cat's do
the Instagram Ryan says great stream
thanks that's nice of you
um I actually don't have a way of I
don't I don't have not set up local
storage that is a great suggestion
I'm gonna go over here and add that to
the JavaScript topics local storage I
don't think this was the marker I was
using because it's not the good one but
that's something that definitely should
go on the list of things I want to
accomplish this fall
[Music]
all right so I'm going to go over here
where I have a YouTube streaming control
room where I can shut down the stream
but first can you go back to open
broadcast studio and I'm gonna click
stop streaming bye everybody
I will see you next week or sooner or
later or who knows I really have no idea
goodbye