As was discussed on the premiere in the chat, minutephysics has a video explaining 2^1/12 in the Semitones -> Hz formula: kzfaq.info/get/bejne/Z66hoJOVvrG5qGg.html Thanks Jagholin for bringing it up! Now I understand that black box! :)
@dbzlinkinpark994 жыл бұрын
46:51 he almost let his plan slip with that laugh when he heard it and wondered probably if you can already recognize it, the mad lad is a coding Meme Legend
@lividphysics12374 жыл бұрын
Who needs Ableton when you have Haskell?
@webgpu4 жыл бұрын
don't know if this video's author got the acid criticism in your sarcastic comment
@felixlipski39564 жыл бұрын
imbecils!
@DanDart4 жыл бұрын
No one has ever needed ableton when rosegarden exists!
@robertbradley33204 жыл бұрын
@@webgpu Depends on how cynical you are on a scale from this video's author to you.
@Capewearer8 ай бұрын
@@DanDart also LMMS with Ardour.
@joriskbos11153 жыл бұрын
"I will make semitones floats, because I don't feel like converting ints to floats." Time for some microtonal music :)
@gonzalochristobal4 жыл бұрын
omg this is the best youtube recommendation of the month for me
@pasdenom.90624 жыл бұрын
ikr
@abhi1110944 жыл бұрын
Tsoding inspired me to start a channel myself, where I am explaining Haskell algorithms, he is indeed an epic haskeller.
@anuraghooda84394 жыл бұрын
Cool, there should be more content for haskellers. You have got yourself a new subscriber.
@abhi1110944 жыл бұрын
It's the truth and advertisement both
@Bratjuuc4 жыл бұрын
Subscribed just in case you upload something new to me.
@ricardorodriguez41804 жыл бұрын
Subbed, thanks
@dbzlinkinpark994 жыл бұрын
“hey what song is that?” “It’s Darude Sandstorm “
@ebonilha4 жыл бұрын
That attack-decay-sustain-release thing could be implemented very elegantly with simplexes or splines. As they form interesting algebras, I think Haskell would have very nice representations of that.
@mrshurukan4 жыл бұрын
Never really saw Haskell before, but the way you explain it... My God, I think I'm into Haskell now You've done a great job! It was entertaining and to some extend even useful to a person who never touched that language before Kudos from a fellow programmer and a musician
@ih1d3 жыл бұрын
You, sir, are an excellent explainer. Really, not many youtuber programmers have your ability to explain, let alone the knowledge of Haskell. Again, excellent content.
@DanielPetri4 жыл бұрын
Wow amazing content! Keep it up. Deserves way more views
@developandplay4 жыл бұрын
Lol KZfaq Vorschläge😂
@firespindash3 жыл бұрын
Wow, you were here, nice :)
@JackSchpeck4 жыл бұрын
This was really entertaining video. I coded along and it was fun. You just got yourself another subscriber, sir :D
@Bloodfox6104 жыл бұрын
The text at the bottom of the screen is my favorite.
@ewowoi4 жыл бұрын
i3wm ?
@itsblack23214 жыл бұрын
@@ewowoi Yeah it looks like default i3status or py3status
@AndersJackson4 жыл бұрын
@@itsblack2321 Probably using XMonad and its staus bar, or I will not be happy. :-)
@tthermic4 жыл бұрын
i had to learn haskell for school so thats why i guess this is in my recommended. man this language is so over my head, watching this brought back bad memories of spending 5 hours to write 5 lines of code lol.
@ninoman1234 жыл бұрын
That was great. As a musician and programmer I really learned a lot about both things! Subbed!
@johnnyphoney56694 жыл бұрын
This is my favorite video of yours now! I like how you come from the absolute simplicity to the details.
@thepuzzlemaker21594 жыл бұрын
Attack, decay, sustain, and release are used as they can help to emulate sounds of many instruments more accurately and pleasantly. For example, some instruments have a very strong “front” or attack, that decays quickly, whereas others have a weak attack but sustain for a bit then decay.
@polza_dg Жыл бұрын
This is the coolest thing i've seen about programming since i started learning it 5 month ago.
@KamiKagutsuchi4 жыл бұрын
I love how you can't help but laugh when you're putting together the song at the end
@fernandogurgel4 жыл бұрын
"Music is the most advanced form of mathematics" - GPT-3. Now everything makes sense.
@RuRu-vm6yw3 жыл бұрын
Not so much activity anymore, was enjoying haskell content. We need more of that!
@ekkoflok3 жыл бұрын
Thanks a lot for this video! It's really educational to see a master at work! I wish there were some similar stuff with common lisp or scheme hacking!
@Neroordie4 жыл бұрын
It's been a while since I viewed a programming video but this one was really fun to watch, thank you!
@boriscreativespace4 жыл бұрын
this was the most legendary programming video I've seen in a while
@anuraghooda84394 жыл бұрын
Very fun and educative. Really liked this video. Keep making amazing and cool stuff.
@arturshum76123 жыл бұрын
i've gotten myself into this weird situation where i'd put on your videos as i go to bed and now hearing your voice is the only thing that effectively knocks me out
@monnef4 жыл бұрын
Nice educational and entertaining video (not many people can pull off both aspects), good job. Even though I knew everything on the Haskell front, I learned a lot about music :D.
4 жыл бұрын
I found myself enjoying this as a child, wicked man, you are awesome!!!
@luizinoue86354 жыл бұрын
Amazing content. I would like to see more video exploring sound generation changing the frequency as a function of the time. Like police car alarm.
@Hypafrag4 жыл бұрын
Переписываю, значит, я тут второй день свой синт с плюсов на раст. Подумываю в процессе как бы это на хаскеле выглядело. А чувак такой: «ща покажу». На следующий день после того как я вообще этот канал обнаружил. Что это? Телепатия? Отсутствие приватности? Магия?
@shegeley4 жыл бұрын
Это Гугл тебя слушает.
@user-cy3do4xc2c4 жыл бұрын
Да, со мной происходило подобное. Мне близко объяснение такого явления тем, что у людей с похожими интересами и занятиями рождаются +/- одни и те же идеи. Ну, а получить соответствующее видео к просмотру - вопрос времени. Есть история одного писателя-фантаста, который изо всех сил торопился выпустить свой роман. Потому что по его убеждению в то самое время другие ~двадцать человек обыгрывали ту же самую идею в своих произведениях. Вопрос был в том, кому удастся высказаться первым. В то же время публично эта идея не обсуждалась, и было это в доинтернетную эпоху. Но идеи-то витают: кто-то где-то обмолвился, кто-то что-то подумал, - и вот оказывается, таких больше одного.
@DeineOmaStinkt23 жыл бұрын
Thank you a lot for this cool tutorial. It was so fun following around and even I just started programming in Haskell I could learn a lot about Haskell AND music :D Keep on going!
@robert332324 жыл бұрын
Bro, I've watched the video with "one breath", really enjoyed it. Thanks a lot!
@dfurmans4 жыл бұрын
Wicked! Love your sessions ! Keep rockin!
@gonzalochristobal4 жыл бұрын
the reason why a is 2 ^ 1/12 is because an octave has 12 notes, (i think it's kind of made to be like that, because of the chromatic scale and things) so if we multiply the standard pitch with that 12 times: (2 ^ 1/12) ^ 12 = 2 we get 2, and that's because the ratio of one octave to the next is 1/2. if the process start again multiplying the last frequency we got, times 2 ^ 1/12 that will be in the next octave. our ears perceives pitches with double the frequency as one octave above :) source: www.simplifyingtheory.com/mathematics-and-music/
@davidfriedman66254 жыл бұрын
That was so happy! Loved how much you were enjoying it. (And what a great invitation to Haskell...)
@jackkensik70024 жыл бұрын
OMG he made DARUDE SANDSTORM IN HASKELL, absolute mad lad
@redumptious2544 Жыл бұрын
Argh!! Thank you. I knew I definitely knew the song but I could not find it for the life of me. First comment I found that actually mentioned the name 🙏
@HeatCrawler4 жыл бұрын
That was amaizing! ❤️
@Chemaclass4 жыл бұрын
This is just amazing, bro! :D (and crazy...)
@asdfmonstrosity7 ай бұрын
That was great. Now I really want to learn Haskell
@cuadernoazul59584 ай бұрын
Says the legend there was a dude who uses Haskell to compose Electronic music by ear.❤
@DanDart4 жыл бұрын
"442 pies per second" - Tsoding, 2020
@pepegasit6104 жыл бұрын
Do you know about TidalCycles? It's a music DSL based on haskell that allows you to do cool live music performances.
@tagged5life4 жыл бұрын
idea for a part 2: make it read .midi files, and have summation of [Pulse] for multiple frequencies at the same time
@AndersJackson4 жыл бұрын
Sum and scale the pulses. Anonther thing that is needed is symbols for notes and symbols for periods (full, half, quater, eighth and so forth). And not to forget abour doted notes. Probably more useful to parse the abc format.
@mariansam_was_taken4 жыл бұрын
This video is awesome. I've never used Emacs and Haskell, but this is awesome.
@teliph3U4 жыл бұрын
That was amazing. Thanks for sharing your knowledge. Just a few small things: * In case you didn't know: The function *void* will turn the type of any Functor into (). * Haskell is the only language that does not support implicit conversion. This is actually a good thing because it avoids a lot of nasty bugs and forces you to think about the meaning of the expressions you want to write. Converting an Integer to any other type that is an instance of Num is the easiest thing. Just use the fromInteger function. * Your pronounciation of *beats* sounds like *bits*. The i in beats is long. * Also, the last part could have used some more abstraction. :P
@shikanokonokokoshitantan15 күн бұрын
2020 Tsoding: Linus Torvalds 2024 Tsoding: Mark Succerburg
@felixlipski39564 жыл бұрын
Very cool! this convinced me to learn Haskell
@beauteetmusculation81913 жыл бұрын
One year later, how is it going?
@felixlipski39563 жыл бұрын
@@beauteetmusculation8191 very well, I'm learning OCaml and Agda now
@beauteetmusculation81913 жыл бұрын
@@felixlipski3956 Nice! Did you learn Haskell too?
@wliaputs4 жыл бұрын
Subscribed when I see music and Haskell
@shadowleague24864 жыл бұрын
Code You a Sound for Great Good!
@eliasavelino6729 Жыл бұрын
another fantastic video sir you are fantastic at coding haskell nice video
@kacperozieblowski38094 жыл бұрын
I'm new here and I have one thing to say, love the slavic accent
@Mathilde32194 жыл бұрын
extremely satisfying. Thank you!
@cn-ml4 жыл бұрын
I watched the whole thing. You have a really nice coding style. That undertale in the end caught me pretty off guard though
@valcron-10004 жыл бұрын
Tsoding: "But I'm not a musician..."
@meneereenhoorn4 жыл бұрын
Either that statement was (Just Musician) or he had some notes and this was (Just NotByEar). Awesome video btw :D
@katem.15863 жыл бұрын
Thanks for posting such a great video ! :)
@miconomo3 жыл бұрын
It's really nice, proposal for the next session: music visualization :-)
@htol783 жыл бұрын
не знаю что больше поразило, sandstorm на хаскеле или температура чая
@robert332324 жыл бұрын
We can go further: to construct notes with the sine overtones, to use Just Intonation note system.
@spacewad87454 жыл бұрын
oh. god!!! i am now discovering this channel.
@PhLADiPreLiO4 жыл бұрын
I have a question. I am making my independent research in the domain. I find some information useful for me in the video. My project code is published under MIT licence but does not use the code from the video. May I use some ideas (e. g. Float type etc.) in the project with credits to the authors of the video and still with the same license?
@Tsoding4 жыл бұрын
The code shown in this video is also released under MIT license github.com/tsoding/haskell-music/blob/master/LICENSE So, yes, I suppose. :)
@evebogomil27774 жыл бұрын
this is a completely different lvl of insanity
@karolisr2 жыл бұрын
How do I "like" this 1000 times?
@greob4 жыл бұрын
I noticed your mouse cursor becomes the "hourglass" cursor whenever you zoom-in to highlight what your pointing at (e.g. 19:44 and 29:11). Maybe you forgot to do "exec --no-startup-id" in your i3 config? This should prevent the cursor from changing.
@divest65274 жыл бұрын
I've been following through this tutorial. FYI: the pitch standard tone seems slightly sharp in Tsoding's KZfaq video, but when you compare against the Wikipedia 440hz tone ( en.wikipedia.org/wiki/File:Sine_wave_440.ogg ), it sounds identical :)
@OleJodd104 жыл бұрын
Very fun and educational, thank you!
@gabrielebellavia60244 жыл бұрын
it can become a morse translator if you create a table of letters
@EsperSpirit4 жыл бұрын
This is really great content!
@smuecke4 жыл бұрын
How is it possible that printf takes a variable number of arguments depending on the number of %s, %f etc?? I didn't think this would be possible with Haskell's type system
@teliph3U4 жыл бұрын
The answer is type classes. You can define instances for function types. This works so well because functions are always curried. If you're interested take a look at the QuickCheck package. As long as each parameter type of a function has an *Arbitrary* instance there is an instance that allows to test arbitrary functions.
@harryhead1004 жыл бұрын
stackoverflow.com/questions/7828072/how-does-haskell-printf-work Long story short: Typeclasses and recursion
@jakubsebek4 жыл бұрын
I don't know Haskell, but it looks beautiful.. it is like a completely alien language. I wonder how would this code look e.g. in C, could you do a video where you compare Haskell programs with their equivalents in conventional langages?
@twb01094 жыл бұрын
I will start... static blah blah blah{ Blah blah{ # The actual Code goes here } }
@jakubsebek4 жыл бұрын
@@twb0109 I am not a fan of C# either :D
@Zorgatone4 жыл бұрын
Name of outro song?
@sknk18233 жыл бұрын
You will never know that it is a click bait when he played the tone in the end part. Omegalol. Darudepoggers
@AmitGold004 жыл бұрын
Great video, if you want to explore this topic more you can do videos on different types of waves like sawtooth and square, and maybe on distortions and effects like that
@robert332324 жыл бұрын
"Специфик" - I'm already hearing this for the second time from you ;) Don't reveal yourself :-D
@dewijones923 жыл бұрын
so fucking awesome. Thanks so much
@kahnfatman2 жыл бұрын
Sir, you are a musician.
@rifaldhiaw4 жыл бұрын
HELL YEAHH.. 48:59
@GabrielFreites4 жыл бұрын
This is amazing o.o!
@418teapot93 жыл бұрын
Awesome Video! Since you made me wanna start with haskell, whats the best way to learn haskell?
@dbzlinkinpark994 жыл бұрын
He answered what song he was marking before people even asked the question what a mad lad coder to think that far ahead because what the only answer on KZfaq comments when someone ask “hey what’s that song called” The only answer is “Darude sandstorm”
@arthura.kupriyanov46674 жыл бұрын
Sarude Dandstorm!!!
@peterrjg6843 Жыл бұрын
I know I'm late to this party, but I can't get past the 5:30 mark - GHCI complains that there is an ambiguous occurrence of B.writeFile as it exists in both the Lazy and the Builder import. My Haskell knowledge is still newb level so I'm not sure how to get past this. GHCI version 9.2.8
@valle63547 ай бұрын
I'm even later, you've probably figured it out by now. You just have to import ByteString.Lazy under a different name (e.g import qualified Data.ByteString.Lazy as LB)
@camotubi3 жыл бұрын
DUDE WHERE ARE YOU?? COME BACK 😭
@pasdenom.90624 жыл бұрын
I would find great to have better tooling for Haskell. For example, an Haskell compiler that can be easily ported to any system (it's painful to port it on new systems…), a compiler which can easily compile statically (even itself), etc.
@nexovec4 жыл бұрын
Lol I'm first... also I'm glad you uploaded sth. again
@kindiceberg4 жыл бұрын
Excellent explanation. However, there are some problems with running the program in Windows 10.
@AndersJackson4 жыл бұрын
What peroblem? You can install Linux in MS Windows now, if you don't want to run this in a proper Linux (or Virtual Box).
@cranknlesdesires4 жыл бұрын
Yo that song at the end sounded good, what was it? The one that went dudududud dadada dudud
@Bluepaccao4 жыл бұрын
The one in the absolute end of the video is the megalovania from the game undertale. kzfaq.info/get/bejne/raqXhMejncDPhKs.html
@yecinemegdiche32024 жыл бұрын
kzfaq.info/get/bejne/r5xhZZOCtNLXlok.html it is a meme, I am sure that you opened that link at least once in your life lol
@dbzlinkinpark994 жыл бұрын
Did I just watch some code from scratch Darude -Sandstorm what a mad lad , I love it, i bursted laughing once I realized what song he was making
@tjpld4 жыл бұрын
Which key switches do you use? Sound nice.
@kabukitheater904611 ай бұрын
can you implement fm synthesis in haskell?
@creaatiive17184 жыл бұрын
who are you? why is your voice so magical ? you make me melt no homo
@shamsartem4 жыл бұрын
Really cool video
@SolathPrime Жыл бұрын
Oh yeah the old channele
@juancasilla6844 жыл бұрын
Awesome man thanks a lot
@obnoxiouslisper15484 жыл бұрын
is there any way (any package) to do this with common lisp?
@AndersJackson4 жыл бұрын
Write one. It shouldn't be that hard. Except the lazy stuff, which you actually don't really need here. Even if it is nice.
@bashful2283 жыл бұрын
loved this tutorial, thanks for it. only been learning Haskell for a couple of days, I didn't understand the beta reduction used @37:40 - could someone explain pls? does the compiler simply infer the other argument to the min function?
@aurorazuoris66542 жыл бұрын
It uses currying.
@pasdenom.90624 жыл бұрын
That was awesome.
@harshadmhatre60213 жыл бұрын
I find all your haskell videos very helpful, Can you please please create a video on how to connect to a mysql database. There is no single video on youtube to get help from.
@random-characters4162 Жыл бұрын
mesmerising
@protowalker3 жыл бұрын
You should look into ImplicitCAD. It lets you write Haskell that generates 3D models.