How to create a Java Soundbank programmatically - java

I want to create a small soundbank programmatically with my own samples and play them through the standard Sun JDK Midi Synthesizer.
A already read they are in Beatnik format, but I can't find the spec.
In addition, I don't really need the soundbank stored as a file, since it would be OK if there was a way to create a soundbank from samples programmatically prior using the bank to play the instruments in it.
Any ideas?
UPDATE 21.01.2021: Since Java 7 sf2-soundbanks are supported! So just stop thinking abount that beatnik stuff, the company is gone anyway. Here is the spec: http://www.synthfont.com/sfspec24.pdf

Related

How to associate a file with a program in java

Take notepad for example. You can open a file with notepad (right click and open with, or double clicking on the file if it is already associated with notepad) and it will display the contents of a file. I want to be able to open an xml file with the program that I am writing so that it can do some parsing and give a desired output. What sort of ways are there to do this in java? Do I have to ask for an argument to be passed into the program when it is opened? Would this be easier in C++ or some other language? If you need any further information please let me know -- this was the best way I could come up with to discribe my situation, which may be why my google searches have come up empty. Thank you in advance for your help!
You can associate an extension with a java jar and the file name will be passed as args[0] It doesn't get much simpler than that. I suggest you try it with a "hello world" program. ;)
display the contents of a file ..What sort of ways are there to do this in java?
Install/launch the app. using Java Web Start.
Java Web Start (JWS) is the Oracle Corporation technology used to launch rich client (Swing, AWT, SWT) desktop applications directly from a network or internet link. It offers 'one click' installation for platforms that support Java.
JWS provides many appealing features including, but not limited to, splash screens, desktop integration, file associations, automatic update (including lazy downloads and programmatic control of updates), partitioning of natives & other resource downloads by platform, architecture or Java version, configuration of run-time environment (minimum J2SE version, run-time options, RAM etc.), easy management of common resources using extensions..
Here is a demo. of the JNLP API file services (an API available to JWS apps.) that registers an interest (claims an association with) in the .zzz file-type in the launch file. Associations can also be done programmatically using the IntegrationService of the JNLP API.

java synthesizer that can use dls or sf2 files

I am looking for a synthesizer that I can use with javax.sound.midi classes which allows me to use soundbank formats other than one by Beatnik. I could not find one and a 6 years old information tells me that there are none available. However I wonder if new projects have come up since.
I have asked a related question with a different approach to playing my own samples according to a midi sequence generated by a sequencer in java, but to no avail.
In Java 7 sf2-soundbanks can be loaded via the class SF2Soundbank which worked fine.
Try the high quality one offered at Java Sound API: Soundbanks.

How to integrate Sphinx 4 with Freeswitch, receive call audio and do some recognition

I have a working knowledge of setting IVR on Freeswitch. I have installed Sphinx 4 and it's working good for Speech captured from microphone. However I want to integrate FS with Sphinx 4.
I read somewhere it says that it requires some MRCP server like Cairo to integrate FS with SPHINX. Is something like Cairo really required? FS comes with PocketSphinx...but I want to use Sphinx 4. Please tell me how to integrate Sphinx4 and FreeSwitch.
Yes, Zanzibar/Cairo/OpenIVR is a straightforward way to go. For Sphinx4 you can use freeswitch MRCP module together with MRCP server backed by CMUSphinx.
So your choices are:
Unimrcp with pocketsphinx (preferred because already tested)
Zanzibar MRCP server with sphinx4
mod_pocketsphinx without MRCP (less standard solution)
Pocketsphinx is not very different than sphinx4, the accuracy is the same. The performance of pocketsphinx is slightly faster and the solution is already tested by Freeswitch developers. That's why pocketsphinx is preferred.
For more information see
http://wiki.freeswitch.org/wiki/Mod_openmrcp#UniMRCP_Server (MRCP plugin for freeswitch)
https://sourceforge.net/projects/openivr/ (Zanzibar)
http://wiki.freeswitch.org/wiki/Mod_pocketsphinx (direct integration with pocketsphinx)
http://en.wikipedia.org/wiki/Media_Resource_Control_Protocol (Information about MRCP)
you can call external scripts from freeswitch dialplan, so I would suggest passing the control to a LUA or javascript or Perl script, prompt for user input, turn on recording, then pass the recorded file to Sphinx. Something like that should work (I never used Sphinx myself)

JavaNNS - Parsing the created Neural Network

I'm currently working on a Neural Network for creating a "better" PNG Predictor (Prefilter).
I already created the network (with JavaNNS) which has a quite good learning rate on 8-Bit grayscale images.
Now my next step would be to include this created network in my prepared PNG Encoder/Decoder which is written in Java. But to do that I need to parse the created .net file from JavaNNS.
I don't want to invent the wheel again so is there any chance that another one of you has already written a simple parser for the .net files of the JavaNNS which would read all the layers with the neurons, the connections and the weights on the connections and store it in any usable Java data structure?
I know it isn't that hard to create a parser, but it would be awesome to save time and skip this "boring" task.. :)
Thanks!
JavaNNS's predecessor, SNNS (alternative link), had an export function which exported the trained network as C code (essentially a header and source file pair). These files could then be used in custom code.
In Java you could use JNI or JNA to call C code and I am sure there are threads here on SO how to accomplish this.
I do not know the current version of JavaNNS, but maybe they already provide an export function exporting the network as Java code instead of C? Or you could open your trained network in the old SNNS and export it?
I just wanna add that I've created my own .net (JavaNNS) File Parser in Java. It is possible to parse single hidden layer networks. If anyone needs the code who run into the same problem I had before I am happy to share my code.
You can contact me on my blog. Here is the post about the Neural Network Project I've done. Just let a comment there and I will provide you the JavaNNS Parser and the corresponding NeuralNetwork Class.
http://prineblog.wordpress.com/2011/06/21/neural-network-as-predictor-for-image-coding-png/
I just updated the Version of Nen to Beta - It is a lightweight 3-layer neural network implementation in Java for regression and classification. A little performance comparison against support vector machines (LibSVM) demonstrates its capabilities. It can be used via command line or Java.

How do you create a web audio playlist?

I'm researching ways to create a web radio station of sorts. It will have streaming MP3 audio from TV programs for users to listen to. They should have the option of just listening to the stream or pick the shows they'd like to hear and add them to their playlist.
It needs to be usable by folks on mobile devices, so Flash is out for that reason. Also, the admin folks should be able to add programs to the player and maintain the list of available programs.
Are there any existing tools for such an app? We work in a Unix, PHP, Java environment with MySQL and Oracle db. We'll even take a solution that's in ASP.NET! Your assistance is much appreciated. Thanks.
As a server, you might consider using SHOUTcast, by the same folks who've made Winamp. SHOUTcast can stream audio in a number of formats. Or, you can write a web application that dishes content over HTTP with the proper MIME type set.
SHOUTcast - download info # classic.shoutcast.com
To reference content on clients, you should consider using .M3U format for delivery. This allows you to specify a playlist that is application-agnostic.
M3U format # Wikipedia

Categories

Resources