SDR# (read SDR Sharp) is a high performance Software Defined Radio application. It is written in C# with both object design correctness and performance in mind. The project started as a simple proof of concept program to get hands into DSP techniques and has evolved to what it is today: A fully featured SDR capable of handling samplerates from kHz level soundcards up to multi hundred MHz dedicated samplers, thanks to its multi-core architecture. The source code is disclosed for educational purposes and for reference to those who want to build their own plugins.
Do you still think C# is too slow for DSP? Give it a try and compare with some Intel’s IPP powered concurrents out there.

SDR# reading a 2MSPS file recorded using RFSPACE's SDR-IP


746 Responses to Welcome

  1. n3oea says:

    I have been using SDR# for several months now with first my Funcube Dongle and now the Pro+. I also recently found an EXTIO DLL for my WiNRADiO Excalibur, so that even adds to the functionality of the program.

    I’m writing to ask the project heads if they would be interested in my adding a new feature to the program. I’ve always liked automating tuning with my radios, so much so that I’ve created programs to control my radios. The feature that I would like to add is the basic ability for SDR# to accept tuning, mode, and filter commands from another program. I would propose to do this in the same manner that Ham Radio Deluxe and SDR-RADIO currently work – via serial port emulation. I actually have the code already written for my program, Shortwave Log. (I put the program on hiatus several months ago until I find a better hosting solution.)

    My code have emulates the same Kenwood protocol that HRD and SDR-RADIO do. An external program just opens up a virtual serial port as an R-5000 or TS-570. I’m assuming that this protocol was chosen over others because it’s pure ASCII and so simple to implement. I could work on an Icom CI-V emulation, Yeasu, Ten-Tec, or other protocol if you like. The functionality would be simply accept the remote commands and tune SDR# and set the mode. Setting the filter would be nice, but the Kenwood protocol is quite limited with that.

    If this is not a direction in which you’d be interested, I understand. I’ve seen the protocols for forking and submitting revisions on the assembla pages. I just don’t want to start any work unless the project team approves. It’s one thing to fix a bug. It’s rather rude to add features without being asked!

    Bob, N3OEA

    • Youssef says:


      Thank you for your interest. I’m trying to keep the main application as slim as possible but at the same time I wanted to open its programming interface so that interested developers can develop their plugins.
      All you need is:
      1) Publish your sources in a public svn repository (I recommend
      2) Prepare a build/packaging script. It will be used to build your solution.
      3) Prepare an installation script (it should be able to register the classes of your plugin in the config)
      For the hosting/download you have the choice: Either use your own ftp/http or I can build them for you in the project’s software factory and publish them in a plugin page.
      I hope this helps.


  2. k20duser says:

    Hi VERY new to this. Haven’t found an answer so here’s the question. With SDR# how can I make a audio recording of what I am recieving on a windows 7 PC??

  3. jkelly says:

    About two updates ago, I am starting to get…
    “index was out of the array” error whenever I hit any button on the
    I can hit continue to keep going but happens on the next click.

    Also I cannot see the freq on the top. I catch the top few pixels
    of the characters, but white is covering the numbers…so frequency is not visible.

    Win 7. Have the scanner installed.

    Appreciate any help.


  4. freesparks says:

    Hello Everyone,

    I’ve installed this software on Windows with ease nd it works perfectly, but I am not having the same luck on Ubuntu 12.04 ( precise) 32bit. I used the one shot install linux script found all the necessary drivers and even manage to install other similar softwares and succesfully interfaced them using the ezcap DVB-TFM DAB. However, after installation if I type:

    mono SDRSharp.exe #this is in the .sdrsharp directory in my home directory

    I get this as an error:
    [ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: Pa_GetDefaultInputDevice
    (Message cropped)

    Based on what I’m gatherring from the error, this seems like it has to do
    with an inability to communicate with the default sound card, which in this case is set to:

    Creative Soundblaster Audigy 2 ZS notebook soundcard

    Ironically, I installed GNU radio and the sound card works with it just find. I think I’m the one complicating this. Any help would be more than appreciated. Thank you for making such an awesome software. It’s the best $20 I’ve ever spent.

    Best Regards,


    • Youssef says:

      You need PortAudio2.

      • freesparks says:

        Thank you so much for the quick reply Youssef, and again I thank you for making such an awesome software. Actually this is one of the first things I installed:

        sudo apt-get install subversion git libportaudio2
        Reading package lists… Done
        Building dependency tree
        Reading state information… Done
        git is already the newest version.
        libportaudio2 is already the newest version.

        I also checked synaptic Package manager and it’s thre as well. Any other suggestions are more than appreciated.

        Best Regards,

        • Youssef says:

          May be you need to symlink to the actual sdr#’s directory.

          • freesparks says:

            Thanks again Youssef, I did that as well, but this is one of those things that I was puzzled by. The one shot linux script installed .sdrsharp in my home directory and the code suggests that the code was executed in this directory:

            cd Release
            ln -s /usr/lib/x86_64-linux-gnu/

            However, other online instructions state to run the command in the Debug or debug directory. I’m a bit confused by this. In which directory do I run the command?

            Again, thank you kindly for your help.

          • Youssef says:

            If you built SDR# using the command line with the Debug config, symlink to the Debug directory, if you built it with the Release config, symlink to the Release directory.
            The release config is what you need.

          • freesparks says:

            No, no luck. This can’t be that complicated. It’s got to be something I’m doing wrong. I’ve tried just about every online documentation there is. If there is a step by step tutorial that you know of for Linux please let me know. I have tried the one mentioned on your site and others to no avail. Thank you so much for your help. It is more than appreciated.

            Best Regards,


          • Youssef says:

            Really weird. Try this install script: and/or reboot.

      • freesparks says:

        Hello Youssef,

        Just ran the script as I’ve always run it. It created a directory in my home directory that is hidden called:


        Inside this directory, I see the file:

        file that the script generated. but what’s interesting is under the Type, it states:


        I think this maybe my problem. Please let me know what I am doing wrong. Again, thank you for your expertise.

        • Youssef says:

          The link must point to your local installation of libportaudio2.

          • freesparks says:

            Thank you so much Youssef, the link was definitely broken for the symbolic link, the script does not state the correct symlink for my install. Now, the only thing I’m noticing is the audio is choppy and there is a huge delay in comparison to Windows. What’s interesting is I ave windows on its own partition on this machine and SDRSharp runs perfectly on it . However, on Linux, SDRSharp interface takes a long time to update and the audio as I mentioned is choppy and stutters. Any suggestions on optimizing would be more than appreciated. My system is a Dell Latitude E6510 8GB RAM, Intel Core i3 CPU M 380 @ 2.53GHz x 4 running Ubuntu 12.04 (preciise)32-bit GNOME 3.4.2. I have no idea what could be causing this. My soundcard is the creative PCMCIA Ceative Soundblaster Audigy 2 ZS notebook soundcard. Any suggestions are more than appreciated.

          • freesparks says:

            Also, I seem to be running an older version on the Linux distribution. I’m seeing version, where as on Windows its a different version. Also, the Recoding Plugin is missing even after I expand it. Thanks again for all your help!!

  5. Levas says:

    Great work. What about decoding two or more stations at the same time? Sometimes people are talking on different NFM bands for transmit and receive.

  6. lodenkabat says:

    Please, please, please….AutoTuner!!!!

  7. medude says:

    Any plans to add a s-meter

  8. w8mqw says:

    Sometimes the solution is ridiculously easy! I was unable to install my Terratec cinergy Tstick+ using Zadig on my new Windows 8 machine — I kept getting the unsigned certificate failure.

    Solution: In the Zadic “device” window I merely edited the name from “Bulk interface etc” that Zadig listed to the name shown in the Control Panel list of devices, namely “RTL2838UHIDIR”

  9. N4WU says:

    Can the SDR# software work with EZCAP DVB-T FM DAB device?

    In my fruitless attempts to get the device working, I thought maybe the device will not work with the SDR# software?

    Many Thanks!


  10. GKHAM says:

    finally got the 64 bit windows 7 to work, never could get it with the manual unzipping and copy paste, ran the install script in compatibility mode and as administrator , that did the trick. great program.

Leave a Reply