Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package suny;
- import java.util.Random;
- public class Markov {
- public static void main(String args[]){
- String notes[] = new String[32];
- int melodySize = 32;
- notes[0] ="GW";
- for(int i=0;i<melodySize-1;i++){
- notes[i+1] = markovProbNote(notes,i);
- }
- for(int i=0;i<melodySize;i++){
- System.out.print(notes[i]);
- }
- }
- public static String markovProbNote(String notes[], int position){
- double randomNumber = Math.random();
- if(notes[position] == "GW"){
- if(randomNumber <= 0.142){
- return "GW";
- }
- else if(randomNumber <=0.427){
- return "EW";
- }
- else if(randomNumber <= 0.569){
- return "FW";
- }
- else if(randomNumber <= 0.711){
- return "DW";
- }
- else if(randomNumber <= 0.853){
- return "CQ";
- }
- else
- return "AW";
- }
- if(notes[position] == "EW"){
- if(randomNumber <= 0.288){
- return "GW";
- }
- else if(randomNumber <= 0.716){
- return "EW";
- }
- else{
- return "FW";
- }
- }
- if(notes[position] == "FW"){
- if(randomNumber <= 0.4){
- return "GW";
- }
- else {
- return "EW";
- }
- }
- if(notes[position] == "DW"){
- if(randomNumber <= 0.4){
- return "EW";
- }
- else if(randomNumber <= 0.6){
- return "FW";
- }
- else if(randomNumber <= 0.8){
- return "DW";
- }
- else{
- return "CQ";
- }
- }
- if(notes[position] == "CQ"){
- if(randomNumber <= 0.25){
- return "DW";
- }
- else{
- return "CQ";
- }
- }
- if(notes[position] == "AW"){
- return "CQ";
- }
- return "";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment