|  | @@ -708,10 +708,22 @@ public class UserChannelContext {
 | 
											
												
													
														|  |  		if (musicXmlNote.getFrequency() == -1) {// 休止符
 |  |  		if (musicXmlNote.getFrequency() == -1) {// 休止符
 | 
											
												
													
														|  |  			return chunkList.stream().filter(t -> t.getFrequency() > MIN_FREQUECY).count() <= 1;
 |  |  			return chunkList.stream().filter(t -> t.getFrequency() > MIN_FREQUECY).count() <= 1;
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  | -		
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  		ChunkAnalysis firstChunkAnalysis = chunkAnalysisList.get(0);
 |  |  		ChunkAnalysis firstChunkAnalysis = chunkAnalysisList.get(0);
 | 
											
												
													
														|  | 
 |  | +		//取出前面忽略的块
 | 
											
												
													
														|  | 
 |  | +		List<ChunkAnalysis> ignoreHeaderList = chunkAnalysisList.subList(0, startIndex);
 | 
											
												
													
														|  | 
 |  | +		if(ignoreHeaderList != null && ignoreHeaderList.size() > 0){
 | 
											
												
													
														|  | 
 |  | +			for(ChunkAnalysis ca : ignoreHeaderList){
 | 
											
												
													
														|  | 
 |  | +				if(ca.getFrequency() < MIN_FREQUECY){
 | 
											
												
													
														|  | 
 |  | +					firstChunkAnalysis.setFrequency(-1);
 | 
											
												
													
														|  | 
 |  | +					break;
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  |  		
 |  |  		
 | 
											
												
													
														|  | -		Optional<ChunkAnalysis> chunkAnalysisOptional = totalChunkAnalysisList.stream().filter(t -> Double.doubleToLongBits(t.getEndTime()) < Double.doubleToLongBits(firstChunkAnalysis.getStartTime())).findFirst();
 |  | 
 | 
											
												
													
														|  | 
 |  | +		double firstChunkStartTime = firstChunkAnalysis.getStartTime();
 | 
											
												
													
														|  | 
 |  | +		
 | 
											
												
													
														|  | 
 |  | +		Optional<ChunkAnalysis> chunkAnalysisOptional = totalChunkAnalysisList.stream().filter(t -> Double.doubleToLongBits(t.getEndTime()) < Double.doubleToLongBits(firstChunkStartTime)).findFirst();
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  		ChunkAnalysis lastChunkAnalysis = null;
 |  |  		ChunkAnalysis lastChunkAnalysis = null;
 | 
											
												
													
														|  |  		if (chunkAnalysisOptional.isPresent()) {
 |  |  		if (chunkAnalysisOptional.isPresent()) {
 | 
											
										
											
												
													
														|  | @@ -773,7 +785,7 @@ public class UserChannelContext {
 | 
											
												
													
														|  |  		
 |  |  		
 | 
											
												
													
														|  |  		if (maxTimes / totalTimes < hardLevel.getIntegrityRange()) {
 |  |  		if (maxTimes / totalTimes < hardLevel.getIntegrityRange()) {
 | 
											
												
													
														|  |  			tempo = false;
 |  |  			tempo = false;
 | 
											
												
													
														|  | -			LOGGER.debug("节奏错误原因:不是同一个音");
 |  | 
 | 
											
												
													
														|  | 
 |  | +			LOGGER.debug("节奏错误原因:信号分堆后的最大数量不足指定的完成比例");
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  		
 |  |  		
 | 
											
												
													
														|  |  		/**
 |  |  		/**
 | 
											
										
											
												
													
														|  | @@ -817,7 +829,7 @@ public class UserChannelContext {
 | 
											
												
													
														|  |  		
 |  |  		
 | 
											
												
													
														|  |  		if (tempo) {
 |  |  		if (tempo) {
 | 
											
												
													
														|  |  			// 判断进入时间点
 |  |  			// 判断进入时间点
 | 
											
												
													
														|  | -			if(firstPeakIndex * 100 /chunkAnalysisList.size() > hardLevel.getTempoEffectiveRange(musicXmlNote.getDenominator())){
 |  | 
 | 
											
												
													
														|  | 
 |  | +			if(firstPeakIndex * 100 /chunkList.size() > hardLevel.getTempoEffectiveRange(musicXmlNote.getDenominator())){
 | 
											
												
													
														|  |  				tempo = false;
 |  |  				tempo = false;
 | 
											
												
													
														|  |  				LOGGER.debug("节奏错误原因:进入时间点太晚");
 |  |  				LOGGER.debug("节奏错误原因:进入时间点太晚");
 | 
											
												
													
														|  |  			}else{
 |  |  			}else{
 |