フェルマータ

個人用のメモ。ソフトウェアの導入とかが多くなる予定。ライセンスの気になる方はこのブログに載せたコードは修正 BSD に準ずるものと考えてください。

コード書いてるもののクラス図を書いておく

ポエム

コード書いてたら何やってるのかわからなくなったのでクラス図を書き残したくなったがノートがないのでブログに書くことにした。

何するの

これのクラス図を適当に書いておく。書かないと 3 日で忘れるし。

shurabap.hatenablog.jp

クラス図

f:id:shurabaP:20200509180518p:plain

interface SynthesizePhrase {
  bool operator()(PhaseSignal*, PhraseParameters*)
}

class SynthesizePhraseWithWORLD {
  bool operator()(PhaseSignal*, PhraseParameters*)
}

SynthesizePhrase <|-u- SynthesizePhraseWithWORLD

interface SynthesizeImpulseResponse{
  bool operator()(ImpulseResponse *output, const ImpulseResponseParameters *input)
}

class SynthesizeImpulseResponseWithWORLD {
  bool operator()(ImpulseResponse *output, const ImpulseResponseParameters *input)

  const int fftSize
  const int samplingFrequency
}

SynthesizeImpulseResponse <|-- SynthesizeImpulseResponseWithWORLD
SynthesizePhraseWithWORLD .r.> SynthesizeImpulseResponse


class PhraseParameters {
  Spectrum *spectrogram[1..n]
}

class PhraseSignal {
  double *waveform
}

SynthesizePhrase -l- PhraseParameters
SynthesizePhrase -l- PhraseSignal

main .d.> PhraseSignal
main .d.> SynthesizePhraseWithWORLD
main .d.> PhraseParameters
main .d.> SynthesizeImpulseResponseWithWORLD