Aha! Now that I look at github, it's all pretty clear. Great work!
Do you know if the newer versions of RPi or other small boards have enough power to run this (i.e. dedicated RX feed nodes sort of like the ADSB RX nodes)? I know DSD is pretty processor intensive.
It has about enough CPU to handle recording about 2 streams at the same time. I think part of the problem is that Raspbian does not have the GCC flags optimized for the processor in the RPi3 and doesn't have 64bit enabled. I played a little with this image: https://blog.hypriot.com/post/building-a-64bit-docker-os-for... and it seemed to help a bit, but I didn't see huge gains.
People are using it with the ODroid, and I think they are able to do about 4 simultaneous recordings at the same time.
I did switch to FFT based filters and that helped a lot. CPU requirements are a lot less. Using RTLs with 2M sample size, instead of SDR more bandwidth also helps. It is a poor mans version of HW-based channelization.
I use one for SDR playing, and one for receiving OTA ATSC and streaming to Kodi. I suppose I could have also installed a USB hub and run them both (or more) from one board.
I bound to the machine's IP instead of localhost, and then was able to enter that into Kodi, where a list of TV stations Myth found appeared. It was surprisingly easy! I haven't had any issues with stuttering or skipping when streaming to a single Kodi instance - haven't tried any more than that.
I like these: http://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/
And these: https://www.amazon.com/NooElec-NESDR-SMArt-Enclosure-R820T2-...
Brings back some fun memories...
The other solutions we ran across (Unitrunker, DSDPlus) are all built on rickety virtual audio cables running in Windows. They _work_, but just barely and are very brittle.
When you hear "after these words from your local station," watch for < 100 Hz tones. They're high amplitude and you won't be able to miss them; VU meters will often peg hard right during a tone, depending on the network. Should be a tone out and a tone in, and it is modulated so it'll be quite apparent.
Another helpful avenue to explore would be in-stream RDS metadata, if you're working with typical FM. It lags a bit, but if you buffer a minute back or so you can look for transitions when the RDS data changes. Then you can use the same trick a delay uses to backfill its own buffer, and pad silences to restore your buffer. You don't care about dead air in your application, so you can be more aggressive than broadcast equipment can. (Talk radio runs >30sec behind, usually, and the "dump" button on a delay flushes the entire buffer, synchronizing air and program. It'll then slightly extend silences to get air "behind" program again. It has a little screen on it indicating how far back it is, and it's cool to watch it zoom back when people stop talking. If you hear a station dump delay, you'll notice they won't take callers for a couple minutes; this is why.)
Teach your setup to listen for EAS tones and you're well on the way to a startup of some kind. I think this was attempted in the past, actually...
Radio is a lovely profession full of wonderful people. There is a strong hacker culture on the engineering and air operations side of things, and the head of sales at my last station baked six huge cakes for a company event in her home. Pretty much every day the station smelled like solder from some hilarious contraption the bored engineers were putting together. Most people who like HN would love a radio station.
Marketing ("sales," in radio) is a necessary function in capitalism, and loud commercials have nothing to do with ethics. If you want an example of how ethical radio sales can be, if I technically erred while airing even one second of a :30, they'd refund the whole spot and re-air it. Most of my job during broadcast operations was notating these exact problems, and they never thought twice about making it right. Why would they? Advertisers are what, you know, feeds the family of everybody at the station and gives you something to listen to on your drive home for free, and they do spot check.
This comment is just really, really awful all around, and I expect better from you. Ethical is not an antonym for crappy, nor annoying, and accusing a whole group of people of being unpleasant and unethical simply because [issue] is nothing short of completely shitty, speaking more about you than them.
It's not acceptable to annoy people to run your business, and the fact you have internalized these justifications from marketing people underscores my point. I know all about the technicalities involved from >20 years as a sound engineer, much of it in the media landscape.
The reason you people are now switching to better PPM meters are because people like me have been making a fuss about this issue for many many years. I'm sorry you think my comment is awful, but I am do not support capitalism reflexively the way you do and I reject your claim that it's OK to increase sales by making people's lives a little worse. I am using the word ethical judiciously, whether or not you agree with me, and I am not going to change my opinion about marketing people either.
A quick google search makes it clear that people don't want to hear loud commercials and want legislation in place to prevent them (actually they're wondering why the fuck existing legislation to prevent exactly those ads is being circumvented). It's not just annoying, it's hijacking their hardware to assault their senses. It makes watching TV or listening to radio at night a nightmare if anyone is sleeping in the house. It's ambiguously unethical and the practice only persists because consumers aren't able to out-lobby advertising interests to pass the laws needed to prevent it in many states. And in your mind this is how it should be because 'that's what the sponsor is paying for'..?
Solution: Pay for content you like so that more broadcasters enable those options. No ads. Done. This applies to pretty much every broadcast medium including the Web. Sirius XM, Netflix, Amazon Prime, YouTube Red... toss a few bucks at Apple Music and get into podcasts. This is a fixable problem without worrying about how loud the SUNDAY SUNDAY SUNDAY spot is on your local radio station, and it's far more fixable now than it was even three years ago.
Notice I said I formerly worked in broadcast radio. Inventory is decreasing in terrestrial. Satellite and alternatives are winning. That problem is only going to become worse in terrestrial radio. It's weird, though, because radio also serves a vital role with EAS, local news, and other functions. I remember when Clear Channel started collapsing all the locals and Sirius and XM launched, most of my peers said the end was nigh. I don't know how it'd "end," but it's slowly worsening.
And no, calling anything I just said "unethical" is a misunderstanding of the word ethical.
Ads are annoying, but you can always change the freq/input. It starts to become a problem when the commercials are exceptionally louder than whatever was on before. It shocks the driver, and if they're sensitive to loud noises or disruptions, they may be liable to jerk the wheel in response.
Even more so when the ad creators knowingly place in car crash/swerving and police siren sounds. It's dirty and unethical.
> Marketing is a necessary function in capitalism.
All I can say is that necessary evils are evils nonetheless and "good people" do terrible things all of the time.
This I agree with, and they were specifically against policy at my last station. I ended up with copy that called for one and refused it, and the sponsor understood and sent new copy. This is not uncommon, particularly in larger markets, and it is a well-known problem amongst production types. And yes, production can refuse copy. They're often not empowered to at smaller, broke stations.
> It shocks the driver, and if they're sensitive to loud noises or disruptions, they may be liable to jerk the wheel in response.
I have a hard time imagining a scenario where this is the fault of the radio station. Trust me, I can see both sides, I just don't know if I can assign fault the same way. To be clear, on-air responsibility is not overlooked, though... "War of the Worlds" would, without question, never happen today. I'd just hope your hypothetical driver would maybe not max out the volume during dynamic programming if they're susceptible to that.
If there's a >20% difference between normal programming and the rest, the station you listen to needs new engineering and operations. That's just sloppy. Especially on AM, one should be compressing the living shit out of everyone speaking, so...
> All I can say is that necessary evils are evils nonetheless and "good people" do terrible things all of the time.
Yeah, no, that's not how that works. Found a startup without sales or marketing and get back to me.
Entrenched legacy B2B is one example where the level of marketing can be close to nil (if we don't include "sales" in our definition of marketing, otherwise there's no reason to argue), but still allow the business to prosper.
But that ignores that you haven't refuted the point. The advertising part of marketing, in its current form, is a net negative ("evil") to consumers. I'm not specifically signaling out the entirety of the "marketing" umbrella, but one of its subsections.
Can you tell me how advertising directly benefits the consumer?
Would this capture it?