Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Is there any open source audio fingerprinting solution that provides a "Shazam like" solution?
Shazam uses the commercial solution from Landmark digital but I am looking for an alternative (even if inferior in accuracy and performance) open source solution.
Any one knows anything about such implementation or even of a published not implemented algorithm?
echoprint looks like a solid alternative to commercial libs.
for speech recognition:
CMUSphinx
OpenEars
we only tested echoprint and so far so good.
I know the answer is a bit late but as this page pops up in google, we may as well improve it over time :)
edited as CMU is speech oriented
There are a few Open Source audio recognition projects out there, although you can forget the quality/performances of commercial audio identification services such as Shazam, SoundHound, etc. It also depends on what kind of recognition you want to do (audio files fingerprinting/tagging, real-time identification, OTA (Over-The-Air) recognition, etc.)
Open Surce
AcoustID/MusicBrainz Provides tools to perform audio fingerprinting and metadata association (fingerprinter and server). You can put up your own fingerprint/metadata server or use MusicBrainz's service. Good solution for audio file fingerprinting and recognition, not suitable for real-time high-performances applications (i.e. OTA). We have also tested it for audio stream monitoring (broadcast monitoring) but the results were quite poor.
Echoprint Provides the same tools as AcoustID (fingerprinter and server+metadata) and can also be used for audio stream monitoring as it can recognize snippets taken from anywhere within the audio with decent accuracy (but i wouldn't use it for serious commercial applications). They also claim it is suitable for OTA applications but the performances are nowhere suitable for production uses.
Last.fm Not fully open source, although they have open sourced the fingerprinting module. You have to query their identification and metadata provider services as they do not provide a full fledged solution.
ok. different search keywords, all the results I looked for.
http://musicbrainz.org/doc/Audio_Fingerprint
Thanks for anyone viewing
If you are looking for a solution in .NET check SoundFingerprinting library.
It's open source and built on top of Content Fingerprinting Using Wavelets research paper.
The algorithm is different from Shazaam's, but the general idea is similar: extract most prominent coefficients from the spectrum, then use them to build the fingerprints for later retrieval.
Description of the algorithm can be found here.
If you are looking for JAVA library then go for MusicG, I have used it in my one of past project and its working fine.
http://code.google.com/p/musicg/
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I have to write a paper and the document given to me said the following:
"How the technologies that underpin the scripting languages and enable their integration with the Web server have changed and how they have improved the performance of Web applications".
I am somewhat lost. I can not really work out what i should write. So my question is how do you understand the sentence above given the fact that the paper in general is about the evolution of Server-Side technologies and Scripting languages? I was going to write about CGI (Common Gateway Interface) and ASP but i am not sure it is correct.
As this is my first post please forgive any mistake i did.
I'm not sure if StackOverflow is the best place for this question, but I'm going to answer it anyway. I'm not trying to give too many actual points for you to use here, but rather point you towards your own.
Deconstructing the Question
This question consists of two main parts:
How have the technologies underpinning scripting languages (and their integration with servers) changed,
How has this improved the performance of web applications.
From this, it seems that the point of the question is to identify the changes and trends in scripting languages and (possibly, from your description of the paper in general) server-side technologies, and how this has influenced web applications (and their performance).
To tackle this kind of question, there are several things I would do:
Define server-side technologies and scripting languages
Identify the recent changes between and within these two (i.e compare them with themselves and each other)
See how this has influenced web applications, referring to their performance.
Answering the Question
For all of the question points above, I would heavily suggest using examples. Examples provide real-world data (if possible) and evidence to support the arguments you are giving. For example: your examples of ASP and CGI are good, but I would also add PHP (and maybe Rails). And for scripting languages, JavaScript is the main player.
From examples, I would analyse the different uses of the two categories you defined - is there any overlap between scripting languages and server-side languages and how has this changed. Throughout this, the question suggests that the main emphasis is change.
Now for the final part: I suggest you define both web applications and performance (hint: there is more than one type of performance), again using examples. As said, the question emphasises change and so should your examples. For instance, Facebook mostly operates on the server-side, using PHP, whereas Netflix uses AngularJS and operates more on the client-side - time is a big component here: Facebook was released much earlier, but most websites not seem to be going Netflix's way - what does this say about server-side languages in general? Why has this happened? Has this improved web applications?
Throughout this, I would suggest using any data and resources that you can find: usage statistics always make for good graphs (e.g), but always cite properly and thoroughly if the content is not wholly yours.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
Is there any open source alternative to talky.io? where client code and all server side code is available.
I just double checked and it seems the priologic team are keeping tawk.com code behind a paywall, just like talky.io.
In the webRTC ecosystem, vendors either focus on
an application, and the Backend is hidden (think Skype, or bistri, even though bistri pivoted to propose an API as well.),
a PaaS and
then both the sever code is hidden and you won't have an
application, at best a demo, because they do not focus on any
vertical and do no implement business logic (think AWS in general, or tokbox, temasys for webRTC)
propose consulting/app development and will provide a complete
application most often open source, but keeping some key components
(priologic: mobile SDK + app, &yet: app, algoworks, ...) behind a
paywall. They usually team up with a Paas and or Hardware vendor to
provide more compelte/scalable solution to their client
(priologic/oracle, ...).
It is very unlikely, and I wouldn't know of any, that there were a vendor that would provide a full solution open source. It is still too complicated to have a non commercial entity provide one. The ones which do provide a full solution do so for a limited scope.
In any case, an application is always focussed on a use case. Even though the underlying infrastructure might be the same, and the BE/client API might be the same, an app for contact center, and app for social dating, and an app for conferencing will be quite different because they implement a quite different business logic and address quite different market. It is reasonable NOT to expect a full stack, but to have only the top most layer left to implement.
I put a list of vendors and products there, but it s a little bit raw. So here is a recipe to build a free/open-source solution, and then where to look to upgrade:
mandatory: open source signaling server (easyrtc, signalmaster, peerjs-server, rtc.io, ...)
mandatory: BE API (easyrtc, simplertc, peerjs, rtc.io respectively)
optional but highly recommended: add the free turn server rfc5766, or the most advanced version "coTurn". Some of the open source server and library propose examples or how to to support this TURN server by yourself.
optional: a client API that brings you closer to your use case,
optional: a free plugin to support IE and Safari (temasys free plugin),
optional: a media server if you need to host many-to-many calls or conferences (MCU or SFU) (licode, meteecho's janus, medooze, kurento, jitsi's videobridge)
optional: a SIP gateway to connect to VoIP and/or pone by extension (PSTN).
and ... that's about as far as you can go with open source / free libs today. You might hit a scalability problem quite fast depending on your traction.
A next step would be to get hosted servers, but it's not free anymore.
Separate servers:
ICE/TURN/STUN: See xirsys/twilio for hosted solution,
Media server: see dialogic, radysis, for hardware and meedoze, Jitsi, acano, pexip, openclove for software/hosted solutions,
Full Paas including all of the above:
tokbox (beware of streamed minutes billing if you have large conferences, has recording and some features temasys does not have yet)
temasys
some of the media server vendors also market themselves as PaaS. I have not tested, so I can't comment or recommend.
If you want to connect to SIP/phone, you will need different vendors as hither temasys nor tokbox provide interoperability today.
You could have a look at jitsi https://jitsi.org/, which is an opensource solution for private communication and also serves as a video conference tool for the browser.
You could try Subrosa (latin for "under the rose"). According to https://subrosa.io/source: "The Subrosa client and server are both open source and licensed under GPLv3."
Would be better if the server component was GNU AGPL 3.0, to make sure anyone running a server makes their code changes available for re-use, but at least both ends are free code.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I want to start programming a synthesizer. I reckoned that I would need to use the sound card, so I started to google. After a while, discovered many options:
- WaveOut API - I've heard that this one is outdated, so I scrapped this one.
- WASAPI - Seemed a little bit too low level for what I wanted.
- DirectSound, XAudio, XAudio2 - Seem reasonably fine, but I want to have as little latency as possible.
- Asio - Seemed like exactly what I want!
I did find a couple of tutorials and source code to get me started on audio programming. Sadly, the only one I got to work uses the waveOpen API, which I don't want to use.
Then I found this tutorial, which seemed perfect for my needs.
This tutorial is, suprisingly, the only usable (well, not that usable since I can't get it to work) resource I can find on using ASIO. Thing is, I can't get it to work. When I run the demo I get a 'Application has stopped working'-error, followed by the console output:
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'BlueWave.Interop.Asio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format. File name: 'BlueWave.Interop.Asio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' at BlueWave.Interop.Asio.Test.TestConsole.Main(String[] args)
WRN: Assembly binding logging is turned OFF.To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
When I try to compile, I got a whole lot of Rosie errors:
This is after I manually placed msvcr90.dll and msvcd90.dll in C:\Windows\System32 (I couldn't get them to install any other way). Ow yeah, and of course I installed ASIO4ALL before all this.
So, this is not really a question, but I'm merely asking for general advice. I think it shouldn't be THAT hard to get asio working, but at the same time a link to another resource for learning the ASIO API would be great, as well as any other advice. (Maybe it's easier to just go and try to get Xaudio2 working? I don't know...)
Thanks in advance, and sorry if you think my question is a long or boring read!
EDIT: Thanks for the reactions. I have come across the ASIOHost API by TropicalProgrammer. No idea if it's any good, but it looks promising. I'm looking into it currently. There may be better options, but I have to admit that I got my mind set on ASIO currently.
I suggest having a look at Juce which is a dual-licensed audio framework for writing both audio plug-ins and host applications. Quite a few commercial applications have been built using it.
Since your objective is to build a synthesiser, the path of least resistance is to build it as a VST plug-in. JUCE provides a host application that takes care of managing the OS's audio APIs, good documentation and numerous examples. All you will need to do is implement the render-callback for your synth.
As for ASIO, a great many pro-audio applications have been built with it, mainly because of the traditional shortcomings of the normal audio APIs on successive versions of Windows - particularly where latency or high channel-count is concerned. On Windows, ASIO uses dedicated drivers for the audio hardware and bypasses the host operating system's audio stack. I suspect Juce will take care of this for you.
Not a really helpful answer, but I decided to go with XAUDIO2. I wouldn't really say it's easy to use, but at least there are tutorials available (I use this one, but microsoft has a serie available as well).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for publications about the history of the internet browsers. Papers, articles, blog posts whatever. Cannot find anything on ACM IEEE etc. and my blog search also didn't reveal anything remarkable.
Did you take a look at the entries in Wikipedia? It's a useful starting point.
Here are a few to start you off:
Wikipedia - Web browser
Wikipedia - Timeline of web browsers
Wikipedia - Browser Wars
There's Eric Sink's blog post: "Memoirs From the Browser Wars".
Eric Sink was one of the members of the team that implemented Mosaic, the first web browser. He litterally is part of the the history of the internet browser :-)
The keywords I would search for in a decent library index (or Google) are:
Tim Berners-Lee (inventor of first HTTP client and HTTP server)
WorldWideWeb (HTTP client mentioned above. Notice no spaces in name.)
NCSA Mosaic (first graphical web browser, evolved into Netscape and eventually Firefox)
Marc Andreessen (project leader for Mosaic, founder of Netscape. Also one of the first technologists to envision a browser-based operating system, what we might now call "web-apps".)
Browser Wars (should cover most of the major players involved in how we think of modern Web browsers).
Most of this stuff is covered in the articles suggested in the previous posts. Just hope this helps you pick out the terms that will help you with finding scholarly sources.
The HTTP client (now better known as the Web browser) is one of the key components of the World Wide Web (or just "the web"), which is distinguishable from the more generic "Internet" in that it uses a combination of technologies (most notably: HTML, HTTP (client and server) and Domain Names). The reason why you may be having trouble finding good sources in your search is that you are searching of "history of the web browser" which is kind of like searching for "history of guitar solos" in that the info is out there but combined with the larger topic. While you may get some results, most of the information you want will probably be integrated into sources on the history of the web. That's why I suggested searching for Tim Berners-Lee first, as he invented all of the major components essential to the web.
I would start with Wikipedia as Eward mentioned.
But after you read wikipedia, check the bottom of the articles for the sources used. Then read those sources. If this is for a school paper I doubt you'll get full points for using wikipedia.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I have been asked to provide information on available techniques for assessing our current, and any future websites for security problems. the request is in the form of
Do you know of any good free one that examines for security holes?
I think our data security is probably worth a small amount of upfront spend so any non-free methods would be appreciated too.
Our systems are a mish mash of mySQL, Oracle, SQLServer, PHP, ASP.NET etc etc systems though I guess that that does not matter too much. All the systems are secured in as much as they are patched and the firewalls are set sensibly so outside people cannot get directly to the database boxes etc.
It is XSS and similar attacks that we wish to prevent.
What do YOU use to give you confidence in your systems? ');DROP TABLE answer;
owasp would be a good place to start. There's too much to cover to include here.
If the security of your site is worth nothing to your company then that's what you should pay. For my company the security of our data and the brand image has quite a high value.
We pay a whole bunch of money for regular scans, we've trained the developers in basic hacking/security of applications, our code reviews include a security review and now we're looking at AppScan from IBM (which is expensive but in the long run probably cheaper than all the pen' testing we pay for).
You get what you pay for. Making sure you understand the owasp issues would be a good start though.
Personally, I choose not to be confident in the security of our systems. I am convinced there is always something that I am missing and thus I keep looking for it.
What you seem to be looking for is something to make others feel confident (even if that confidence is an illusion). Penetration testing is probably the right choice for that. Depending upon the tool, it shows potential vunerabilities in a nice report and then you can report how you mitigated them.
We use IBM AppScan and it is a good tool for this. As with any tester of this type you will find yourself following a lot of bad leads. Most of them are not false postives per se, more just things that might be an issue or appear to be and you will have to investigate and determine if they actually are.
I would not put a lot of faith in this kind of testing. If you app scans clean it really does not mean your app is clean. Does not mean it is worthless, but don't make it out to be more than it is.
The next thing I would look into is static analysis tools in your various languages. A lot of these are free. Hand in hand with that is developer education. That is usually a pretty cheap solution to the issue, just making sure they understand what the risks are.
There is no silver bullet, no simple answer, you need to define security as an EVERYONE problem and make sure it is given both priority and commitment.
Check out dotDefender - they've got versions for IIS/Apache/ISA. I use this app to protect against SQL Injection/XSS/DDOS/probing/encoding attacks. No piece of software will ever be perfect but in my case I run systems with sites being developed in .NET, PHP, and classic ASP with some of our sites being new and others being 5+ years old.
http://www.applicure.com/?page=dotDefender
I do also have a company do penetration testing / social engineering every year or so as well but with dotDefender I'm at least happy that I've got a baseline security blanket to protect my sites.
Of particular interest to me was that their app is fully x64 compatible - necessary since I'm using x64 web servers.