
[01;34mwith[m Libsens[31m.[mMIDI[31m.[mMessages[31m;[m             [01;34muse[m Libsens[31m.[mMIDI[31m.[mMessages[31m;[m
[01;34mwith[m Interfaces[31m.[mC[31m;[m                      [01;34muse[m Interfaces[31m.[mC[31m;[m
[01;34mpackage[m [01;34mbody[m Libsens[31m.[mRythmic_Generator [01;34mis[m
      
      
      
      
      [01;34mprocedure[m [01;30mInitialize[m [31m([mReuse [31m:[m [01;34min[m [32mBoolean[m[31m;[m Converged [31m:[m [01;34min[m [32mFloat[m[31m;[m Max_Epochs [31m:[m [01;34min[m Positive[31m)[m [01;34mis[m
      [01;34mbegin[m
	 [01;30mRand_Init[m[31m([mSamples[31m);[m
	 [01;30mTrain[m[31m([mfilename[31m,[m
	       Samples[31m,[m
	       Reuse[31m,[m
	       [01;30mReal[m[31m([mConverged[31m),[m
	       Max_Epochs[31m);[m
      [01;34mend[m Initialize[31m;[m
      
      [01;34mfunction[m [01;30mRespond[m[31m([mProblem  [31m:[m [01;34min[m Node_Set[31m)[m [01;34mreturn[m Node_Set [01;34mis[m
	 Response [31m:[m [01;30mNode_Set[m[31m([m[35m1[m[31m..[mwidth[31m)[m [31m:=[m [31m([m[01;34mothers[m [31m=>[m [35m0.0[m[31m);[m
      [01;34mbegin[m
	 Response [31m:=[m [01;30mRespond[m[31m([mFilename[31m,[m Problem[31m);[m
	 [01;34mfor[m I [01;34min[m Response'[01;34mRange[m [01;34mloop[m
	    [01;34mif[m [01;30mResponse[m[31m([mI[31m)[m [31m>[m [35m0.5[m [01;34mthen[m
	       [01;30mResponse[m[31m([mI[31m)[m [31m:=[m [35m1.0[m[31m;[m
	    [01;34melse[m
	       [01;30mResponse[m[31m([mI[31m)[m [31m:=[m [35m0.0[m[31m;[m
	    [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 [01;34mreturn[m Response[31m;[m
      [01;34mend[m Respond[31m;[m
      
      
         [01;34mpackage[m [01;34mbody[m Neural2chord [01;34mis[m
      
      [01;34mfunction[m [01;30mTo_Value[m[31m([mSet [31m:[m [01;34min[m Node_Set[31m)[m [01;34mreturn[m Value_Type [01;34mis[m
	 Value [31m:[m Value_Type [31m:=[m [35m0[m[31m;[m
      [01;34mbegin[m
	 [01;34mfor[m I [01;34min[m [35m0[m[31m..[m[35m6[m [01;34mloop[m	    
	    [01;34mif[m [01;30mSet[m[31m([mI[31m+[m[35m1[m[31m)[m [31m=[m [35m1.0[m [01;34mthen[m
	       Value [31m:=[m Value[31m+[m[35m2[m[31m**[mI[31m;[m
	    [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 [01;34mreturn[m Value[31m;[m
      [01;34mend[m To_Value[31m;[m
      
      
      [01;34mfunction[m [01;30mTo_Note[m[31m([mFrom [31m:[m Node_Set[31m)[m [01;34mreturn[m Note_Type [01;34mis[m
	 
	 Note [31m:[m Note_Type[31m;[m
	 Note_Set [31m:[m [01;30mNode_Set[m[31m([m[35m1[m[31m..[m[35m7[m[31m);[m
      [01;34mbegin[m
	 Note_Set [31m:=[m [01;30mFrom[m[31m([m[35m1[m[31m..[m[35m7[m[31m);[m
	 Note[31m.[mKey [31m:=[m [01;30mKey_Type[m[31m([m[01;30mTo_Value[m[31m([mNote_Set[31m));[m
	 Note_Set [31m:=[m [01;30mFrom[m[31m([m[35m8[m[31m..[m[35m14[m[31m);[m
	 Note[31m.[mSens [31m:=[m [01;30mSens_Type[m[31m([m[01;30mTo_Value[m[31m([mNote_Set[31m));[m
	 Note_Set [31m:=[m [01;30mFrom[m[31m([m[35m15[m[31m..[m[35m21[m[31m);[m
	 Note[31m.[mLength [31m:=[m [01;30mLength_Type[m[31m([m[01;30mTo_Value[m[31m([mNote_Set[31m));[m
	 [01;34mreturn[m Note[31m;[m
      [01;34mend[m To_Note[31m;[m
      
      
      
      [01;34mfunction[m [01;30mTo_Chord[m[31m([mFrom [31m:[m [01;34min[m Node_Set[31m)[m [01;34mreturn[m Notes_Set_Access [01;34mis[m
	 Notes_Set [31m:[m Notes_Set_Access [31m:=[m [01;34mnew[m [01;30mNotes_Set_Type[m[31m([m[35m1[m[31m..[mFrom'Length[31m/[m[35m21[m[31m);[m
      [01;34mbegin[m	 
	 [01;34mfor[m Note_Id [01;34min[m Notes_Set'[01;34mRange[m [01;34mloop[m
	    
	    [01;34mbegin[m
	       [01;34mdeclare[m
		  Note_Set [31m:[m [01;30mNode_Set[m[31m([m[35m1[m[31m..[m[35m21[m[31m)[m [31m:=[m [01;30mFrom[m[31m(([mNote_Id[31m-[m[35m1[m[31m)*[m[35m21[m[31m+[m[35m1[m[31m..([mNote_Id[31m*[m[35m21[m[31m));[m
	       [01;34mbegin[m
		  
		  [01;30mNotes_Set[m[31m([mNote_Id[31m)[m [31m:=[m [01;30mTo_Note[m[31m([mNote_Set[31m);[m
		  
	       [01;34mend[m[31m;[m
	       
	    [01;34mexception[m
	       [01;34mwhen[m [01;34mothers[m [31m=>[m [01;34mnull[m[31m;[m
	    [01;34mend[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 [01;34mreturn[m Notes_Set[31m;[m
      [01;34mend[m To_Chord[31m;[m
   [01;34mend[m Neural2chord[31m;[m

      
[01;34mend[m Libsens[31m.[mRythmic_Generator[31m;[m
