XMIDI file format - language-agnostic

I am going to write a converter from Miles Sound System Extended MIDI to standard MIDI file, but I am unable to find any good documentation on this format. There is a DOS converter at http://www.hitsquad.com/smm/programs/xmi2mid/, but it is useless on 64-bit platforms and there aren't any sources of this program. There is also John Miles' website http://www.ke5fx.com/ where older AIL Version 2 is, but my C and assembly language capabilities aren't good enough to understand it. I have found a converter in Java at http://de.glibly.de/?site=software&lang=eng, but it has strange tempo issues and I haven't found a way to fix it yet. Could you point me to some documentation or a working converter with sources, preferably in C#?

The only completely working converter I've found so far is the in_midi.dll plugin of WinAmp.

Related

Is there any news about the Forgetoolkit?

I have seen that the Forgetoolkit is no longer available via beta.autodesk.com .
I would be interested in how the Forgetoolkit will be used in the future. Is there a roadmap, will version 2.0 be released?
I would be pleased about a short statement.
The current beta host - https://developer-api-beta.autodesk.io - is still available, but I can't answer whether or when the version 2.0 will be officially released...
If you're in need of a Forge-to-Unity pipeline, I'd suggest that you look at this library: https://github.com/petrbroz/forge-convert-utils. It converts the proprietary Forge file format to glTF which can then be loaded into Unity, Unreal Engine, as well as other platforms.

how to support all video format html 5

I have developed a website where the user can upload videos.
Everything worked fine until I discovered that if the video codec is not supported, it will not be displayed by the browser.
I realized that this same video that is not displayed by my site, is displayed perfectly by youtube.
is there a way to support all video formats in html 5?
If it does not exist, is there any way I can convert the video to another format with javascript or java on the backend?
Every help is welcome!!!
Current HTML5 implementations do not provide any way to get to your goal, even if they did, it would be very OS and browser specific. What i do to get this done is to install a local application that "live encodes" the stream locally and streams the output to the html5 video element.
In fact, there is no way at all on this world to support "all video formats" in one shot. The best you can currently do is to use ffmpeg on the backend to transcode.
Simply install ffmpeg on the backend and from your backend java, you just use the Runtime.getRuntime().exec method to call an ffmpeg commandline, like this
ffmpeg -i "%yourvideo%" "%youroutput".mp4"
It is a totally different topic to get a ffmpeg commandline done that is compatible to a lot of input formats, but using the above command you might hit already lots of formats.
Edit: please be aware of the consequences of "transcoding" on your server. It uses huge amounts of CPU and GPU usage is extremely complex. Due to this fact, you should not expect any really native way in java to do the same job as it would cost even a lot more CPU than the compiled C and assembler code of ffmpeg uses. Even if you find a native way how to use it natively in java, it will take weeks or months of R&D to get the same job done than a simple commandline exec could do for you.
Edit2: it might be a way for you to go through online encoding services like encoding.com and similar. But those do cost lots of money compared to running ffmpeg locally.

How to identify the Programming Language used to Develop a Software? [duplicate]

This question already has answers here:
Closed 12 years ago.
Possible Duplicate:
Find Programming Language Used
So, I have an application consisting of an executable (exe) file and a DLL. Is there a way I can find out the specific language used to develop this software. I tried opening it in a disassembler but the contents seems garbled. Any ideas?
In principle, the answer is no. In practice, however, there are only a few choices:
If the .dll name looks like something.dll, it's probably a native dll image, which means it was probably written in C or C++.
If the dll name looks like Namespace.Something.dll, it's probably a managed dll, which means it was written in some .NET language (C#, VB.NET, etc.)
You can check the dll imports for more information. If the dll uses mscoree.dll then it's a .NET dll (even if it doesn't follow standard .NET naming conventions). It may also use other language-specific dlls that provide additional clues.
Open the .dll or .exe in a hex editor and search for the word "copyright". Most compilers put the copyright message of the runtime library into the executable in clear text.
Get IDA pro. http://www.hex-rays.com/idapro/ That is the tool to work with binaries or do reverse engineering. It will be able to find out the runtime library and maybe also the language.
Evaulation and freeware versions of the tool can be found here: https://www.hex-rays.com/products/ida/support/download.shtml
Unlikely, unless it has a significant runtime library that gives it away. e.g. VB apps used to require a huge DLL with VB in the name, Visual C++ apps usually require the C++ runtime to be installed. But modern languages target language-independent runtimes. Even Java .class files may have come from a wide variety of source languages.

Air - Unzipping file

Currently I am using nochump library for unzipping files. But its very slow(around 30 seconds for 2 mb file). Is there any other libraries available which are fast. Or is thaere any better way to unzip by communicating with os?
I have used FZip, but it wont work in mac. So cant use it.
Not that I'm aware of... AS3 is quite slow in these areas...
A possible workaround, if you are using zips for loading images, could be using a big JPEG with all of your images inside it (eventually using an aditional XML to determine dimentions, or maybe even custom metadata). Uncompressing images in Flash is quite fast (and asynchronous).
It might be possible using Alchemy (there are very fast Alchemy librairies to encode JPEG and PNG), but I can't find any existing one for unzipping.
Otherwise, you can use the AIR 2.0 beta (not great for production code... depends on your project) to call a native application which will do the job for you.
Anyway, it might get tricky to retrieve progression information if you need it.

wav <> mp3 for flash(as3)

I'm wondering about MP3 decoding/encoding, and I was hoping to pull this off in Flash using AS3
I'm sure it'll be a right pain...
I have no idea where to start, can anyone offer any pointers? reference material?
----much later---
Thank you all very much for your input... It seems I have a long road ahead of me yet!
You could also theoretically do this as a PixelBender filter, and should get significantly better performance than using a pure ActionScript 3 implementation.
More info on PixelBender here:
http://labs.adobe.com/wiki/index.php/Pixel_Bender_Toolkit
mike chambers
mesh#adobe.com
this would help
http://labs.adobe.com/technologies/alchemy/
See LAME MP3 Encoder. You can checkout their source code and their link page. Mpeg.org should have documents too.
I've got a project converting WAV files (actually Asterisk voice mails) into MP3's. If I remember correctly there are some oddities about Lame's license, so I've downloaded and compiled first LAME, then SOX by hand.
I have a web process written in PHP to actually convert the files from WAV to MP3 on the web server's local file system (actually PHP is just supervising the command-line sox tool via exec()). Then I attach all the metadata the MP3 needs using the PEAR Mp3_Id package.
Then I move the newly constructed MP3 file into a folder Apache is sharing, and point the outstanding SoundManager2 flash-based MP3 player at it.
For small transactions this works very well -- converting a minute or two voice mail does not add any appreciable lag to actually rendering and returning the rest of the page. As I get more users on a single server, it will probably eventually become necessary to write a cron job or something to do the conversion before the user actually asks for the file the first time.
It's going to be VERY slow doing this in AS3. You really need a C/C++ implementation if you care at all about how long it will take.
Andre Michelle and the Hobnox guys pulled off something similar with their Hobnox AudioTool, they ported a Java Vorbis encoder to AS3. They supposedly ended up with encoding taking twice the time of the audio duration.
Don't know what your use case is, but in the Hobnox tool apparently audio is created at the client side, encoded as Vorbis, sent to the server, converted to mp3 and stored in the users library.