Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (582)
games submitted by our members
Games in WIP (503)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Which API to use?  (Read 2780 times)
0 Members and 1 Guest are viewing this topic.
Offline Juriy

Junior Member





« Posted 2006-05-23 18:00:32 »

Hi guys! I really need quick help with sound in Java. I'm working with DSP (Digital Signal Processing) and guys in my university want to see the implementation of my ideas (all works fine in theory, but you know those kind of professors they just want to see the "experiment").

So, i need to read wave data from a wav file (that's no problem doing this, I've already wrote an implementation for this).

Then I modify (filter) the wave data somehow...

Then I need to playback a part of modified wave data. This is a problem... (I really don't know how to do this). I also need some kind of visualization of playback progress, so I must be able to monitor the progress somehow...

Please suggest some kind of API (non-commercial, for educational use at least).

Its really hard to develop such a software in a night, but I need to do my best because you know those professors!

http://voituk.kiev.ua - java tutorials, tips and tricks (Russian)
Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #1 - Posted 2006-05-23 23:28:03 »

As I understand it, you need to stream the data from the wav file, filter it, and play it in real time, correct?
I once wrote a library for real time sound synthesis, featuring all kinds of 'modules' for filtering, envelopes, LFO, FM, AM etc. I'm not sure I implemented a class for streaming wav's yet, but this would be quite trivial to add. It can stream from the audio card though, for example the mic input or wav output.
If you can use it to see how you can use javasound for things like that, let me know.

Offline Juriy

Junior Member





« Reply #2 - Posted 2006-05-26 13:17:21 »

Wow! That's great piece of work, I guess! Could you post few code snippets that explain how to stream from audio card?! Or give some links to related materials? Was it implemented in raw java, or the implementation used JNI and platform-dependent code?

http://voituk.kiev.ua - java tutorials, tips and tricks (Russian)
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 70
Projects: 15


★★★★★


« Reply #3 - Posted 2006-05-26 16:31:48 »

you could go for the OpenAL API, the LWJGL library has pretty good openal support. http://www.lwjgl.org
Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #4 - Posted 2006-05-26 17:58:45 »

Wow! That's great piece of work, I guess! Could you post few code snippets that explain how to stream from audio card?! Or give some links to related materials? Was it implemented in raw java, or the implementation used JNI and platform-dependent code?

The sources are here :
http://www.gagaplay.com/SoftSyn.zip

In the org.modsyn.test package there are some examples.

The library is pure java. It has its JavaSound implementation abstracted away, so it should be possible to create modules for streaming to OpenAL for example.

EDIT:
For streaming from your sound card using JavaSound: org.modsyn.modules.SoundGrabber
For streaming to your sound card using JavaSound: org.modsyn.modules.masters.ToJavaSound

Offline Juriy

Junior Member





« Reply #5 - Posted 2006-05-27 20:42:47 »

Erkid!

This is really great code! Thanks a lot, I like your architectural solutions very much, looking at your code I've finished forming my own architectural concepts! Thank you very much.

http://voituk.kiev.ua - java tutorials, tips and tricks (Russian)
Offline erikd

JGO Ninja


Medals: 15
Projects: 4
Exp: 14 years


Maximumisness


« Reply #6 - Posted 2006-05-29 18:53:53 »

You're welcome, I'm glad it was of any use.  Smiley

As for the architectural side of things, there's room for improvement.
I still have to get rid of the ControlInput interface and connect everthing with just Triggers and SignalInputs. It'll make things even more flexible (no need for the LFO anymore for example, as you can then just use an Oscillator for the same thing, no need for FMOperator as you can then achieve the same thing with multiple oscillators etc).
And then there was still the plan to make everything XML configurable, so that you can just link the lib to your game with the sound effects in the form of small XML files which describe the patching & params etc for the sound effects (which can then be pre-rendered).
Maybe I'll still do that sometime...

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (72 views)
2014-04-15 18:08:23

BurntPizza (68 views)
2014-04-15 03:46:01

UprightPath (79 views)
2014-04-14 17:39:50

UprightPath (65 views)
2014-04-14 17:35:47

Porlus (80 views)
2014-04-14 15:48:38

tom_mai78101 (104 views)
2014-04-10 04:04:31

BurntPizza (164 views)
2014-04-08 23:06:04

tom_mai78101 (260 views)
2014-04-05 13:34:39

trollwarrior1 (210 views)
2014-04-04 12:06:45

CJLetsGame (220 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!