Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

Flowstone Audio Files project

Post any examples or modules that you want to share here

Flowstone Audio Files project

Postby Exo » Mon Nov 03, 2014 10:19 pm

Hi guys,

I have recently been working on loading wave files via the DLL component and I have a working (I hope ;) ) prototype to share.

I have set up a Github Repository for this. It is all my own code I am not using any libraries or anything. This is a Netbeans project :twisted: , because I already use that IDE for java projects and it's just a great IDE :)

So why load wave files via the DLL component when we can already load them?

Well basically with this we can extract Cue Points and also playback Multi channel wave files up to 7 channels. It is restricted to 7 for practical reasons, more can be added.

This only supports PCM wave files at the moment but will be extended to support other file types in future.

Also I am outputting a min and max array for display purposes, this done in C++ is very fast and then in Flowstone all we need to do is display the arrays.

I still need to add write support, write support will enable us to add our own cue points as well as any addition data, for instance you could add a chunk for the base key of the sample.
This will open the door for creating our own file format, imagine saving all samples for each key and velocity of a sampler to one big file? That is also an aim of this project but will take a fair bit of work.

This is a very early version, optimizations are plenty in the schematic. Lot of improvements to make in the DLL.

Anyone with some C++ chops that fancies getting involved give me a shout!
Attachments
SchematicDLL.zip
Schematic and DLL
(296.11 KiB) Downloaded 1258 times
Last edited by Exo on Fri Nov 07, 2014 11:52 pm, edited 1 time in total.
Reason: updated dll
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
Exo
 
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK

Re: Wave file loading via DLL component

Postby tester » Mon Nov 03, 2014 11:20 pm

I like the project. Especially that future part that will allow to load files different than wav.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
tester
 
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: Flowstone Audio Files project

Postby Jay » Fri Nov 07, 2014 12:25 am

Hi exo

ive tried your project m8 cheers for sharing that! :) but i could not get it to work, the dll component does not seem to load or see the dll file and it returns a false result for "Whether the dll was found" and "Whether the function was found in the dll",

no worky.png
no worky.png (15.65 KiB) Viewed 28041 times


I just have the dll file and the project in a folder on my desktop! im on win7 x64

I thought it was my firewall or something along those lines stopping it from working but nothing with all of my security stuff off either!

any ideas? would this be dependent on any runtimes or that?

great project though :)
Jay
 
Posts: 276
Joined: Tue Jul 13, 2010 5:42 pm

Re: Flowstone Audio Files project

Postby MyCo » Fri Nov 07, 2014 1:19 am

The DLL is compiled non-static so it depends on 2 other DLLs (LIBSTDC++-6.DLL and LIBGCC_S_DW2-1.DLL). You can avoid that by adding the compiler switches -static -static-libgcc to the linker step.

I've build a wave reader for a wave player just one month ago. Although waves have a pretty easy format, there are so many types that you can work forever on this.
User avatar
MyCo
 
Posts: 718
Joined: Tue Jul 13, 2010 12:33 pm
Location: Germany

Re: Flowstone Audio Files project

Postby Exo » Fri Nov 07, 2014 6:46 am

@Jay thanks for check it out! I will try what Myco mentions and recompile the dll, I'll do that tonight.
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
Exo
 
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK

Re: Flowstone Audio Files project

Postby Exo » Fri Nov 07, 2014 6:53 am

MyCo wrote:The DLL is compiled non-static so it depends on 2 other DLLs (LIBSTDC++-6.DLL and LIBGCC_S_DW2-1.DLL). You can avoid that by adding the compiler switches -static -static-libgcc to the linker step.

I've build a wave reader for a wave player just one month ago. Although waves have a pretty easy format, there are so many types that you can work forever on this.


Thanks Myco, yes there are many types of wav. My plan is to support the main ones in use.
I was also going to add support for MP3 but I have read there is patent issues, so I might just do that via Lame although I'm not really sure if that gets round the problem.
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
Exo
 
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK

Re: Flowstone Audio Files project

Postby tulamide » Fri Nov 07, 2014 10:48 am

Exo wrote:I was also going to add support for MP3 but I have read there is patent issues, so I might just do that via Lame although I'm not really sure if that gets round the problem.

That's where it would be great if someone among us is a lawyer. In general, for everything encoding or decoding, you need a licence. Even if you make use of a third party product (LAME is especially noted). That would be $0.75 per unit, with a minimum of $15000 per year. This is how it was all the time.

On the other hand, there is this (bolded by myself):
"The initial near-complete MPEG-1 standard (parts 1, 2 and 3) was publicly available on 6 December 1991 as ISO CD 11172. In most countries, patents cannot be filed after prior art has been made public, and patents expire 20 years after the initial filing date, which can be up to 12 months later for filings in other countries. As a result, patents required to implement MP3 expired in most countries by December 2012, 21 years after the publication of ISO CD 11172."
If the patents expired I don't see that any licences would be needed anymore. But that could only be answered by a patent lawyer. Anyone?
"There lies the dog buried" (German saying translated literally)
tulamide
 
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Flowstone Audio Files project

Postby Exo » Fri Nov 07, 2014 11:30 am

tulamide wrote:
Exo wrote:I was also going to add support for MP3 but I have read there is patent issues, so I might just do that via Lame although I'm not really sure if that gets round the problem.

That's where it would be great if someone among us is a lawyer. In general, for everything encoding or decoding, you need a licence. Even if you make use of a third party product (LAME is especially noted). That would be $0.75 per unit, with a minimum of $15000 per year. This is how it was all the time.

On the other hand, there is this (bolded by myself):
"The initial near-complete MPEG-1 standard (parts 1, 2 and 3) was publicly available on 6 December 1991 as ISO CD 11172. In most countries, patents cannot be filed after prior art has been made public, and patents expire 20 years after the initial filing date, which can be up to 12 months later for filings in other countries. As a result, patents required to implement MP3 expired in most countries by December 2012, 21 years after the publication of ISO CD 11172."
If the patents expired I don't see that any licences would be needed anymore. But that could only be answered by a patent lawyer. Anyone?


I will have to look into this properly, the version you state is old and maybe not fully compatible with recent versions? I don't know but that could be a problem.

It might be possible that I could add MP3 support and then the the user of the Library would be liable? And not me? Yes we need a lawyer :lol:
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
Exo
 
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK

Re: Flowstone Audio Files project

Postby Exo » Fri Nov 07, 2014 11:53 pm

Jay wrote:Hi exo

ive tried your project m8 cheers for sharing that! :) but i could not get it to work, the dll component does not seem to load or see the dll file and it returns a false result for "Whether the dll was found" and "Whether the function was found in the dll",

no worky.png


I just have the dll file and the project in a folder on my desktop! im on win7 x64

I thought it was my firewall or something along those lines stopping it from working but nothing with all of my security stuff off either!

any ideas? would this be dependent on any runtimes or that?

great project though :)


I have updated the DLL with the static linker options, so hopefully this should work for you now :)
Flowstone Guru. Blog and download site for Flowstone.
Best VST Plugins. Initial Audio.
Exo
 
Posts: 426
Joined: Wed Aug 04, 2010 8:58 pm
Location: UK

Re: Flowstone Audio Files project

Postby tulamide » Sat Nov 08, 2014 5:02 am

So, I've done a lot of research. Hours and hours of reading heavy technical patent descriptions. Here's my results. Let's start with a summary.

If you only decode mp3, the latest patent involved will expire on 22 September 2015.
If you encode mp3, the latest patent involved will expire on 16 April 2017.

That's good news. You will only support decoding, so if you don't publish your mp3 decoding option before September 2015 (only 10 months from now), you are free to do so. It will be in the public domain by then.

Here's the last patent involved in decoding mp3: http://patft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=5812672.PN.&OS=PN/5812672&RS=PN/5812672

And here the last one involved in encoding mp3: http://patft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=6009399.PN.&OS=PN/6009399&RS=PN/6009399

Oh my, I lost a day in my life researching this and my brain aged at least 10 years. And all of that reduced to 11 sentences in an off-topic post :lol:
"There lies the dog buried" (German saying translated literally)
tulamide
 
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Next

Return to User Examples

Who is online

Users browsing this forum: Google [Bot] and 77 guests