T——o SDR: A MultiMode SDR Receiver Program
Recently a reader of RTL-SDR.com wrote in and submitted a link to T——–o SDR, which is an RTL-SDR compatible multimode SDR decoder program for Windows. (The website is in Italian but is easily translated with Google Translate). In terms of operation it appears to be quite similar to SDR#, and other programs like SDR-Console and HDSDR.
Like all other general purpose receiver software it is capable of decoding NFM/AM/WFM/SSB/CW modes. It also has digital noise reduction built in as well as an S-Meter and frequency manager list.
Update: Unfortunately we have been informed by the developer of SDR# that this software was illegally decompiled from a relatively new SDR# version and is thus stolen work. We looked further into the software and it is essentially an exact clone of SDR#, just with a different skin. Please do not use this software, and respect software legality.
Essentially it appears that they took the closed source SDR# program, decompiled it then reskinned it and then made it open source under a new name.
Obviously this is unacceptable behavior, so out of respect for the original SDR# developers hard work we’ve removed links and references to this software on our website.
I have discovered the automatic tuning function “tune to max”; no more starring at the screen and guessing where the signal will appear next.
I know that there is some plugin for SDR# but i never installed it and better to have it as part of the SDR software.
I am not at all convinced Yousef aka prog has inclusive rights to this DSP code. How does he know the DSP code itself wasn’t obtained by permission in the first place? What a arrogant miscreant this prog.
there is no USA copyright patent on this software to begin with. Prog got the code from someone else even admitted it on ##rtlsdr irc
There is no such thing as “copyright patent”, there are three legal protections in use around the world today, two of which do not apply here:
Trademark is a word, phrase, symbol, and/or design that identifies and distinguishes the source of the goods of one party from those of others.
Patent is a limited duration property right relating to an invention, granted by a Patent Office in exchange for public disclosure of the invention. And generally lasts for 20 years (if additional fees are paid), if not 14 years.
Copyright protects original works of authorship including literary, dramatic, musical, and artistic works, such as poetry, novels, movies, songs, computer software, and architecture. And typically lasts the lifetime of the author, plus 70 years.
The first two do not apply in this case and copyright is intrinsic to all creations unless changed by the author. The US even grants patents to software, maybe that is how you are confused ?
Must tend to agree with Doug, and I also liked the ‘S’ Meter as well. Still if it is stolen then that is fair enough, I just like to play around with SDR dongles. He does have some nifty circuits for an upverter and active antenna though which deserve a look assuming they are not stolen from elsewhere. If I linked to these you would be able to download the illegal software though so I won’t even go there….
dBFS which used by most SDR programs, is a relative scale, that is dependent upon the uncalibrated hardware being used and varies with adjustments to gain, but an S-meter is, and requires, an absolute calibrated scale in dBm.
S-reading dBm dBm
S9+20dB -53 -73
S9+10dB -63 -83
S9 -73 -93
S8 -79 -99
S7 -85 -105
S6 -91 -111
S5 -97 -117
S4 -103 -123
S3 -109 -129
S2 -115 -135
S1 -121 -141
The best comparison in real life would be marking two random places on glass tubes of random internal diameters filled with random liquids and calling them calling them calibrated thermometers. Just because there is a scale does not mean that it is useful for comparison.
I am not saying that a software S-Meter could not be made, but that it would require one or more calibrated signal sources and measurements to be taken at all gain settings and a lookup table created to convert from dBFS to dBm. And once you have actual dBm readings then an S-meter is possible. Until then it is just a B.S. meter.
And given the gain is also frequency dependent, the B.S. description almost always applies to wide band receivers.
Yes, I fully agree.
I just like to see an analog meter dial, have no idea or care much about calibration – being brought up on valve radios where the S meter drifted all the time …. Wish I hadn’t bothered now.
uhmmmm…. I kinda like how it works. Has some nice features like the gain and variable bandwidth slider on the main window. Did I mention the “variable bandwidth” slider …..which can make a barely audible shortwave station listenable. It hasn’t locked up, crashed or started emitting odd high frequency noise like some of the more well known options I also use.
And just a note….. considering the type of people that play around with SDR, by blacklisting stuff
you are just making the blacklisted more popular and interesting. Lets not turn this hobby into
something it is not and ruin it.
why is everyone getting so buttblasted by some amateurs trying to copy some code and failing horribly?
IMHO it’s OK to decompile something and fix some errors because the creator of the software wants to eliminate support for competitor’s hardware (sdr#1525 + SDRPlay)/add some features the original creator(s) will never care about or clean a eyesore-y interface up(10px padding), and use it for yourself or maybe share it with a friend, but its not okay to claim that its entirely your work or maybe even charge money for it etc. etc.
Being myself a software developer, my understanding is that the tuning limits were added to support the new Spy Server, not to break things all around, especially that the non regression testing involved in the slight interface change imply a looot of work. This can be seen in the big jump from version 1500 to 1525. Most of the changes seem to be fixes.
SDR Play are just a second class citizen in SDR#, and there is no coordination between the two dev teams, so I can understand SDR# author is not willing to spend long hours of maintenance for zero return. People naively tend to forget these are commercial companies, not the regular open source projects financed by fame, kudos and good karma.
When you see it, many companies tried to steal SDR#’s code during the last few years for the same reasons SDR Play are now begging for support. The only difference is that the T–O guys have no clue about how copyright laws work and took a really dumb risk.
Avoid proprietary code like the plague that it is.
Youssef has played this legal game before, quite good at it by now. Justifiable, right..? Doesn’t matter. It squelches the innovative spirit. Get enough of that from our glorious rulers. Just say no to proprietary code.
Adapt and thrive, in spite of the fascist system – not because of it.
“Avoid proprietary code like the plague that it is.”
“Avoid cell phones”
“Always put your tinfoil hat”
Why does Youssef still not declared, that C# is his own language and nobody has rights to write SDR software except him? Or declare that IQ AM demodulation sqrt(x*x+y*y) is his own formula and protect others to use it? 🙂
Ok, I am not suit, just software developer, that also wrote some plugins for SDR# and when I saw this post edited I did own little investigation. Once downloaded and opened T—o with sources, I read the txt attached; and there’s written, that developers has used portions of OpenSourced SDR# code from old version; that are freely on GitHub with open license, and, following open license they noticed Youssef copyrights. I compared their sources with SDR# opened sources, and found, that T—o developers had rewritten some, but not gone so far away from Youssef opened code; and not removed Youssef copyrights; and published their code according to open license; so (remember, I am not lawyer) I think this is completely legit action.
The only thing after this copyright scandal again is that I am no more willing to support SDR# author, neither writing plugins for SDR# or recommending his software to anybody.
I could be wrong, but I though there were two parts to the source code, a GPL part covering the interface, but ALL the DSP code was covered by some kind of Microsoft license where you could look at the code, but it was not open source (Maybe Ms-RSL?).
Their code was decompiled from SDR# directly with the decompiler formatting, that’s why they don’t have any notion of the licensing. This smells like another SDR scandal.
T–o has recently updated their user manual to indicate the source of their SDR program. It provides a good explanation and is included below.
Other SDR applications
The first versions of Theremino SDR were written in VbNet, but in the years 2010-2014 we have translated the code to CSharp to align with the other Open Source applications. We then implemented the dynamic connection of the FrontEnd and the ability to connect the “FUNcube”, “FUNcube Pro Plus”, “HackRF” and “SoftRock” receivers, and also the PlugIns developed by users.
In these images you see that up to version 3.1 you could connect several FrontEnd
Our intention was also to facilitate the software exchange between our application and other similar applications. So we made the code similar to that of other SDR applications, mainly SDRSharp, which in those years was Open Source too. Early versions can be downloaded today still Open Source from here or in alternative (in the case is removed) from WebArchive site.
We then coordinated with SDRSharp in full compliance with the Open Source spirit and the license included in its source: Copyright (c) 2012 Youssef Touil and other contributors – http://sdrsharp.com – Permission is hereby granted, free of charge, to any person Obtaining a copy of this software and associated documentation files, to deal in the software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the software, and to permit persons to -whom the Software is furnished to do so, subject to the Following conditions: The above copyright notice and this permission notice Shall be included in all copies or substantial portions of the Software.
In the last years the SDR applications have gone from amateur stage to a more mature phase and we have seen an unpleasant phenomenon, almost everyone (except us) has stopped publishing in Open Source and have started looking for ways to make money on it. This unfortunately declares the end of the pioneering and collaborative spirit that has enabled the rapid development of these techniques .
Without detracting from the great innovations introduced by each (eg from Yussef Touil who has really done a lot for the SDR) we must not forget, however, that none of this would be possible if before us many others had not published their work generously (from Fourier transforms, to digital filters, to the decimation principles and programming techniques in general). Without this background, published in good faith, none of us could have written these applications, including Youssef Touil.
We therefore believe it is not right to betray the good faith of those who came before us, and of the GitHub contributors, and that there is fair appropriation of their work for profit. Therefore, even if all are abandoning the spirit of Open Source we will continue to publish. In this way everyone can benefit from innovations, including closed-source and commercial applications (that do not deserve it).
So, since all are closing their SDR codes, and considering that the compatibility features made slow and clumsy operation, we decided to totally eliminate compatibility with other applications, and the ability to use different from the cheap RTL-SDR receivers, that has more than enough performance for the teaching, DIY and automation. Today Theremino SDR remains similar in the fundamental parts, but is moving away more and more from other SDR applications.
Differences and similarities with other applications
Theremino SDR is not a copy of other applications. It is a project written entirely by us with a totally different structure from any other SDR application. No project file and any DLLs are the same as those of other applications.
The more similar application is SDRSharp so we will do here a simple comparison.
As shown in these images, the Theremino SDR application has a totally different structure from SDRSharp. Not one single file or a DLL, or a single class are identical between the two applications.
For some parts of our application we used publicly available techniques, and for this we thank all those who before us have published their work. Then, in full respect of the Open Source spirit, we substantially improved these techniques and published all our contributions.
Our most significant contributions include the autoscaling techniques of spectrum analysis; the equalization of the gains in the various operating modes; the audio output limitation that eliminates distortion and unwanted noises; the input-output automation; a general improvement in ergonomics; and the development of specific controls for SDR applications: “Smeter”, “TrackBar”, “MyPanel” and “Numeric Display”, more readable and easier to use. As well as a wholly new and immediate method, based on a convenient list, to store and restore frequencies and operating parameters.
We also carried out a complete revision of the fundamental SDR techniques, with hundreds of improvements and minor fixes. This is demonstrated by the significant reduction of CPU workload respect to other similar applications.
It says: The DSP code cannot be distributed.
The T—O guys are in big troubles.
If this is proven to be stolen “decompiled” code, there would be very little legal repercussion. At most they would be asked to remove the code and maybe POSSIBLY give a small amount of the advertising money from the website as this software is free of charge
But as a software and hardware developer i have to say SDR# really needs to lighten up when it comes to non-monetary use of his work, he needs to understand that his software is far from perfect and embrace the greater open source community to expand on it and create niche distributions of it for niche tasks
his software would improve, the community would improve, and people like me would feel better using software and hardware that’s a little more friendly to the community
Not to mention it lowers the chance of another open source and community driven program from surpassing it
Looks like they updated from 4.6 to 4.7 and added a licence file stating that SDR# is open source code. But it’s not, and this issue has been covered in depth several times before. The SDR# DSP code is under the MS-RSL license, which means that you can look and learn, but not reuse the code. Even the very old SDR# code still on the GitHub has the original licensing scope file that reads:
These projects (and the corresponding source files and DLLs) are under the MIT license:
This project (and the corresponding source files and DLLs) is under the MS-RSL license:
The copied code on the illegal t–o software is exactly the entire Radio.csproj which is under MS-RSL. Youssef also says that newer SDR# code that is not from the Github is also used, and he’s offered to let me check both sources to compare, will report back later.
Idiots who can’t do math and programming on their own usually don’t understand legal matter either.
Is the DSP the result of math formulas that would lead any expert using the same programming language to very similar code or is there a very distinctive approach by the original author?
Are the formulas and concepts protected or just the exact sequence of the text in the code?
A small team of people spend at least 5.5+ years working on code with over 1500 updates ( http://airspy.com/downloads/changelog.txt ) and someone else releases almost exactly the same back-end code, with a slightly different front-end GUI and then claim is now open source. Pull my other leg it plays jingle bells.
It’s all right what you say, just reduce a little the small team to one person and give him some time off 😀
There is more than one person who has push updates, if you read through them all.
The DSP code for the basic calculations would be the same or very similar. But from what I see the exact code structure and the particular implementation has been copied exactly. Like same file names, same code structure, same variable names. Just the whole project copy and pasted in word for word, then a new GUI built on top of it, and no reference made at all to the original code (until the 4.7 update yesterday).
I believe that the correct way to reuse closed source code is to ‘clean room’ rewrite. e.g. Someone studies the closed source code and writes a high level description of the algorithm. Then someone else who has not seen the closed source code implements his own unique code from the algorithm description. This way it would be a complete fluke of nature if the exact code structure and implementation ended up being used. Of course with DSP math you could just study the books instead of the SDR# code, and then write your own.
RTL-SDR.com would be wise to work with the Theremino crew and release a version of their cheap upconverter and active antenna on the market. For RTL SDRs to become more common, they need cheaper and more effective upconverters and antennas. RTL-SDR.com would be the perfect distributor since the RTL-SDR.com already markets the fine v3 RTL SDR!
I don’t think they should be working with a company that is so morally bankrupt that they steal closed source licensed code and then pass it off as their own open source work. They have a lot of software on their homepage, it just makes me wonder how much of it is stolen work? Could it be that even the hardware designs are stolen?
I suspect that you talk too much without knowing things.
Uhm. How can it be stolen? Later SDR# is closed source.
Youtube says: “Theremino SDR is an Open Source, user friendly Software Defined Radio – More simple to use than similar applications. Very high reception quality and easy access to all the SDR functions.”
“Theremino SDR is an Open Source”…
Because SDR# is mostly written in C#, (a Just In Time language) there are tools to generate source code. So you take a close source program, decompile the binary back to source code, and then illegally claim that it is open source.
Thanks for the clarification Bertie. I never realized that C# was JIT. I had always assumed it was natively compiled just like C++. That would make writing a decompiler substantially easier.
It’s just a pity though that Youssef has to take his valuable time to investigate these SDR programs to determine whether it was copied or not. I understand, though, why he would do it.. He just needs to tread very carefully to avoid some very expensive legal bills. It is good though that RTL-SDR Blog conducted an independent evaluation. It does help to minimize the risk of making a false accusation.
Personally, if I was concerned about someone stealing my work, I would invest a few hours with a good attorney who specializes in intellectual property. An investment of several hundred dollars could avoid making a mistake costing tens if not hundreds of thousands of dollars and might also take care of the problem fairly quickly. Just my 2 cents..
I just tested a decompilation tool and SDR# code decompiles to readable code very easily. Literally just open the file and see the code.
Can someone share the name of the program
Written by admin Posted in Applications, RTL-SDR Tagged with rtl-sdr, rtl2832, rtl2832u, thermino sdr
The website is in Italian but there is a 45 pages manual in English
Check also the SignalDecoder for remote controls
Sorry had to remove the link in your comment as unfortunately this program appears to be using a code base stolen directly from licensed SDR# code.
Max, do you mind sharing the website? (e-mail it to me please).
Google Cache returns the version with the free-speech already removed,
and Wayback Machine does not even have a copy.
Googling the project name also does not work.
only valid until
12/03 1900 UTC
Google Cache and choose the text version.
Honestly, not worth browsing for that sw. The original SDR# is still much better.
I like the slide to adjust the bandwidth and the frequency presets that you can pick from any path allowing to have one common file for different releases. The gain adj seem to be missing though
Gain adjustment is on the right side. Much better than having to open a separate window.