That is, hardware logic with physical circuitry, not software, although anything that hardware can do also has a software counterpart.Īnyway, to detect a sequence of 4 symbols, I might use 4 states: My first (formal) exposure to that (I had already reinvented something similar as a kid, but it didn't work as well), was in a college digital logic class. Still parse each line, but what the script does with that depends on what state it's in, and that state is also modified while it runs. So you'll need a state machine now, instead of just parsing each line individually. Is the timing accurate at least? No false triggers when there wasn't a test card? And it always detects that there is *a* card, even if it gets the specific one wrong? It's not a big jump, perceptively, but it could still be enough, especially since our hearing is logarithmic and the machine is linear. I wonder if there's some auto-gain involved, so that the sudden jump in volume actually clips, and the added harmonics of clipping are getting it all confused. *nix has a `tee` command, which copies its stdin to a file and stdout maybe that could be a decent starting point? I see you're using some *nix-ism's already. I don't know how to pipe stdout of one program into stdin of two programs. Someone needs to get fish-slapped for wrecking the flow like that.Īnd good luck keeping your viewers from seeing the test card, without also cutting off that word. WOW! Hard cut from dialogue to a DTMF tone (/ad when you replace it), with no regard for the timing whatsoever, in the middle of a word even. THAT is where the Lua script, or the Adv-SS plugin, or whatever else, would come into play. Once you have a reliable detection, then yes, you should be able to use practically any trigger method to read and parse the file. If it looks at the entire file, it'll include all of them, both good and bad, indistinguishably on the same graph, which is not particularly helpful.) (Be sure to select just one keypress in Audacity, and only have the spectrograph look at that one. See what the spectrograph looks like in there. If nothing else, you could modify your "do it" command to replace multimon with a file, let that run while you send both the key you want and the keys that it's being mistaken for (one at a time, of course), and then load that file into Audacity. Or maybe there's enough noise by the time it gets to the detector, that it's just guessing at random. Maybe there are some similarities?įor example, maybe some wow/flutter in the feed is causing a frequency/pitch shift that triggers the neighboring tone instead of the correct one? How noisy is the signal, and how clean/well-defined are the DTMF tones? A spectrograph might be useful here, as your ears probably have too much error-correction built-in.Īlso compare the actual tones for the keys that it's reporting, not just the one that you want it to detect. I want to set this up to detect the DTMF and then trigger a Macro in OBS Its working BUT even though i have tried to clean up the audio sometimes it is still reading the wrong DTMF or something else may set it off. "%streamlink%" -quiet -twitch-disable-ads "%stream%" best -O | ?mpeg% -hide_banner -loglevel 0 -i pipe: -f s16le -acodec pcm_s16le -ac 2 -ar 22050 -af "highpass=f=300, lowpass=f=800, volume=15,afftdn=nr=30:nf=-20" pipe:1 | %multimon-ng% -q -t wav -timestamp -a DTMF. Set streamlink=C:\Program Files (x86)\Streamlink\bin\streamlinkĮcho Sit back and relax and wait for the stream to start. This is the code so far using a windows Batch OFF Multimon-ng detects the tone and writes the timestamp and DTMF to a. So i grab the feed from streamlink -> ffmppeg -> Multimon-ng I then use Streamlink to grab the youtube feed, then pipe that to FFMpeg.įor Multimon-mg to work it needs to be be a raw 16 bit wave file and 22.5k I created a Youtube Live stream to emulate a live feed. One solution i have been working on is using multimon-ng and FFmpeg and Streamlink So anyone who has had radio or TC experiecne know that some feeds come with DTMF tones, these tones are detected and then a advertisement is played.īeen trying to do similar where OBS can detect it, with no real luck
0 Comments
Leave a Reply. |