
[01;34mwith[m Libsens[31m.[mData[31m.[mNeural[31m,[m Libsens[31m.[mData[31m.[mNeural[31m.[mNetwork[31m;[m
[01;34muse[m Libsens[31m.[mData[31m.[mNeural[31m;[m

[01;34mwith[m PragmARC[31m.[mRem_NN_Wrapper[31m;[m
[01;34muse[m PragmARC[31m.[mRem_NN_Wrapper[31m;[m


[01;34mwith[m Ada[31m.[mNumerics[31m.[mFloat_Random[31m;[m
[01;34muse[m Ada[31m.[mNumerics[31m.[mFloat_Random[31m;[m
[01;34mwith[m Ada[31m.[mNumerics[31m.[mDiscrete_Random[31m;[m

[01;34mwith[m Ada[31m.[mText_Io[31m;[m
[01;34muse[m Ada[31m;[m

[01;34mpackage[m [01;34mbody[m Libsens[31m.[mData[31m.[mDrums [01;34mis[m
   
   [01;34mpackage[m Bool_Rand [01;34mis[m [01;34mnew[m Ada[31m.[mNumerics[31m.[m[01;30mDiscrete_Random[m[31m([m[32mBoolean[m[31m);[m   
   
   Bool_Gen [31m:[m Bool_Rand[31m.[mGenerator[31m;[m
   
   [01;34mfunction[m [01;30mTribe[m[31m([mDen [31m:[m [01;34min[m Den_Type[31m)[m [01;34mreturn[m Word16_Type [01;34mis[m
      
      Resolution [31m:[m Positive [31m:=[m [35m2[m[31m**[mDen[31m;[m
      Word16     [31m:[m Word16_Type [31m:=[m [35m0[m[31m;[m
   [01;34mbegin[m
      
      [01;34mfor[m I [01;34min[m [35m0[m[31m..([mWord16_Type'Size[31m-[m[35m1[m[31m)[m [01;34mloop[m
	 [01;34mif[m I [01;34mmod[m resolution [31m=[m [35m0[m [01;34mthen[m
	    Word16 [31m:=[m Word16 [31m+[m [35m2[m[31m**[mI[31m;[m
	    [31m--Text_Io.Put_Line("bit à 1");[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
      [01;34mreturn[m Word16[31m;[m
   [01;34mend[m Tribe[31m;[m
   
   
   [01;34mfunction[m [01;30mRand[m[31m([mDen [31m:[m [01;34min[m Den_Type[31m;[m Length [31m:[m [01;34min[m Positive[31m)[m [01;34mreturn[m Word16_Type [01;34mis[m
      
      Resolution [31m:[m Positive [31m:=[m [35m2[m[31m**[mDen[31m;[m
      Word16     [31m:[m Word16_Type [31m:=[m [35m0[m[31m;[m
   [01;34mbegin[m
      
      [01;34mfor[m I [01;34min[m [31m([mWord16_Type[31m'Size-1)-Length..Word16_Type'[mSize[31m-[m[35m1[m [01;34mloop[m
	 [01;34mif[m I [01;34mmod[m [31m([m[35m64[m[31m/[mResolution[31m)[m [31m=[m [35m0[m [01;34mthen[m
	    [31m--Text_Io.Put_Line("mod 2 = 0");[m
	    [01;34mif[m Bool_Rand[31m.[m[01;30mRandom[m[31m([mBool_Gen[31m)[m [01;34mthen[m
	       Word16 [31m:=[m Word16 [31m+[m [35m2[m[31m**[mI[31m;[m
	       [31m--Text_Io.Put_Line("bit à 1");[m
	    [01;34mend[m [01;34mif[m[31m;[m
	 [01;34mend[m [01;34mif[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m         
      [01;34mreturn[m Word16[31m;[m
   [01;34mend[m Rand[31m;[m
   
   Network_Size [31m:[m [01;34mconstant[m Positive [31m:=[m [35m16[m[31m;[m
   Hidden_Num   [31m:[m [01;34mconstant[m Positive [31m:=[m [35m16[m[31m;[m
   
   [01;34mpackage[m Drums_Network [01;34mis[m [01;34mnew[m Libsens[31m.[mData[31m.[mNeural[31m.[m[01;30mNetwork[m[31m([mNetwork_Size[31m,[m Hidden_Num[31m);[m   
   [01;34muse[m Drums_Network[31m;[m         
   
   [01;34mprocedure[m [01;30mRand_Init[m[31m([mSamples [31m:[m [01;34min[m [01;34mout[m Samples_Type[31m)[m [01;34mis[m
      Polyphony [31m:[m Natural [31m:=[m [35m0[m[31m;[m
      Float_Gen [31m:[m Generator[31m;[m
   [01;34mbegin[m
      [01;30mReset[m[31m([mFloat_Gen[31m);[m
      [01;34mfor[m I [01;34min[m Samples'[01;34mRange[m [01;34mloop[m
	 [01;34mfor[m J [01;34min[m [01;34mreverse[m [35m1[m[31m..[mNetwork_Size [01;34mloop[m	   
	    [01;34mif[m [01;30mReal[m[31m([m[01;30mRandom[m[31m([mFloat_Gen[31m))[m [31m>=[m [35m0.5[m [01;34mthen[m
	       [01;30mSamples[m[31m([mI[31m)([mJ[31m)[m [31m:=[m [35m1.0[m[31m;[m
	       Polyphony [31m:=[m Polyphony [31m+[m [35m1[m[31m;[m
	    [01;34melse[m
	       [01;30mSamples[m[31m([mI[31m)([mJ[31m)[m [31m:=[m [35m0.0[m[31m;[m
	    [01;34mend[m [01;34mif[m[31m;[m	    
	    [01;34mexit[m [01;34mwhen[m Polyphony [31m>[m [35m5[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 
	 Polyphony [31m:=[m [35m0[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Rand_Init[31m;[m
   
   [01;34mfunction[m Problem_Rand [01;34mreturn[m Node_Set [01;34mis[m
      Set [31m:[m [01;30mNode_Set[m[31m([m[35m1[m[31m..[mNetwork_Size[31m)[m [31m:=[m [31m([m[01;34mothers[m [31m=>[m [35m0.0[m[31m);[m
      Float_Gen [31m:[m Generator[31m;[m
   [01;34mbegin[m
      [01;30mReset[m[31m([mFloat_Gen[31m);[m
      [01;34mfor[m I [01;34min[m Set'[01;34mRange[m [01;34mloop[m
	 [01;34mif[m [01;30mReal[m[31m([m[01;30mRandom[m[31m([mFloat_Gen[31m))[m [31m>=[m [35m0.5[m [01;34mthen[m
	    [01;30mSet[m[31m([mI[31m)[m [31m:=[m [35m1.0[m[31m;[m
	 [01;34melse[m
	    [01;30mSet[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 Set[31m;[m
   [01;34mend[m Problem_Rand[31m;[m
   
   [31m------------------------[m
   [31m-- initialize pattern --[m
   [31m------------------------               [m
   [01;34mprocedure[m [01;30mInit[m [31m([mPattern [31m:[m [01;34mout[m Drums_Sentence_Type[31m)[m [01;34mis[m
   [01;34mbegin[m
      [01;34mfor[m I [01;34min[m Pattern'[01;34mRange[m [01;34mloop[m
	 [01;30mPattern[m[31m([mI[31m).[mKey [31m:=[m I[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Init[31m;[m
   
   
   [01;34mpackage[m Value_Rand [01;34mis[m [01;34mnew[m Ada[31m.[mNumerics[31m.[m[01;30mDiscrete_Random[m[31m([mValue_Type[31m);[m
   
   [01;34muse[m Seq_vectors[31m;[m                                
   
   
   [01;34mpackage[m Drums_Value_Rand [01;34mis[m [01;34mnew[m Ada[31m.[mNumerics[31m.[m[01;30mDiscrete_Random[m[31m([mDrums_Value_Type[31m);[m
   
     
   [01;34mtask[m [01;34mbody[m Drums_Gen [01;34mis[m
      
      
      End_Of_Task [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
      Drums_Sentence[31m,[m Drums_Pattern[31m,[m Drums_network [31m:[m Drums_Sentence_Type[31m;[m
      
      
      Foot [31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m36[m[31m;[m
      Foot2[31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m37[m[31m;[m            
      Rim1  [31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m40[m[31m;[m
      Rim2  [31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m42[m[31m;[m
      Hats1[31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m47[m[31m;[m
      Hats2[31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m38[m[31m;[m
      Fx1  [31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m50[m[31m;[m
      Fx2  [31m:[m [01;34mconstant[m Drums_Value_type [31m:=[m [35m51[m[31m;[m
      
      
      Drums_Gen [31m:[m Drums_Value_Rand[31m.[mGenerator[31m;[m
      
      Rand_Key [31m:[m Drums_Value_type [31m:=[m [35m36[m[31m;[m
      
      
      Power_Time [31m:[m [32mBoolean[m [31m:=[m True[31m;[m
      
      Networks_Path [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [31m"./data/networks/"[m[31m;[m
      
      Network_Name [31m:[m [01;34mconstant[m [32mString[m [31m:=[m [31m"-mod-Drums.wgt"[m[31m;[m
      
      Network_Filename  [31m:[m [01;34maccess[m [32mString[m[31m;[m
      
      Problem[31m,[m Response [31m:[m [01;30mNode_Set[m[31m([m[35m1[m[31m..[mNetwork_Size[31m)[m [31m:=[m [31m([m[01;34mothers[m [31m=>[m [35m0.0[m[31m);[m
      
      
      
      Melodic_Samples [31m:[m [01;30mSamples_Type[m[31m([m[35m1[m[31m..[m[35m128[m[31m)[m [31m:=[m [31m([m[01;34mothers[m [31m=>[m [31m([m[01;34mothers[m [31m=>[m [35m0.0[m[31m));[m
      Value_Gen [31m:[m Value_Rand[31m.[mGenerator[31m;[m
      
      The_Seq [31m:[m Seq_Vectors[31m.[mVector[31m;[m
      
   [01;34mbegin[m 
            
      [01;34mwhile[m [01;34mnot[m End_Of_Task [01;34mloop[m
	 [01;34mloop[m
	    [01;34mselect[m
	       
	       [01;34maccept[m Halt [01;34mdo[m
		  End_Of_Task [31m:=[m True[31m;[m
	       [01;34mend[m Halt[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mor[m
	       
	       [01;34maccept[m [01;30mInitialize[m[31m([mFilename [31m:[m [01;34min[m [32mString[m[31m;[m Reuse [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;34mdo[m
		  [31m--Text_Io.Put_Line("Rand initializing");            [m
		  [01;30mRand_Init[m[31m([mMelodic_Samples[31m);[m
		  [31m--Text_Io.Put_Line("initialize done");            [m
		  [31m--Text_Io.Put_Line("trainning drums");            [m
		  
		  Network_Filename [31m:=[m [01;34mnew[m [32mString[m ' [31m([mNetworks_Path [31m&[m Filename [31m&[m Network_Name[31m);[m
		  
		  [01;34mif[m [01;34mnot[m Reuse [01;34mthen[m
		     [01;30mTrain[m[31m([mNetwork_Filename[31m.[m[01;34mall[m[31m,[m
			   Melodic_Samples[31m,[m
			   Reuse[31m,[m
			   [01;30mReal[m[31m([mConverged[31m),[m
			   Max_Epochs[31m);[m
		  [01;34mend[m [01;34mif[m[31m;[m
		  [31m--Text_Io.Put_Line("Trainning drums done.");            [m
	       [01;34mend[m Initialize[31m;[m	       
	       
	       [01;34mexit[m[31m;[m
	    [01;34mend[m [01;34mselect[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
      
      
	 
	 [01;34mwhile[m [01;34mnot[m End_Of_Task [01;34mloop[m
	    
	    [01;34mselect[m   	       
	       
	       [01;34maccept[m Halt [01;34mdo[m
		  End_Of_Task [31m:=[m True[31m;[m
	       [01;34mend[m Halt[31m;[m
	       [01;34mexit[m[31m;[m
	       
	    [01;34mor[m
	       [01;34maccept[m [01;30mRespond[m[31m([mFilename [31m:[m [01;34min[m [32mString[m[31m;[m Channel [31m:[m [01;34min[m Channel_Type[31m;[m Seq [31m:[m [01;34min[m [01;34mout[m Seq_Vectors[31m.[mVector[31m)[m [01;34mdo[m
		  [01;30mDrums_Pattern[m[31m([mfoot[31m).[mKey [31m:=[m Foot[31m;[m
		  [01;30mDrums_Pattern[m[31m([mfoot[31m).[mSens [31m:=[m [35m100[m[31m;[m
		  [01;30mDrums_Pattern[m[31m([mfoot[31m).[mSentence [31m:=[m [35m16[m#[35m0001[m#[31m;[m
		  [01;30mDrums_Pattern[m[31m([mRim1[31m).[mKey [31m:=[m Rim1[31m;[m
		  [01;30mDrums_Pattern[m[31m([mRim1[31m).[mSens [31m:=[m [35m85[m[31m;[m
		  [01;30mDrums_Pattern[m[31m([mRim1[31m).[mSentence [31m:=[m Rime[31m;[m
		  [01;30mDrums_Pattern[m[31m([mRim2[31m).[mKey [31m:=[m Rim2[31m;[m
		  [01;30mDrums_Pattern[m[31m([mRim2[31m).[mSens [31m:=[m [35m100[m[31m;[m
		  [01;30mDrums_Pattern[m[31m([mRim2[31m).[mSentence [31m:=[m [35m16[m#[35m1101[m#[31m;[m
		  [01;30mDrums_Pattern[m[31m([mhats1[31m).[mKey [31m:=[m Hats1[31m;[m
		  [01;30mDrums_Pattern[m[31m([mhats1[31m).[mSentence [31m:=[m Hat_roll[31m;[m
		  [01;30mDrums_Pattern[m[31m([mhats2[31m).[mKey [31m:=[m Hats2[31m;[m
		  [01;30mDrums_Pattern[m[31m([mhats2[31m).[mSentence [31m:=[m [01;30mRand[m[31m([m[35m4[m[31m,[m [35m2[m[31m**[m[35m4[m[31m/[m[35m2[m[31m);[m
		  [01;30mDrums_Pattern[m[31m([mfoot2[31m).[mKey [31m:=[m foot2[31m;[m
		  [01;30mDrums_Pattern[m[31m([mfoot2[31m).[mSens [31m:=[m [35m95[m[31m;[m
		  [01;30mDrums_Pattern[m[31m([mfoot2[31m).[mSentence [31m:=[m [35m16[m#[35m0001[m#[31m;[m
		  
		  [01;30mDrums_sentence[m[31m([mfoot[31m).[mKey [31m:=[m Foot[31m;[m
		  [01;30mDrums_sentence[m[31m([mfoot[31m).[mSens [31m:=[m [35m100[m[31m;[m
		  [01;30mDrums_sentence[m[31m([mfoot[31m).[mSentence [31m:=[m [35m16[m#[35m0001[m#[31m;[m
		  [01;30mDrums_Sentence[m[31m([mRim1[31m).[mKey [31m:=[m Rim1[31m;[m
		  [01;30mDrums_Sentence[m[31m([mRim1[31m).[mSens [31m:=[m [35m85[m[31m;[m
		  [01;30mDrums_Sentence[m[31m([mRim1[31m).[mSentence [31m:=[m [35m0[m[31m;[m
		  [01;30mDrums_Sentence[m[31m([mRim2[31m).[mKey [31m:=[m Rim2[31m;[m
		  [01;30mDrums_Sentence[m[31m([mRim2[31m).[mSens [31m:=[m [35m100[m[31m;[m
		  [01;30mDrums_Sentence[m[31m([mRim2[31m).[mSentence [31m:=[m [35m16[m#[35m1101[m#[31m;[m
		  [01;30mDrums_Sentence[m[31m([mhats1[31m).[mKey [31m:=[m Hats1[31m;[m
		  [01;30mDrums_Sentence[m[31m([mhats1[31m).[mSentence [31m:=[m Hat_roll[31m;[m
		  [01;30mDrums_Sentence[m[31m([mhats2[31m).[mKey [31m:=[m Hats2[31m;[m
		  [01;30mDrums_Sentence[m[31m([mhats2[31m).[mSentence [31m:=[m [01;30mRand[m[31m([m[35m4[m[31m,[m [35m2[m[31m**[m[35m4[m[31m/[m[35m2[m[31m);[m
		  [01;30mDrums_Sentence[m[31m([mfoot2[31m).[mKey [31m:=[m foot2[31m;[m
		  [01;30mDrums_Sentence[m[31m([mfoot2[31m).[mSens [31m:=[m [35m95[m[31m;[m
		  [01;30mDrums_Sentence[m[31m([mfoot2[31m).[mSentence [31m:=[m [35m16[m#[35m0000[m#[31m;[m[31m-- or Rand(Transporter.Signature.Den, 2**Transporter.Signature.Den/2);[m
		  
		  Drums_Network [31m:=[m [31m([m[01;34mothers[m [31m=>[m Null_Note[31m);[m
		  [01;30mInit[m[31m([mDrums_Network[31m);[m      
		  Problem [31m:=[m Problem_Rand[31m;[m

		  [01;34mfor[m I [01;34min[m Word16_Index_type [01;34mloop[m
		     
		     [01;34mif[m I [31m=[m [35m0[m [01;34mor[m I [31m=[m [35m8[m [01;34mor[m I  [31m=[m [35m12[m [01;34mthen[m    
			Response [31m:=[m [01;30mRespond[m[31m([mNetworks_Path [31m&[m Filename [31m&[m Network_Name[31m,[m Problem[31m);[m
			[01;34mfor[m J [01;34min[m Response'[01;34mRange[m [01;34mloop[m
			   [01;34mif[m [01;30mResponse[m[31m([mJ[31m)[m [31m>=[m [35m0.7[m [01;34mthen[m
			      [01;30mResponse[m[31m([mJ[31m)[m [31m:=[m [35m1.0[m[31m;[m
			      
			   [01;34melse[m
			      [01;30mResponse[m[31m([mJ[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;30mTo_Sentence[m[31m([mResponse[31m,[m I[31m,[m Drums_Network[31m);[m		     		     			
			[31m--  Problem := Problem_Rand;[m
			[31m--  for J in Response'Range loop[m
			[31m--  	  if Response(J) = 1.0 then[m
			[31m--  	     Problem(J) := 1.0;[m
			[31m--  	  end if;[m
			[31m--  end loop;[m
		     [01;34mend[m [01;34mif[m[31m;[m
		  [01;34mend[m [01;34mloop[m[31m;[m
		  
		  [01;34mfor[m I [01;34min[m Drums_Pattern'[01;34mRange[m [01;34mloop[m		  
		     [01;30mDrums_Network[m[31m([mI[31m).[mSens [31m:=[m [35m100[m[31m;[m [31m--Value_Rand.Random(Value_Gen);[m
		     [01;30mDrums_Network[m[31m([mI[31m).[mLength [31m:=[m [35m8[m[31m;[m[31m--Value_Rand.Random(Value_Gen);[m
						  [31m--Text_Io.Put_Line(Word64_type'Image(Drums_Network(I).Sentence));[m
		  [01;34mend[m [01;34mloop[m[31m;[m
		  
		  
		  [31m--Drums_Sentence(hats2).Sentence := Rand(4, 2**4/2);[m
		  
		  
		  
		  
		  
		  [31m--  Rand_Key := Drums_Value_Rand.Random(Drums_Gen);[m
		  [31m--  Drums_Sentence(Rand_Key).Key := Rand_Key;[m
		  [31m--  Drums_Sentence(Rand_Key).Sens := Value_Rand.Random(Value_Gen);[m
		  [31m--  Drums_Sentence(Rand_Key).Sentence := Rand(Transporter.Signature.Den, 2**Transporter.Signature.Den/2);[m
		  
		  
		  [01;34mif[m Power_Time [01;34mthen[m
		     
		     [01;30mPattern[m[31m([mFrom [31m=>[m Drums_Sentence[31m,[m Channel [31m=>[m Channel[31m,[m Seq [31m=>[m The_Seq[31m);[m    		     
		     
		  [01;34melse[m
		     [01;30mPattern[m[31m([mFrom [31m=>[m Drums_pattern[31m,[m Channel [31m=>[m Channel[31m,[m Seq [31m=>[m The_Seq[31m);[m    		     
		  [01;34mend[m [01;34mif[m[31m;[m
		  Power_Time [31m:=[m [01;34mnot[m Power_Time[31m;[m
		  [31m--Text_Io.Put_Line("Respond drums for channel " & Channel_Type'Image(Channel) & " tutut 4");            [m
		  [01;30mPattern[m[31m([mFrom [31m=>[m Drums_Network[31m,[m Channel [31m=>[m Channel[31m,[m Seq [31m=>[m The_Seq[31m);[m
		  
		  
		  [31m--seq.Gate.Release;[m
		  [31m--Text_Io.Put_Line("Respond drums for channel " & Channel_Type'Image(Channel) & " tutut 5");            [m
		  [31m--or delay 1.0;[m
		  [31m--end select;[m
		  
		  
		  Seq [31m:=[m The_Seq[31m;[m
		  The_Seq [31m:=[m Seq_Vectors[31m.[mEmpty_Vector[31m;[m
	       [01;34mend[m Respond[31m;[m
	    [01;34mor[m
	       [01;34maccept[m [01;30mInitialize[m[31m([mFilename [31m:[m [01;34min[m [32mString[m[31m;[m Reuse [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;34mdo[m
		  Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Rand initializing"[m[31m);[m            
		  [01;30mRand_Init[m[31m([mMelodic_Samples[31m);[m
		  Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"initialize done"[m[31m);[m            
		  Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"trainning drums"[m[31m);[m            
		  
		  Network_Filename [31m:=[m [01;34mnew[m [32mString[m ' [31m([mNetworks_Path [31m&[m Filename [31m&[m Network_Name[31m);[m
		  
		  
		  [01;30mTrain[m[31m([mNetwork_Filename[31m.[m[01;34mall[m[31m,[m
			Melodic_Samples[31m,[m
			Reuse[31m,[m
			[01;30mReal[m[31m([mConverged[31m),[m
			Max_Epochs[31m);[m

		  Text_Io[31m.[m[01;30mPut_Line[m[31m([m[31m"Trainning drums done."[m[31m);[m            
	       [01;34mend[m Initialize[31m;[m
	       [01;30mInit[m[31m([mDrums_Pattern[31m);[m      
	       [01;30mInit[m[31m([mDrums_Network[31m);[m      

	       
	       
	       [31m--Date := Date + Quantum(Transporter);	       	       	       	       [m
	    [01;34mend[m [01;34mselect[m[31m;[m	    
	 [01;34mend[m [01;34mloop[m[31m;[m      
      [01;34mend[m [01;34mloop[m[31m;[m
   [01;34mend[m Drums_Gen[31m;[m
   
[01;34mend[m Libsens[31m.[mData[31m.[mDrums[31m;[m
