![]() |
|
Turing Machine V1 - Printable Version +- XOR Userforum (https://forum.xor.eu) +-- Forum: Products (https://forum.xor.eu/forumdisplay.php?fid=3) +--- Forum: NerdSEQ (https://forum.xor.eu/forumdisplay.php?fid=6) +---- Forum: Project / Mapping Exchange (https://forum.xor.eu/forumdisplay.php?fid=30) +----- Forum: Mappings (https://forum.xor.eu/forumdisplay.php?fid=33) +----- Thread: Turing Machine V1 (/showthread.php?tid=1746) Pages:
1
2
|
Turing Machine V1 - XORadmin - 01-06-2024 The Turing Machine V1. Works with V2.0C This V1 got only the left shift option. Sounds best with any global scale enabled. It uses the CV Input as 'switches' where 0 Volt means switch OFF another value means switch ON. CV Input 1 : Set bit 0 CV Input 2 : Reset bit 0 CV Input 3 : Invert bit 0 CV Input 4 : Random bit 0 Of course you can replace the CV inputs with any other source easily. If you got a trigger expander then you can see the turing parts nicely on Triggers 1-12. You can use variables C, G and H to change some turing settings (see variables below) The turing machine is connected to the sequencer and starts if the sequencer is started. Var A: Switch/CV Input threshold (Initialized) Var B: Type of trigger (Initialized w Trigger E1) Var C: Amount of used turing bits Var D: Helper variable for calculation (Initialized) Var E: Used for program flow Var F: Variable to hold the turing bits Var G: Multiplicator for turing output (if less bits are used to get the full range anyways) Var H: Pitch Offset Code: | 00 | GLOB | CLKO | ---- |>| ---- | ---- | ---- | Use clock output as a 'clock source'So how does it work. In general it is a turing machine which uses the 4 CV inputs. If Input 1 is on (high) then turing bits (on the LSB) are set. If Input 2 is on (high) then turing bits on the LSB are reset. If Input 3 is on (high) then the LSB of the turing value is being inverted. If Input 4 is on (high) then the LSB of the turing value with randomly be set or reset. Rows 00 to 0A will use the Clock output and on a raising edge (and running sequencer) then the turing value will be shifted. Var E will be set then as well (if sequencer is running AND a raising edge) which is being used in later checks then (like if Var E is set then other commands following can be executed). Row 0C to 0E do the check for the first input and will set the turing LSB if the input was high. Row 10 to 12 do the check for the second input and will reset the turing LSB if the input was high. Row 14 to 17 do the check for the third input and will invert the LSB if the input was high. Checking Var E is taking care that the LSB is not inverting all the time but only once on each raising edge of the clock. Row 19 to 1D will check if Var E is set and then it will output the current turing value to output CV1 and generates a trigger. The value is optimized via multiplication and an offset so it is audibly more interresting. Row 1F to 25 will check Input 4 and will randomly set or reset the LSB of the turing value if the input was high. Note: the block row19-1D and row 1F-25 could/should be swapped for the better readability but it doesn't really matter for the result as always Variable F is being used for the output. Row does reset Variable E again which takes care that all the important stuff up there is always only being executed once when the raising clock with a started sequencer happened. Row 29-36 does generally a bitwise check of all the turing bits and outputs the bit states on the Trigger 16 Expander (NSA1) outputs 1-12. This gives a nice visual feedback of the turing value. RE: Turing Machine V1 - XORadmin - 02-08-2024 I just added the code of the map (extracted using the new mapping editor https://xor-electronics.com/mappingeditor/) with an explanation of how it works basically. RE: Turing Machine V1 - ohho - 06-13-2024 Thank you for posting this! RE: Turing Machine V1 - kilgore - 06-29-2025 I would like to give this turing machine a try, but I don't understand how what to do with the .map file. Where does it go on the SD card? How do I load it into a project? And once I've got it loaded, do I need to populate the patterns myself or does the mapping do that on its own? Thanks for the help! RE: Turing Machine V1 - XORadmin - 06-29-2025 (06-29-2025, 12:11 PM)kilgore Wrote: I would like to give this turing machine a try, but I don't understand how what to do with the .map file. Where does it go on the SD card? How do I load it into a project? And once I've got it loaded, do I need to populate the patterns myself or does the mapping do that on its own? Thanks for the help! A map file can be imported in the mapping screen (Nerd menu in the mapping screen). It does not populate your pattern but runs 'on it's own'. The only thing you need to do is to press play. All inputs and outputs are explained here and you can change the sources and destinations of course to fit your needs. The Mapping files (if not already on the sd card, because I automatically add these to the SD Card since it is available) go into the project folder. RE: Turing Machine V1 - kilgore - 07-01-2025 (06-29-2025, 03:32 PM)XORadmin Wrote:(06-29-2025, 12:11 PM)kilgore Wrote: I would like to give this turing machine a try, but I don't understand how what to do with the .map file. Where does it go on the SD card? How do I load it into a project? And once I've got it loaded, do I need to populate the patterns myself or does the mapping do that on its own? Thanks for the help! Thanks! I got it running. I'm still a bit confused about how it works, but I think I'll have to read up more on Turing machines. The pattern length seems to be set to only 8 steps. Is it possible to get more? Also, is it possible to scale the ouput? It seems to be about a 4 octave range that is coming out. RE: Turing Machine V1 - XORadmin - 07-01-2025 (07-01-2025, 09:23 AM)kilgore Wrote:(06-29-2025, 03:32 PM)XORadmin Wrote:(06-29-2025, 12:11 PM)kilgore Wrote: I would like to give this turing machine a try, but I don't understand how what to do with the .map file. Where does it go on the SD card? How do I load it into a project? And once I've got it loaded, do I need to populate the patterns myself or does the mapping do that on its own? Thanks for the help! I suggest to check this video: https://www.youtube.com/watch?v=va2XAdFtmeU It explains how the turing machine works in general. You can change variable G and H to get a wider/smaller range and offset. Quote:Var G: Multiplicator for turing output (if less bits are used to get the full range anyways) It would be possible to get 16 steps but that would make the turing machine much more complex. In fact if you toggle the 'invert' input you get 16 steps. 8 regular steps and 8 of the same steps inverted. And you can use the general scale functions to scale the notes to one of the scale presets or user-scale. RE: Turing Machine V1 - kilgore - 07-01-2025 (07-01-2025, 10:22 AM)XORadmin Wrote:(07-01-2025, 09:23 AM)kilgore Wrote:(06-29-2025, 03:32 PM)XORadmin Wrote:(06-29-2025, 12:11 PM)kilgore Wrote: I would like to give this turing machine a try, but I don't understand how what to do with the .map file. Where does it go on the SD card? How do I load it into a project? And once I've got it loaded, do I need to populate the patterns myself or does the mapping do that on its own? Thanks for the help! Thank you Thomas! I had found that video in the meantime, turns out its not the first time I've watched it. I do understand the controls now. It seems I've also got a lot to learn about that mapping screen, so many possibilities. The Variable screen was also new to me! I'm grooving out now to a nice little turing jam
RE: Turing Machine V1 - kilgore - 07-02-2025 I'm looking for some more help with tweaking the mapping. My goal is to free up one or more of the CV inputs and map them to other functions, for example mapping a CV input to the Variable G to control the range. I was thinking of using a high gate from one of the tracks to replace the high gate going into CV 4 (Random bit). I set up Track 4 to have a short pattern with a high gate that I could start or stop ro randomize the bits. I changed line 20 of the map to TRIG TR 4. That doesn't seem to work. I admit I don't really 100% understand whats going on with the mapping. Is there any way to use another internal trigger to activate the 4 different functions and free up those CV inputs? RE: Turing Machine V1 - XORadmin - 07-02-2025 (07-02-2025, 06:03 PM)kilgore Wrote: I'm looking for some more help with tweaking the mapping. My goal is to free up one or more of the CV inputs and map them to other functions, for example mapping a CV input to the Variable G to control the range. You can definitely replace the cv input with any gate of your tracks. I will take a look tomorrow but it should be as easy as replacing (probably update the threshold) and you could get also rid of some lines. |