ChanServ changed the topic of ##yamahasynths to: Channel dedicated to questions and discussion of Yamaha FM Synthesizer internals and corresponding REing. Discussion of synthesis methods similar to the Yamaha line of chips, Sound Blasters + clones, PCM chips like RF5C68, and CD theory of operation are also on-topic. Channel logs: https://freenode.irclog.whitequark.org/~h~yamahasynths
cr1901_web has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
cr1901_web has quit [Quit: Page closed]
Cr1901 has joined ##yamahasynths
Cr1901 has quit [Ping timeout: 256 seconds]
Cr1901 has joined ##yamahasynths
<Cr1901> FINALLY I have a persistent connection
<Cr1901> can't check all the time, but since I now am logged in while afk, ppl can privmsg me lmao
andlabs has joined ##yamahasynths
ej5 has quit [Read error: Connection reset by peer]
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
andlabs has quit [Quit: Textual IRC Client: www.textualapp.com]
l_oliveira has quit [Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]]
andlabs has joined ##yamahasynths
<Wohali> i'm sorry, I didn't realize this channel was being publicly logged. I'm out. Have a good time!
Wohali has left ##yamahasynths ["Poof!"]
Wohali has joined ##yamahasynths
<Wohali> whitequark: i would ask you to please purge me from your ##yamahasynths logs, if yo uwon't I understand but I"m asking nicely. Thank you.
Wohali has left ##yamahasynths ["Poof!"]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<whitequark> uhhh
<whitequark> so i normally only remove PII from logs
<whitequark> not really sure what to do in this case
<whitequark> it *was* in the topic as per freenode policy...
<whitequark> i'll do whatever the moderators of this channel decide is appropriate, i guess
futarisIRCcloud has joined ##yamahasynths
cr1901_modern1 has quit [Read error: Connection reset by peer]
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
futarisIRCcloud has joined ##yamahasynths
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Client Quit]
andlabs has joined ##yamahasynths
andlabs has quit [Client Quit]
Ultrasauce has quit [Quit: Ultrasauce]
andlabs has joined ##yamahasynths
<cr1901> whitequark: Mulling over logs now, give me some time
l_oliveira has joined ##yamahasynths
<balrog> did someone publicly log without disclosure? ugh
<cr1901> balrog: Look at the topic
<balrog> yeah I see that.
<Lord_Nightmare> its been logged with disclosure since day 1
<balrog> okay
<whitequark> i never log channels that don't disclose it in the topic
<whitequark> it was brought up however many years ago when the logger just started and i follow it since
<cr1901> Anyways the logs aren't all that useful IME. I'd rather have Wohali around since she does good stuff for the channel, even if it means no logs.
<whitequark> hm
<whitequark> there's a lot of things like undocumented behavior of opl3 that currently only exists in logs of this channel as far as i know
<Lord_Nightmare> i guess the logs could be gone through with grep and everything wohali said could be replaced with [text removed by request] and her name removed with [name removed by request] in other people's text?
<whitequark> it's essentially my replacement for nonfunctional long term memory when it comes to yamaha stuff
<Lord_Nightmare> i agree
<Lord_Nightmare> logs are good
<cr1901> True. We also repeat ourselves a lot (THIS IS NOT A CRITIICISIM)
<Lord_Nightmare> I locally log everything, but it isn't public since i find myself having to xzcat *yamahasynths*.log | grep -i "some_topic" a lot
<Lord_Nightmare> the only thing i don't locally log is private messages
<cr1901> Same re: locally log
<cr1901> Anyways, let me hear back from Wohali first. I'm not going to go against a huge majority :P
<whitequark> i can also password-protect the logs
<whitequark> it's done for uhhhhh some other channel
<cr1901> yes, prog-hq. already brought that up
andlabs has quit [Ping timeout: 252 seconds]
andlabs has joined ##yamahasynths
<superctr_> public logs are useful, i think
Ultrasauce has joined ##yamahasynths
<superctr_> too often things that get lost since IRC (or most other chat platforms) is not a permanent medium
<superctr_> also not everyone can afford a BNC or keeping their PC on 24/7 to not miss messages while sleeping or afk
<balrog> cr1901: how about putting logs behind password?
<balrog> have you talked to wohali about that approach?
<cr1901> balrog: waiting for response
<superctr_> if it's not too much work to implement, maybe make the last 24 hours public and password protect older logs
<balrog> I'd password protect all of it
<balrog> and ensure it's not google indexed
<cr1901> balrog: Wohali said she'd think about it. In the interim, wq: could you run a grep/sed for all mentions of [Ww]ohali and remove them (per her request)
<whitequark> superctr_: it is too much work
<whitequark> cr1901: uh, that's actually not easy at all
<whitequark> the logs are in an sql database so i can't sed them
<cr1901> ... oh...
<Sarayan> mwahahahaha
<superctr_> are nicknames stored in a separate field?
<Sarayan> logs in a sql database, I love you wq, you're insane
<whitequark> yes
<whitequark> but cr1901 said "mentions"
<whitequark> not her messages
<whitequark> Sarayan: i actually don't know what's strange about it
<cr1901> her msgs as well*
<Sarayan> wq: I've always seen sql a oracle and big iron. I know I'm wrong, but I amuse myself that way
<superctr_> well, i think mentions are slightly less important
<Sarayan> s/ a / as /
<whitequark> Sarayan: oh, i see
<whitequark> it's just a postgres instance
<Sarayan> there was a time where a postgres instance was considered a big thing
<Sarayan> I'm that old :)
<whitequark> Sarayan: i think at the very beginning it was sqlite
<whitequark> but that doesn't have concurrent access
<whitequark> so it put it in mysql
<whitequark> but that doesn't have working fulltext search
<whitequark> so i put it in postgres
<superctr_> i used to like firebird because it used few resources compared to the big postgresql and mysql
<superctr_> it ran without me noticing it too much on my 256MB RAM pentium 4 PC :P
<whitequark> i have about 4G and most of it sits unused because that's just how large that instance was
<whitequark> iirc i needed more cpu or something
<whitequark> yeah
<whitequark> things changed
<whitequark> honestly the logger was never written with much of any design in mind
<whitequark> i just grabbed the nearest webdev tool i had around
<superctr_> i must say though, i think the logs have been in the topic for as long as i have been in this channel
<superctr_> so from that it's a bit strange to be OK with it for all this time then suddenly requiring all logs to be removed
<superctr_> on my IRC client (can't say it's how it is on every one), the topic shows up every time you join the channel and it is always displayed at the top of the window, so it's hard not to notice
<Sarayan> I like the smell of unbounded enthusiasm in the... evening I guess
<Sarayan> "I’m in the early stages of researching this and your work is most inspiring. Since I'm NOT a DSP guy, I'm approaching this as an analog synth with state-variable filters on the Teensy Audio Library (https://www.pjrc.com/teensy/td_libs_Audio.html). Once I figure out the encoding of the ROM, I'll be able to apply the various Fc, Q and amplitude values to my code and try it with my methods."
<superctr_> teensy...
<superctr_> that's a 16Mhz AVR right
<superctr_> good luck
<Ultrasauce> woah I never noticed the live updates in the logger, niice
<cr1901> superctr_: Maybe but I'm not really interested in interrogating the reason
<whitequark> Ultrasauce: yeah, that one uses redis
<Sarayan> oh, the votrax isn't a big thing
<whitequark> as a pubsub service
<Sarayan> there are what, 7 order-2 filters or so, nothing to make a recent cpu sweat
<superctr_> i think it would be a shame to see the logs being lost, as there are lot of useful information there
<superctr_> regarding yamaha chips in particular
<cr1901> superctr_: The logs won't be lost. I just need some time to think.
<Sarayan> it's just that understanding 7 filters which are defined from they caps values without being "a dsp guy" is... nontrivial
<superctr_> i suppose
<Sarayan> add on top of that the digital code which is known buggy... it gets really interesting
<superctr_> also any digital work it's better to develop and demonstrate everything on a PC, in matlab or something, before actually implementing on an embedded system
<Sarayan> superctr: all of that is in mame already
<Sarayan> only buggy
<Sarayan> wq may even help me debug it :-)
<superctr_> if you want to fix those bugs, doing it outside MAME might help too
<whitequark> mew
<whitequark> ?
<whitequark> debug what
<superctr_> what MAME excels at testing the integration (with CPU etc)
<Sarayan> wq: if you can put it online. My votrax sc01 simulation
<whitequark> oh of course
<balrog> whitequark: I'd probably be implementing user hiding in frontend, but obv that will screw up a lot of things :(
<superctr_> but if you just need to test the filters separately then you'll want to use matlab
<whitequark> balrog: doesn't GDPR require me to do that anyway
<balrog> whitequark: it likely does.
<whitequark> i mean, i'm not legally compelled to comply afaik, but might as well do the right thing
<Sarayan> superctr: I use gnuplot, but heh :-)
<balrog> whitequark: it was disclosed upfront. wonder if you can put it in the join banner/notice?
<superctr_> octave is pretty good too (free matlab clone)
<Sarayan> wq: you're not in europe, and you're not doing commerce with europe
<whitequark> Sarayan: this also qualifies as a "personal activity" under the regulation
<whitequark> but i'm more interested in interpreting the spirit rather than the letter of it
<superctr_> under the GDPR, ip addresses are PII
<superctr_> freenode exposes them openly for everyone to see
<whitequark> ip addresses and hostnames are specifically exempted from logs
<whitequark> because of privacy concerns raised very early
<superctr_> clearly, they don't give AF about the GDPR
<Lord_Nightmare> Sarayan: the funny 2-memory-cell IIR filters used by KLSYN for its bandpass filtering... Are those good enough to emulate the votrax filters, assuming we had the exact values for the components?
<Sarayan> I have no idea and yes we have exact values for the components, because the components absolute values are not important, only the ratios, and I've got very good surface measurements
<Sarayan> and a cap is proportional to its surface
<Lord_Nightmare> ok. klsyn is klatt's formant synthesizer engine which is used by dectalk and prose2k and likely many other things
<Lord_Nightmare> i think pink trombone uses a variant of it too, and i know praat uses it
<Sarayan> praat has a filter-based synthesis?
<Sarayan> sicne when?
<Lord_Nightmare> its in there
<Sarayan> oh, 2009. Yeah, it's very possible I haven't used praat in 10 years
<Lord_Nightmare> klatt's engine was designed to synthesize at 10khz, and i think the problem with using an order-3 IIR filter is if you go much above 10khz the effectiveness of a filter with so few memory cells goes way down unless you cascade a few of them in series
<Lord_Nightmare> I may well be wrong about that
<Sarayan> well, it's the ratio between fc and fs that matters
<Sarayan> if it's too big you need a bigger order
<Sarayan> and cascading doesn't help bunch
<Sarayan> much
<Sarayan> you need to go butterworth or something
<Sarayan> the hardest being going high order but keeping the filter shape, in particular *not* having a straighter slope
<Lord_Nightmare> that makes sense. lots more math that way though...
<Sarayan> at least when you try to reproduce an analog filter in digital
<Lord_Nightmare> since the filters are constantly interpolating/moving around
<Sarayan> if the filter is -3dB/octave you want to keep it that way event if you're order 10
<Lord_Nightmare> could a kaiser window work? those have a very different bandpass shape though?
<Sarayan> while a designed order-10 filter tends to be 30dB/octave
<Sarayan> windows matter in FIR, not IIR
<Lord_Nightmare> ah
<Sarayan> analog filters are always iir
<Lord_Nightmare> https://ccrma.stanford.edu/~jos/fp/Two_Pole.html is it. so it does have a proper name...
<Lord_Nightmare> and i suppose the math gets ridiculously complex if you want the filter shape to remain the same, but add more memory to that filter to increase its order
<Lord_Nightmare> as you implied above
<Sarayan> well, you need to use more terms in the bilinear transform
<Sarayan> When you have a linear analog circuit, you can compute H(s) from the schematic and components values
<Sarayan> then you apply the bilinear transform, to get H(z)
<Sarayan> H(z) ends up at the same order than H(s)
<Sarayan> with the frequency quality limitations that implies
<Sarayan> but if you look at https://en.wikipedia.org/wiki/Bilinear_transform nobody obliges you to use the bilinear transform, you can add more terms from the 1/T ln(z) development
<Sarayan> but then, there's math :-)
<cr1901> there's also alternate first order approxs of the s-to-z mapping that are better or worse than bilinear depending on your needs
<cr1901> bilinear is just the classic approx
<Sarayan> cr1901: are you talking about pre-warping?
<cr1901> maybe, but I don't think so. The warping is inherent. You just don't need to truncate all but the first term of the full s-to-z mapping to get a first-order mapping
<cr1901> you could use, say, a trapezoid approx IIRC
<cr1901> Also, IME the warping really doesn't matter _that_ much. You're kinda screwed anyway if your passband is that far out near nyquist
<cr1901> something something aliasing something
<Sarayan> nah, aliasing is not an issue there
<cr1901> These are 4 lines of code I'm actually proud of lol
<Sarayan> cute
<Sarayan> wow sympy looks *really* interesting
<cr1901> sympy is cool when expansion and simplification don't explode
<cr1901> can be tricky to get it to do the right thing
ej5 has joined ##yamahasynths
kode54 has quit [Ping timeout: 258 seconds]
kode54 has joined ##yamahasynths
<Lord_Nightmare> Sarayan: http://real-votrax.no-ip.org/ is the guy running that site still running it?