Did you post this to deliberately nerdsnipe folks for your amusement? If so, I hope you are adequately amused.
At first glance, the choice of mm:ss timestamps glared at me as decidedly non-musical. You clearly stated it was 4/4 and the tempo is defined as 120bpm, so why not use measures and beats? Additionally, even if we stick to mm:ss notation, your resolution of 1s causes your instructions to execute at 1/2 the system's capability (essentially you are limited to playing at half speed, 60bpm but there's no way to tell what the note duration is supposed to be in musical notation from this; that is, if those are 8th notes, for instance, at 120bpm, your execution is even slower.)
So we'd want to, at the least given this one example, increase the resolution to support half-seconds, so mm:ss.d. But this requires someone to do the math from the tempo to the current time, and it isn't very musical. So, to fix this, I suggest a "measure.beat" notation, that is:
Of course, this brings to mind the topic of clock cycles per opcode, etc. Actually, it brings to mind all sorts of nerdsnipe-y things.
To the main point of Turing completeness: I'm not an expert in this area, but I think aside from the finite fretboard length (and maybe this is a semantic issue or a philosophical one but...) your implementation, even assuming an infinite fretboard length leaves me feeling funny wrt "memory".. it feels more like a translation or log stream of execution of the AST and not an actual way to store or manipulate data. I don't have a solution yet, but a capo keeps popping into my head as wanting to fit in somewhere.
Thanks (both honestly and sarcastically) for the diversion/snipe. I have forked the repo and the above suggestions are reflected in my fork. I can send a PR. ;-)
https://github.com/scottvr/turing_complete_guitar
(Also, I was tempted to rename my fork "tuning_complete_guitar)
Hopefully I'll stop here, but that capo in my head keeps pestering me to carry on.
Also, that hardcoded "Standard tuning" is asking me to investigate what could be added with alternate tunings. Ugh.. sniped!
Did you post this to deliberately nerdsnipe folks for your amusement? If so, I hope you are adequately amused.
At first glance, the choice of mm:ss timestamps glared at me as decidedly non-musical. You clearly stated it was 4/4 and the tempo is defined as 120bpm, so why not use measures and beats? Additionally, even if we stick to mm:ss notation, your resolution of 1s causes your instructions to execute at 1/2 the system's capability (essentially you are limited to playing at half speed, 60bpm but there's no way to tell what the note duration is supposed to be in musical notation from this; that is, if those are 8th notes, for instance, at 120bpm, your execution is even slower.)
So we'd want to, at the least given this one example, increase the resolution to support half-seconds, so mm:ss.d. But this requires someone to do the math from the tempo to the current time, and it isn't very musical. So, to fix this, I suggest a "measure.beat" notation, that is:
So let's add to your __init__(): and change your _generate_timing() to: and in _add_instruction, change your current_time incrementor to: But... then the "we're not monsters" 4/4 constraint nagged at me.Some of us are monsters:
all together, gives us output like this: or, monstrously, this: Of course, this brings to mind the topic of clock cycles per opcode, etc. Actually, it brings to mind all sorts of nerdsnipe-y things.To the main point of Turing completeness: I'm not an expert in this area, but I think aside from the finite fretboard length (and maybe this is a semantic issue or a philosophical one but...) your implementation, even assuming an infinite fretboard length leaves me feeling funny wrt "memory".. it feels more like a translation or log stream of execution of the AST and not an actual way to store or manipulate data. I don't have a solution yet, but a capo keeps popping into my head as wanting to fit in somewhere.
Thanks (both honestly and sarcastically) for the diversion/snipe. I have forked the repo and the above suggestions are reflected in my fork. I can send a PR. ;-) https://github.com/scottvr/turing_complete_guitar (Also, I was tempted to rename my fork "tuning_complete_guitar)
Hopefully I'll stop here, but that capo in my head keeps pestering me to carry on.
Also, that hardcoded "Standard tuning" is asking me to investigate what could be added with alternate tunings. Ugh.. sniped!
I read this theory on 4chan that Master of Puppets is secretly a piece of software, if you get the tuning right?
Any data can 'secretly' be any other data given a sufficiently complicated or over-fit encoding scheme.
Woah, your comment is actually the decryption key for Blu-Ray disks.
(When combined with this one time pad over here...)
Which then translates to MIDI via midiutil and a bit a python, which I ran through garageband and exported and ffmpeged and uploaded, giving us:
https://html-preview.github.io/?url=https://github.com/fragm...