Ok, well I think the error you’re getting is because INoiseBase::GetNoise() is flagged as BlueprintNativeEvent so the iNoiseBase::GetNoise() implementation is autogenerated in the .generated.h header and then you then try to reimplement in the .cpp. It should be INoiseBase::GetNoise_Implementation() there. BUT… aren’t interfaces pure abstract? So I suspect you are going to have problems afterwards anyway.
If the intention is GetNoise() to just be a helper function that’s not implementable and won’t change, just implement it as a static function of UNoisePattern otherwise you’ll have to implement it in any class the implements the interface.