應該是 (EasingTable[(uint64_t)(…)] 這樣?
是 from + EasingLookup[I) * (to - from)
不是 to + EasingLookup[i] * (from - to)
@licson volume那裏是不是怪怪的,怎麼會直接乘上 raw volume?
當初就是為了處裡衰退的曲線才加上easing function的阿
就是為了讓 0.5 變 -50db,而不是直接乘與0.5不是嗎?
if (sources[i]->transitionCurrent >= sources[i]->transitionLength) {
sources[i]->volume = sources[i]->transitionTo;
可是原本的easing function在readsample那裡
ReadSample 那邊 乘上 Volume 是把音量值套用啊
最一開始的寫法是
ReadSample(…) * (volume * volume …)
一直都是 ReadSample(…) * volume
結果導致cpu炸裂,所以把 EasingFunction 拆出來先預算成 EasingLookup
結果現在寫的function 卻完全沒經過 EasingLookup 的轉換
用了 source 的 raw volume
然後Easing裏面return的東西有錯所以我改正了
可是 Easing 實際上出來的直,在 to === from 時是等於 from,而from
但是輸出不該是 0.5 - 1
而是
(-50db) - (-0db) (或是另外的曲線
所以應該改成兩個曲線嗎?
一個easing
一個volume mapping
可是這種寫法 音量 0.1 跟 0.5 差不了多少啊
exp(6.907 * x) / 1000;
我是找到這個啦
一樣曲線,只是數值稍微不同
沒有,這個就是 raw volume to volume 的算法
反正 node 的 base usage 是20 mb 起跳
把現在的EasingLookup拿去對音量值就好了
不過有也不錯,可以模擬人手轉音量調節紐的動作,聽起來會很真實
@licson 你一開始那 個easingInOut 的easing function是啥?
你去推控制桿的時候好像也不會是 easeInOut
0 的時候差 60,差不多小於人耳極限,相當於沒聲音
話說 /build是不是被意外commit進去了?
是不是需要reflog一下刪除之前commit進去的?
是說我是不是該乾脆在config加個debug option?
try {
if (config.debug.useJavascriptMixer) {
throw new Error("debug throw");
}
MixerStream.prototype._mixin = require('../native_mixer/build/Release/mix.node');
console.log("[Mixer] Using optimized C++ implementation.");
} catch (e) {
discord 是 48 khz 16bit pcm 阿 .-.
是說discord好像比teamspeak對bot友善
先前是Skylake的TSX-NI會導致Deadlock
後來是Skylake的Core i7 CPU某部份的電路於運算時會導致當機
接著就是Debug Interface over USB的漏洞
還有什麼Microcode Lock會令Windows藍畫面和Linux有Kernel Panic
然後為什麼Intel新的CPU那麼多Bug?聽聞是他想加快生產速度所以削減測試部的人手和縮短測試週期
麻煩檢查一下(我相信有一堆syntax error)
fakeit bot 更新
(2017.01.20)不好意思注释掉了一行代码导致图片发不出去 已修复
(2017.01.20) 增加了我的内心毫无波动 甚至.....
(2017.01.19)根据 @CaptainMall 的建议把 "的"字 去了
fakeit bot 更新
(2017.01.20)不好意思注释掉了一行代码导致图片发不出去 已修复
(2017.01.20) 增加了我的内心毫无波动 甚至.....
(2017.01.19)根据 @CaptainMall 的建议把 "的"字 去了
還有將會打破世界紀錄的PLCN海纜設計容量從 120Tbps 變 144Tbps 🌚👍
現在內部所有東西應該會按照 config 寫的 samplerate 處理
是說,從前幾天的版本開始,HTML5撥放器就會自動重連了,不知道有沒有人發現(?
https://github.com/yagop/node-telegram-bot-api// Matches "/echo [whatever]"
bot.onText(/\/echo (.+)/, function (msg, match) {
// 'msg' is the received Message from Telegram
// 'match' is the result of executing the regexp above on the text content
// of the message
是說,這樣有個問題,麥克風是寫死2 channel的
midFilter.gain.value = 1500;
midFilter.gain.value = 1;
midFilter.gain.value = 1500;
一條等式
其中一項有可能是0,所以你不能化簡
可是你如果移項,例如從右邊減到左邊,事情就正常了
這兩個式子是同樣的東西吧,為什麼只是移項就沒問題了