新しいものを表示
orange さんがブースト

getter, setter が必要か、わからないから必要なのであって、そういう意味で自動実装プロパティというのは正解

orange さんがブースト

たとえば
*foo(a, b) += 1;
のような式は += がないと一時変数を用意することになってしまうので、そこはさすがに

AdaもPascalと同じく++とか+=とか無いっぽい><

orange さんがブースト

たとえば Rust でも ++ 演算子がなくて += 1 を使えみたいなデザインだったり、条件演算子がなくて if の値を使えという感じだったりして、あまり本質的でない拡張を言語機能から除外するというのはアリなのかなと最近は思っている

いまさら気づいたけど、単に32bit floatに変換だとDACも32bitじゃないとオーディオデバイスのドライバ内(?)で丸め誤差が出ちゃうけど、24bit-int on 32bit-floatに変換するようにすれば、一般的な24bit DACでも出口まで16bit精度を保てる・・・?><(ソフトウェアは作れるけど検証できる機材持って無い・・・><)

ハードウェア作るの大変そうだけど><;(計測機材でさえほとんど24bitっぽいのに><;)

MSが公式で64bit float入力対応DACを出したらさらにおもしろそう><

WindowsのWASAPIというかWindowsCoreAudio、どうせなら内部64bitモードにも対応したら世の中のオーディオマニアをぎゃふんと言わせられそうだけど、やらないのかな?><
(でも、その意味が理解できてぎゃふんといえるような人はそもそもオカルトに近いオーディオマニアにはならない説><;)

そういえば、前に書いた「16bitの音源をWASAPI共有モードで32bit floatに変換して再生する事で、WASAPI共有でもビットパーフェクトと理屈の上で同じ精度で再生できるプレイヤー><」って、かなり前にエンジン部分は完成してるんだけど、GUI作るのがめんどくなって放置されてる><;(ファイル選択すら無くてdrag and dropだよ!><;)

orange さんがブースト

音関連の処理が整数で計算してるのって、昔はDSPで整数ないしは固定小数点で扱うしかなかったからとかかな。

”のが特徴><”というか当然内部floatで作るのが制度を考えたらむしろ当たり前だと思ってたんだけど、わりとそうでもないことに気づいてわりとびっくり><(音関連のプログラマって、整数精度派(?)がかなり多いっぽさ><)

オレンジが今作ってるオーディオ編集(?)ソフトウェアは内部が32bit float固定で、整数精度にしない事により高精度にするのが特徴><
クリップボード対応機能つけたときに気づいたけど、クリップボード越しに32bit floatなwavを受け付けてくれる無料のオーディオソフトウェアってわりと少ない・・・><

21世紀に出口がラダーDACで音量調節はアナログボリュームのみみたいな奇抜な環境なら別だけど>< そんな機材持ってる変人なんてごく少数でしょ><

あと、(世の中の主流である)1bit DACも、32bit floatで解釈できるようにも作れるんだから、DACも32bit floatにすれば(精度が!!!ってうるさい人を考慮するならさらに内部64bit float化するとか)、音量変えても、元の精度を壊さずに、
理屈の上では16bit intのデータをディザかけずに32bit floatに単純変換して送り込んであげれば、16bit DACでビットパーフェクト再生()してるのと同じ事になる><

orange さんがブースト

@orange_in_space なるほど、演算時の内部表現で "十分に長い" 浮動小数点を使えって話ですか。ちょっと勘違いしてました

ものすごく当たり前だけど、オーディオシステムが16bitで、演奏する楽曲データも16bitであれば、音量調節したら16bitの精度は出ない><
24bitの環境であれば壊さずに8bit精度で音量調整できる><
元のデータを復元できるか否か?><で言うなら、32bit floatでも16bit intのデータを音量調節後にも16bit精度で復元できる><(みたいな感じなので(馬鹿でも扱えるように)floatにしようよって言てる><)

最初から最後まで「floatにするな!」っていうと、大部分のDAWとか使えなくなっちゃう><

それは、ミックスダウンしない前提だから「丸め誤差が実数になってしまう!」ってなるけど、整数精度でミックスダウンなり音量調節すれば、当然ながらその整数の制度で丸め誤差が出るよ?><
で、一般にプロ向けのオーディオソフトウェアって内部32bit or 64bitのfloatで扱っていて、一方でプロ向けハードウェアというかDAC/ADC等は24bitのが多いので・・・あれかも><(?)

orange さんがブースト

@orange_in_space 他にも演算時に丸め誤差とかも発生しちゃうから、適切な深度の整数で扱うのが妥当だと思うんですね

古いものを表示
:realtek:

思考の /dev/null