yonge 3 years ago
parent
commit
e23b964bcd

+ 4 - 3
audio-analysis/src/main/java/com/yonge/nettty/dto/HardLevelEnum.java

@@ -8,19 +8,20 @@ public enum HardLevelEnum implements BaseEnum<String, HardLevelEnum> {
 	 * 节奏有效范围(1分音符), 节奏有效范围(2分音符), 节奏有效范围(4分音符), 节奏有效范围(8分音符), 节奏有效范围(16分音符), 节奏有效范围(32分音符)<br>
 	 * 完成度范围, 未演奏的范围
 	 */
-	BEGINNER("入门级", 5, 10, 20, 20, 30, 30, 50, 50, 60, 10), 
+	BEGINNER("入门级", 3, 10, 10, 10, 20, 20, 35, 35, 60, 10), 
 	/**
 	 * 进阶级, 振幅阈值, 频率阈值 <br>
 	 * 节奏有效范围(1分音符), 节奏有效范围(2分音符), 节奏有效范围(4分音符), 节奏有效范围(8分音符), 节奏有效范围(16分音符), 节奏有效范围(32分音符)<br>
 	 * 完成度范围, 未演奏的范围
 	 */
-	ADVANCED("进阶级", 5, 5, 10, 10, 20, 20, 35, 35, 80, 10), 
+	ADVANCED("进阶级", 3, 5, 8, 8, 15, 15, 30, 30, 80, 10),
+	//ADVANCED("进阶级", 3, 5, 50, 50, 50, 50, 50, 5, 80, 10),
 	/**
 	 * 大师级, 振幅阈值, 频率阈值 <br>
 	 * 节奏有效范围(1分音符), 节奏有效范围(2分音符), 节奏有效范围(4分音符), 节奏有效范围(8分音符), 节奏有效范围(16分音符), 节奏有效范围(32分音符)<br>
 	 * 完成度范围, 未演奏的范围
 	 */
-	PERFORMER("大师级", 5, 3, 5, 5, 10, 10, 15, 15, 90, 20);
+	PERFORMER("大师级", 3, 3, 5, 5, 10, 10, 25, 25, 90, 20);
 
 	private String msg;
 

+ 9 - 17
audio-analysis/src/main/java/com/yonge/nettty/dto/UserChannelContext.java

@@ -32,7 +32,7 @@ public class UserChannelContext {
 	
 	private final static Logger LOGGER = LoggerFactory.getLogger(UserChannelContext.class);
 	
-	private int offsetMS = 100;
+	private int offsetMS = 300;
 	
 	private String platform;
 	
@@ -152,7 +152,7 @@ public class UserChannelContext {
 		recordId = null;
 		playTime = 0;
 		receivedTime = 0;
-		//offsetMS = 0;
+		offsetMS = 350;
 		lastChunkAnalysisList = new ArrayList<ChunkAnalysis>();
 	}
 	
@@ -276,20 +276,12 @@ public class UserChannelContext {
 		
 		receivedTime += durationTime;
 		
-		switch (platform) {
-		case "ANDROID":
-			if (receivedTime <= offsetMS) {
-				return;
-			}
-			break;
-		case "IOS":
-			if(offsetMS == 0){
-				return;
-			}
-			break;
-
-		default:
-			break;
+		/*if(offsetMS == 0){
+			return;
+		}*/
+		
+		if(receivedTime < offsetMS){
+			return;
 		}
 		
 		playTime += durationTime;
@@ -493,7 +485,7 @@ public class UserChannelContext {
 				}
 			}else{
 				int beatTimes = (int) chunkAnalysisList.stream().filter(t -> t.getAmplitude() > hardLevel.getAmplitudeThreshold()).count();
-				
+				LOGGER.info("Amplitude:{}  beatTimes:{}",chunkAnalysisList.stream().map(t -> t.getAmplitude()).collect(Collectors.toList()),beatTimes);
 				if(beatTimes == 0){
 					noteAnalysis.setMusicalErrorType(NoteErrorType.NOT_PLAY);
 				}else if (!noteAnalysis.isTempo()) {

+ 1 - 1
audio-analysis/src/main/java/com/yonge/netty/server/service/AudioCompareHandler.java

@@ -228,7 +228,7 @@ public class AudioCompareHandler implements MessageHandler {
 			
 			Integer offsetTime = dataObj.getInteger("offsetTime");
 			if(offsetTime != null){
-				channelContext.setOffsetMS(offsetTime);
+				//channelContext.setOffsetMS(offsetTime);
 			}
 
 			break;