Worst people I think I met would criticize me for attempting to copy stuff saying "oh you're just copying, stuff someone else made" or "oh that's simple this sucks, this music is only loops not real music".
I was a teenager trying stuff out I was trying to just show what I am doing not sell them "a product".
If you are making a copy for yourself to try things out or learn and then just to share because you think is cool — do it copy stuff and don't listen to negative folks.
Usually those folks would not even attempt doing anything and I will skip all the bad words that I would like to tell them.
Something you hear often in the jazz community, especially from experienced pros is "everything you need to know about theory is in the songs".
It is usually in response to newcomers thinking they need to learn everything about every scale, every mode, every chord. They ask questions like "what scale should I play over this chord" or they get in really deep into some obscure theory thinking. I see it all the time with posts, even here on HN, where someone says "I figured out music!" and then you get some dry 1000 word essay on harmonic overtone series, and the maths of intervallic relationships.
But all of that intellectualization is replaceable and improved upon by learning a massive number of songs. Not just chord progressions, not just melodies in isolation, but beginning to end tunes. I was watching a live stream by industry veteran Jimmy Bruno and he was asked how many songs he knew and could play mostly from memory and he pondered for a minute and said "probably 2000".
Why not both? I often write code covers of music
E.g. Aphex Twin - Avril 14: https://www.youtube.com/watch?v=KdSiv7unrx8
This seems to have been mostly lost as it isn't a popular technique anymore, but copywork used to be commonly used in learning how to write. Basically, learners copy out high-quality material word-for-word. The goal isn't just rote repetition, but to internalize structure, style, and rhythm, observe expert-level decisions, and build muscle memory for good habits.
Yes, it works, and it's a great way to approach learning to code as well.
I was hoping for more about music in the article. I have played electric bass and guitar for a long time. It did't take long to realize that you'll find a a few patterns:
- Players have tendencies that they repeat
- Genres have vernacular which you need to learn in order to sound right
- Often original sounding bands and artists "found" their sound by trying to emulate something else (another artist or band).
I don't read a lot of code these days, but I do remember some of this from back in the day - we all have style tendencies (e.g., tabs, spaces or where we start parens, etc.).
If anyone is interested in some other ways non-traditional learning anthologies have been applied to CS education, I will shameless promote my paper [1] on typing exercises as an interactive worked example. I'm drawing my influence from martial arts, but the same "show-mimic-modify" mechanic is there in my opinion. I even use music, dance, and cooking as additional examples on where this type of learning is very prominent.
Even re-typing code verbatim will teach you much more than copy-pasting.
I think US culture overall frowns upon non-original works. From school there's some push against working on something that is a copy of someone else's work. In the meantime China has mastered copying and made it a big part of their culture and economy.
Nowadays I'm learning game engine techniques by reading Godot code and implementing the damn same thing in my engine... Also, nowadays I like tracing pretty anime drawings... I enjoy it more and end up with something I like better than if I were to draw something original.
Artists call this practise "master studies", which is a nice term for music, code and other disciplines too.
As an university level educator my experience is:
Copying is a good way to learn if there are no exact instructions. E.g. covering a song is learning to listen as much as it is learning to play. But if someone made you a "10 steps to cover this song" video those lessons won't really stick.
My experience is that most people will only start to deeply think about a topic once they encounter it practically themselves. I can tell people about different signal levels and impedance all I want, it seems only once they plug wrong things together and wonder why the result sounds bad the light bulb goes on.
Copying can be great if it is done on your own as you will encounter all kinds of questions that matter in practise.
Another thing that comes to mind is reading Finding a Likeness: How I Got Somewhat Better at Art by Nicholson Baker (http://www.amazon.com/exec/obidos/ASIN/1984881396/donhosek). Baker talks about tracing other artists’ work as part of his practice and cites an art teacher who initially recommended this, but then chose not to retract the advice when Baker wanted to mention her by name in his book, but Baker himself found that this practice of tracing did, in fact, help him become better at drawing freehand.
An interesting comparison.
Also in both cases people will be more than happy to tell you your version sucks.
Covering music can be fun but is a bad way to learn. You spend a lot of time memorizing note sequences, a good amount of time nailing the exact timing of lines to make them sound right and usually some time working out the challenging technical aspects of a song you're not at the level to play yet. The problem is the memorization and song-specific timing practice have very low carry over to general musical skill. If you're trying to get as good at an instrument as possible, it's much faster to do a combination of scale/chord/arpeggio and technical challenge drills.
Creative coding (still art and animations) combines these in a way, often people see something they like that someone else has done, and figure out how to recreate it in their language of choice, then put their own spin on it. Concepts range in technical complexity so it can be a great place to get started coding, there's no giant expectation of making a game or app.
I've been working on learning Fusion 360 for 3d modeling recently. I made a little progress. Then I recently tried to recreate a model I've already downloaded, because I needed to make some changes to it. Recreating it 1:1 taught me more than all of the learning I've done.
In the spirit of the article, I invoke a bastardized version of Chesterton's Fence[1] when writing code. If something looks overly complex (especially code written before the advent of AI slop), I try and intuit why it was written this way before changing it. 9/10 it's been for a good reason. I go ahead and add a comment to the code if I don't change it.
1: From Wikipedia, '"Chesterton's fence" is the principle that reforms should not be made until the reasoning behind the existing state of affairs is understood.' In my own words, you don't rip out a seemingly-stupid thing without first figuring out why it's there.
> Sometimes, he'd run into things which didn't make sense. Why is this a doubly-linked list here, when it seems a singly-linked list would do just fine? And in those moments, if you can't find a reason? You get to go down that path, make it the singly-linked version, and then find out later: oh, ohhh. Ohhhh, they did that for a reason.
Everything is done for a reason. Unfortunately, often the reason is the author didn't know what they we were doing.
Nothing wrong with covers. Anything that gets you where you want to be. The issue I have is with musicians who just play covers and didn’t learn what went into making/writing the song. Like @Slow_Hand mentioned, being able to recreate a song is the epitome of a cover. You’ll be able to write a song then, given you had an idea of course.
I also like the idea of doing that for programming. There’s so much out there you can learn from. Just start building…
Benjamin Franklin talks about this in his autobiography.
This site can’t provide a secure connection ntietz.com sent an invalid response. ERR_SSL_PROTOCOL_ERROR
within my code kata, i always start blank
after debugging, i conpare to the working codes
between katas, i try to improvise by combining several ideas and reducing bugs
so katas are moving objects
i start blank on my code kata after debugging, i conpare to the worked examples
This is why someone should start a karaoke standup company.
As a record producer, some of the best practice you can do by yourself is to recreate a record you like from scratch.
Remake it from the ground up: the drums, the instrument parts, the mixing, the sonics, the loudness. Everything. Match everything perfectly to the best of your abilities.
You will learn a tremendous amount as you listen deeper and deeper into the record, as it will force you to ask questions about intent and process and balance that a casual listen does not challenge you on.
It’s just like art students with an easel and paint in the museum recreating an existing painting. You will experience every brush stroke and interaction of color, and in doing so learn far more about the masters then you ever could otherwise.