|
@@ -32,6 +32,8 @@ public class UserChannelContext {
|
|
|
|
|
|
private final static Logger LOGGER = LoggerFactory.getLogger(UserChannelContext3.class);
|
|
|
|
|
|
+ private String user;
|
|
|
+
|
|
|
private double standardFrequecy = 442;
|
|
|
|
|
|
private int offsetMS;
|
|
@@ -131,6 +133,10 @@ public class UserChannelContext {
|
|
|
return datas;
|
|
|
}
|
|
|
|
|
|
+ public void setUser(String user) {
|
|
|
+ this.user = user;
|
|
|
+ }
|
|
|
+
|
|
|
public Long getRecordId() {
|
|
|
return recordId;
|
|
|
}
|
|
@@ -220,7 +226,8 @@ public class UserChannelContext {
|
|
|
final int index = noteIndex;
|
|
|
MusicXmlBasicInfo musicXmlBasicInfo = getMusicXmlBasicInfo(songId);
|
|
|
|
|
|
- if (musicXmlBasicInfo != null && index <= getTotalMusicNoteIndex(null)) {
|
|
|
+ int totalNoteIndex = getTotalMusicNoteIndex(null);
|
|
|
+ if (musicXmlBasicInfo != null && index <= totalNoteIndex) {
|
|
|
return musicXmlBasicInfo.getMusicXmlInfos().stream().filter(t -> t.getMusicalNotesIndex() == index).findFirst().get();
|
|
|
}
|
|
|
|
|
@@ -338,7 +345,7 @@ public class UserChannelContext {
|
|
|
|
|
|
if (noteAnalysis.getMusicalNotesIndex() >= 0 && noteAnalysis.getMusicalNotesIndex() <= getTotalMusicNoteIndex(null)) {
|
|
|
|
|
|
- LOGGER.info("delayPrcessed:{} dynamicOffset:{} Frequency:{} splDb:{} Power:{} amplitude:{} rms:{} time:{}", delayProcessed, dynamicOffset, playFrequency, splDb, power, amplitude, rms, playTime);
|
|
|
+ LOGGER.info("user:{} dynamicOffset:{} Frequency:{} splDb:{} Power:{} amplitude:{} rms:{} time:{}", user, dynamicOffset, playFrequency, splDb, power, amplitude, rms, playTime);
|
|
|
|
|
|
ChunkAnalysis chunkAnalysis = new ChunkAnalysis(playTime - durationTime, playTime, playFrequency, splDb, power, amplitude);
|
|
|
|
|
@@ -831,13 +838,15 @@ public class UserChannelContext {
|
|
|
}
|
|
|
|
|
|
//判断是否与上一个音是同一个音符
|
|
|
- MusicXmlNote preMusicXmlNote = getCurrentMusicNote(null, musicXmlNote.getMusicalNotesIndex() - 1);
|
|
|
- if((int)preMusicXmlNote.getFrequency() == (int)musicXmlNote.getFrequency()){
|
|
|
- Optional<ChunkAnalysis> optional = chunkAnalysisList.stream().filter(t -> t.getFrequency() <= 100).findFirst();
|
|
|
- if(optional.isPresent()){
|
|
|
- return optional.get().getEndTime();
|
|
|
- }else{
|
|
|
- return musicXmlNote.getTimeStamp() + dynamicOffset;
|
|
|
+ if(musicXmlNote.getMusicalNotesIndex() > 0){
|
|
|
+ MusicXmlNote preMusicXmlNote = getCurrentMusicNote(null, musicXmlNote.getMusicalNotesIndex() - 1);
|
|
|
+ if((int)preMusicXmlNote.getFrequency() == (int)musicXmlNote.getFrequency()){
|
|
|
+ Optional<ChunkAnalysis> optional = chunkAnalysisList.stream().filter(t -> t.getFrequency() <= 100).findFirst();
|
|
|
+ if(optional.isPresent()){
|
|
|
+ return optional.get().getEndTime();
|
|
|
+ }else{
|
|
|
+ return musicXmlNote.getTimeStamp() + dynamicOffset;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|