-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TYP: numpyの型情報を追加 #988
TYP: numpyの型情報を追加 #988
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ほぼ型情報の追加ですが挙動を変えた部分にコメントしました。
return wave.astype("int16") | ||
return wave |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
エンジンの型と合わないため動作を変えました。
エンジンではnpt.NDArray[np.float32]
かnpt.NDArray[np.float64]
を返すはず。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっと自信ないのですが、値域が違うかもです!
float32のwavは-1から1、int16は…ちょっとわかりませんが、そのあたり変換しないとすごい音量になるかもです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
そうですね。
soundfileが自動的に識別して処理していたことを忘れていました。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
変更した理由
戻り値のdtypeがnp.integer
やnp.int16
だとmypyが通らない。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
なるほどです!
たぶんfloatにした後2の15乗くらいで割ればいい感じになる気がします!(自信若干なし)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
今思いついたのですがtts_engineの型情報の方を緩めればいいことに気づきました。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
普通はmock側を実体に合わせるので、mockに合わせて型変えるのはちょっと逆かもです!
問題があったのでcloseします |
closeされてますが、ぜひ型をつけたいでね!! もし可能であれば、先に挙動が変わる部分の変更を入れた後に型追加できるとこちら的にありがたいかもです! |
修正したので再度OPENします |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
すみません!!!
npt.NDArray -> NDArrayに、np.integerをnp.int64にする作業が可能なのか試していたのですが、間違えてpushしてしまいました 🙇 🙇 🙇
@@ -24,15 +24,15 @@ | |||
class MorphingParameter: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
この上のFIXME消せそうな気がしますね!
return wave * query.volumeScale | ||
|
||
|
||
_SoxrType = TypeVar("_SoxrType", np.float32, np.float64, np.int16, np.int32) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ここはfloatingで良くなった・・・?
@@ -203,14 +208,19 @@ def apply_output_sampling_rate( | |||
return wave | |||
|
|||
|
|||
def apply_output_stereo(wave: ndarray, query: AudioQuery) -> ndarray: | |||
T = TypeVar("T", bound=np.generic) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ここもfloatingでよくなった感じですかね
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!!
良いですね!!
ちょっとこっち側で、np.floatingや残ってるndarrayに型付けさせていただこうと思います!
今考えてるなんとなくの方針は、コアはfloat32とint64しか受け付けないのでその入出力はそれに合わせるつもりです。
あとpyorldの出力だけがfloat64になっているのですが、もうこれは別に品質に寄与しないので、全部float32で固定で良いかなと思ってます。
とにかくありがとうございました!!
…e into pr/sabonerune/988
内容
numpyのdtypeの型情報を追加してみました。
その他
かなり緩く付けたためあまり恩恵がないかもしれない。
import numpy
の多くをimport numpy as np
に置き換えた。