Skip to content

Commit

Permalink
Added Guilden's Turn module
Browse files Browse the repository at this point in the history
  • Loading branch information
mhampton committed Oct 24, 2020
1 parent dacb6ce commit 60a41dc
Show file tree
Hide file tree
Showing 7 changed files with 1,345 additions and 3 deletions.
Binary file added GuildenDiagrams.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,15 @@ The cubic terms herd each suboscillator towards a stable limit cycle with freque

The fifth module is called Rosenchance. It is a 2-state, 2-emission Hidden Markov Model (HMM). The modulatable parameters P_A,A and P_B,B control the self-transition probabilities of the two states (A and B):

<img src="https://github.com/mhampton/ZetaCarinaeModules/blob/master/RosenchanceStates.png?raw=true " alt="Rosenchance state transition diagram" width="200px"/>
<img src="https://github.com/mhampton/ZetaCarinaeModules/blob/master/RosenchanceStates.png?raw=true " alt="Rosenchance state transition diagram" width="300px"/>

Each time a trigger is received, a state transition occurs and an emission value is generated. For each state there is a modulatable probability P_E1 of emitting the E1 value for that state; the other emission value E2 has probability 1-P_E1. The outputs also provide the current state (encoded as A=1V, B=2V), and triggers for the entry into each state (similar to the Bernoulli gate).

<img src="https://github.com/mhampton/ZetaCarinaeModules/blob/master/Rosenchance.png?raw=true " alt="Rosenchance" width="125px"/>

The sixth module is called Guilden's Turn; it is a 4-state Markovian router. Each of the four states (A,B,C,D) can transition to its neighbors; so for example A can transition to B or D or to itself. Modulatable controls are given for 2 of the three transition probabilities for each state, and the self-transition probability is derived from the relation that P_i,j + P_i,k + P_i,i = 1 for each state i. If the forward and backward transition probabilities add up to more than 1, the self-transition probability is zero. There are four signal inputs corresponding to each state, and the one corresponding to the active state is routed to the Out output.

Thanks to Xenakios, Squinky.Labs, baconpaul, k-chaffin, and augment for suggestions on improvements to these modules in the VCV community forum. And thank you Andrew Belt for creating and maintaining VCV Rack.
<img src="https://github.com/mhampton/ZetaCarinaeModules/blob/master/GuildenDiagrams.png?raw=true " alt="GuildensTurn Diagram" width="400px"/>


Thanks to Xenakios, Squinky.Labs, baconpaul, k-chaffin, and augment for suggestions on improvements to these modules in the VCV community forum. Also thanks to cschol on github for all the very speedy reviews of this code. Finally thank you Andrew Belt for creating and maintaining VCV Rack.
8 changes: 7 additions & 1 deletion plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"slug": "ZetaCarinae",
"name": "ZetaCarinae",
"version": "1.1.12",
"version": "1.1.13",
"license": "GPL-3.0-or-later",
"brand": "ZetaCarinae",
"author": "Marshall Hampton",
Expand Down Expand Up @@ -42,6 +42,12 @@
"name": "Rosenchance",
"description": "2 State, 2 Emission Hidden Markov Model",
"tags": ["Random", "Utility"]
},
{
"slug": "GuildensTurn",
"name": "GuildensTurn",
"description": "4 state Markovian Router",
"tags": ["Random", "Utility"]
}
]
}
Loading

0 comments on commit 60a41dc

Please sign in to comment.