yonge 3 年之前
父節點
當前提交
111e37d389

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

@@ -14,7 +14,7 @@ public enum HardLevelEnum implements BaseEnum<String, HardLevelEnum> {
 	 * 节奏有效范围(1分音符), 节奏有效范围(2分音符), 节奏有效范围(4分音符), 节奏有效范围(8分音符), 节奏有效范围(16分音符), 节奏有效范围(32分音符)<br>
 	 * 节奏有效范围(1分音符), 节奏有效范围(2分音符), 节奏有效范围(4分音符), 节奏有效范围(8分音符), 节奏有效范围(16分音符), 节奏有效范围(32分音符)<br>
 	 * 完成度范围, 未演奏的范围
 	 * 完成度范围, 未演奏的范围
 	 */
 	 */
-	ADVANCED("进阶级", 5, 5, 10, 10, 15, 15, 20, 20, 80, 10), 
+	ADVANCED("进阶级", 5, 5, 10, 10, 20, 20, 35, 35, 80, 10), 
 	/**
 	/**
 	 * 大师级, 振幅阈值, 频率阈值 <br>
 	 * 大师级, 振幅阈值, 频率阈值 <br>
 	 * 节奏有效范围(1分音符), 节奏有效范围(2分音符), 节奏有效范围(4分音符), 节奏有效范围(8分音符), 节奏有效范围(16分音符), 节奏有效范围(32分音符)<br>
 	 * 节奏有效范围(1分音符), 节奏有效范围(2分音符), 节奏有效范围(4分音符), 节奏有效范围(8分音符), 节奏有效范围(16分音符), 节奏有效范围(32分音符)<br>

+ 12 - 5
audio-analysis/src/main/java/com/yonge/nettty/dto/UserChannelContext.java

@@ -105,6 +105,10 @@ public class UserChannelContext {
 		this.offsetMS = offsetMS;
 		this.offsetMS = offsetMS;
 	}
 	}
 
 
+	public HardLevelEnum getHardLevel() {
+		return hardLevel;
+	}
+
 	public ConcurrentHashMap<Integer, MusicXmlBasicInfo> getSongMusicXmlMap() {
 	public ConcurrentHashMap<Integer, MusicXmlBasicInfo> getSongMusicXmlMap() {
 		return songMusicXmlMap;
 		return songMusicXmlMap;
 	}
 	}
@@ -145,7 +149,7 @@ public class UserChannelContext {
 		recordId = null;
 		recordId = null;
 		playTime = 0;
 		playTime = 0;
 		receivedTime = 0;
 		receivedTime = 0;
-		offsetMS = 0;
+		//offsetMS = 0;
 		lastChunkAnalysisList = new ArrayList<ChunkAnalysis>();
 		lastChunkAnalysisList = new ArrayList<ChunkAnalysis>();
 	}
 	}
 	
 	
@@ -269,7 +273,10 @@ public class UserChannelContext {
 		
 		
 		receivedTime += durationTime;
 		receivedTime += durationTime;
 		
 		
-		if(receivedTime <= offsetMS){
+		/*if(receivedTime <= offsetMS){
+			return;
+		}*/
+		if(offsetMS == 0){
 			return;
 			return;
 		}
 		}
 		
 		
@@ -624,7 +631,7 @@ public class UserChannelContext {
 		}
 		}
 
 
 		if (chunkFrequencyList.size() < 3) {
 		if (chunkFrequencyList.size() < 3) {
-			frequency = (int)(chunkFrequencyList.stream().collect(Collectors.summingDouble(t -> t)) / chunkFrequencyList.size());
+			frequency = (int)chunkFrequencyList.get(chunkFrequencyList.size() - 1);
 		}
 		}
 		
 		
 		if(frequency < 100){
 		if(frequency < 100){
@@ -703,9 +710,9 @@ public class UserChannelContext {
 
 
 		List<Integer> chunkAmplitudeList = chunkAnalysisList.stream().map(ChunkAnalysis::getAmplitude).collect(Collectors.toList());
 		List<Integer> chunkAmplitudeList = chunkAnalysisList.stream().map(ChunkAnalysis::getAmplitude).collect(Collectors.toList());
 
 
-		if (chunkAmplitudeList.size() <= 3) {
+		/*if (chunkAmplitudeList.size() <= 3) {
 			return chunkAmplitudeList.stream().filter(t -> t.floatValue() > hardLevel.getAmplitudeThreshold()).count() > 0;
 			return chunkAmplitudeList.stream().filter(t -> t.floatValue() > hardLevel.getAmplitudeThreshold()).count() > 0;
-		}
+		}*/
 		
 		
 		chunkAmplitudeList.add(0, lastChunkAnalysis.getAmplitude());
 		chunkAmplitudeList.add(0, lastChunkAnalysis.getAmplitude());
 		
 		

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

@@ -28,6 +28,7 @@ import com.alibaba.fastjson.JSONPath;
 import com.ym.mec.biz.dal.entity.SysMusicCompareRecord;
 import com.ym.mec.biz.dal.entity.SysMusicCompareRecord;
 import com.ym.mec.biz.dal.enums.DeviceTypeEnum;
 import com.ym.mec.biz.dal.enums.DeviceTypeEnum;
 import com.ym.mec.biz.dal.enums.FeatureType;
 import com.ym.mec.biz.dal.enums.FeatureType;
+import com.ym.mec.biz.dal.enums.HeardLevelEnum;
 import com.ym.mec.biz.service.SysMusicCompareRecordService;
 import com.ym.mec.biz.service.SysMusicCompareRecordService;
 import com.ym.mec.thirdparty.storage.StoragePluginContext;
 import com.ym.mec.thirdparty.storage.StoragePluginContext;
 import com.ym.mec.thirdparty.storage.provider.KS3StoragePlugin;
 import com.ym.mec.thirdparty.storage.provider.KS3StoragePlugin;
@@ -209,6 +210,8 @@ public class AudioCompareHandler implements MessageHandler {
 					scoreData.put("musicalNotesPlayStats", musicalNotesPlayStats);
 					scoreData.put("musicalNotesPlayStats", musicalNotesPlayStats);
 					sysMusicCompareRecord.setScoreData(JSON.toJSONString(scoreData));
 					sysMusicCompareRecord.setScoreData(JSON.toJSONString(scoreData));
 					
 					
+					sysMusicCompareRecord.setHeardLevel(HeardLevelEnum.valueOf(channelContext.getHardLevel().name()));
+					
 					sysMusicCompareRecordService.saveMusicCompareData(sysMusicCompareRecord);
 					sysMusicCompareRecordService.saveMusicCompareData(sysMusicCompareRecord);
 				}
 				}
 				
 				
@@ -225,7 +228,7 @@ public class AudioCompareHandler implements MessageHandler {
 			
 			
 			Integer offsetTime = dataObj.getInteger("offsetTime");
 			Integer offsetTime = dataObj.getInteger("offsetTime");
 			if(offsetTime != null){
 			if(offsetTime != null){
-				//channelContext.setOffsetMS(offsetTime);
+				channelContext.setOffsetMS(offsetTime);
 			}
 			}
 
 
 			break;
 			break;