yongxuUSTC / sednn

deep learning based speech enhancement using keras or pytorch, make it easy to use
http://staff.ustc.edu.cn/~jundu/The%20team/yongxu/demo/SE_DNN_taslp.html
334 stars 124 forks source link

[这个问题困扰我很久,望解答,多谢!]多帧输入,结果出现帧间不连续 #60

Open GreenHandLW opened 3 years ago

GreenHandLW commented 3 years ago

您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: 11 22

yongxuUSTC commented 3 years ago

你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM

On Fri, 7 May 2021 at 00:29, Li leevin @.***> wrote:

您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/yongxuUSTC/sednn/issues/60, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q .

GreenHandLW commented 3 years ago

你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM On Fri, 7 May 2021 at 00:29, Li leevin @.***> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q .

你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM On Fri, 7 May 2021 at 00:29, Li leevin @.***> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q .

hop size是256,window size是512,做512点STFT后,将对数谱送入网络进行训练。这样做应该没问题吧? 我再试下LSTM。 多谢!

yongxuUSTC commented 3 years ago

STFT win/hop=512/256 没问题。我上面问的是 你的DNN输入5帧的时候,这5帧每次 只移位1帧吧?跳帧可能会导致不连续。不过你用LSTM可能会好些,因为是句子级连续输入 连续预测的

On Fri, 7 May 2021 at 18:44, Li leevin @.***> wrote:

你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM … <#m-3322541834238111297> On Fri, 7 May 2021 at 00:29, Li leevin @.***> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60 https://github.com/yongxuUSTC/sednn/issues/60>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q .

你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM … <#m-3322541834238111297> On Fri, 7 May 2021 at 00:29, Li leevin @.***> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60 https://github.com/yongxuUSTC/sednn/issues/60>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q .

hop size是256,window size是512,做512点STFT后,将对数谱送入网络进行训练。这样做应该没问题吧? 我再试下LSTM。 多谢!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/yongxuUSTC/sednn/issues/60#issuecomment-834947203, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUXHYWZ3F6DCN6GJR63TMSJQLANCNFSM44JF7D7Q .

GreenHandLW commented 3 years ago

STFT win/hop=512/256 没问题。我上面问的是 你的DNN输入5帧的时候,这5帧每次 只移位1帧吧?跳帧可能会导致不连续。不过你用LSTM可能会好些,因为是句子级连续输入 连续预测的 On Fri, 7 May 2021 at 18:44, Li leevin @.> wrote: 你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM … <#m-3322541834238111297> On Fri, 7 May 2021 at 00:29, Li leevin @.> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60 <#60>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q . 你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM … <#m-3322541834238111297> On Fri, 7 May 2021 at 00:29, Li leevin @.***> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60 <#60>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q . hop size是256,window size是512,做512点STFT后,将对数谱送入网络进行训练。这样做应该没问题吧? 我再试下LSTM。 多谢! — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#60 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUXHYWZ3F6DCN6GJR63TMSJQLANCNFSM44JF7D7Q .

STFT win/hop=512/256 没问题。我上面问的是 你的DNN输入5帧的时候,这5帧每次 只移位1帧吧?跳帧可能会导致不连续 -->增强阶段,每次只移位1帧,这时候跳帧应该是不对的。不过在训练阶段是否跳帧应该关系不大,正如你们在其他的回答里所说。 不过你用LSTM可能会好些,因为是句子级连续输入 连续预测的不过你用LSTM可能会好些,因为是句子级连续输入 连续预测的 -->这里我再多问一下。LSTM虽然是句子级连续输入 连续预测的,但是由于内存空间的限制以及某些应用场景的实时性需求,在实际应用中应当把句子切成多大的时间片段送入LSTM网络训练? 非常感谢大佬的解答。

GreenHandLW commented 3 years ago

STFT win/hop=512/256 没问题。我上面问的是 你的DNN输入5帧的时候,这5帧每次 只移位1帧吧?跳帧可能会导致不连续。不过你用LSTM可能会好些,因为是句子级连续输入 连续预测的 On Fri, 7 May 2021 at 18:44, Li leevin @.> wrote: 你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM … <#m-3322541834238111297> On Fri, 7 May 2021 at 00:29, Li leevin @.> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60 <#60>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q . 你的hop size是一帧吗?即每次移位一帧处理,确保最大的overlap,减少不连续性。另外可以试下LSTM … <#m-3322541834238111297> On Fri, 7 May 2021 at 00:29, Li leevin @.***> wrote: 您好!非常感谢你的开源代码供大家学习参考。我已经minidata上跑通了代码。现在我尝试用我自己的data set训练网络,试过3帧输入和5帧输入,处理结果会出现明显的帧间不连续(在时域上表现为,上一帧的最后一个样本点与当前帧的第一个样本点明显不连续,在频域上表现为通频带的竖线),听起来有令人不适的噪声。请问你们是否遇到这种问题?如果遇到,你们是怎么解决的?如果没遇到,是否有些思路给我启发?非常感谢! 具体如图: [image: 11] https://user-images.githubusercontent.com/34733298/117413628-c60a4500-af48-11eb-83df-56e55b0d3711.jpg [image: 22] https://user-images.githubusercontent.com/34733298/117413650-cc002600-af48-11eb-967a-580ac8ad66a6.jpg — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#60 <#60>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUR7RIMTNVPMA74NAPLTMOJBJANCNFSM44JF7D7Q . hop size是256,window size是512,做512点STFT后,将对数谱送入网络进行训练。这样做应该没问题吧? 我再试下LSTM。 多谢! — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#60 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGHUXHYWZ3F6DCN6GJR63TMSJQLANCNFSM44JF7D7Q .

STFT win/hop=512/256 没问题。我上面问的是 你的DNN输入5帧的时候,这5帧每次 只移位1帧吧?跳帧可能会导致不连续 -->增强阶段,每次只移位1帧,这时候跳帧应该是不对的。不过在训练阶段是否跳帧应该关系不大,正如你们在其他的回答里所说。 不过你用LSTM可能会好些,因为是句子级连续输入 连续预测的不过你用LSTM可能会好些,因为是句子级连续输入 连续预测的 -->这里我再多问一下。LSTM虽然是句子级连续输入 连续预测的,但是由于内存空间的限制以及某些应用场景的实时性需求,在实际应用中应当把句子切成多大的时间片段送入LSTM网络训练? 非常感谢大佬的解答。