Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

uk.co.bithatch:jimpulse

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

uk.co.bithatch:jimpulse

A Java port of the impulse library https://launchpad.net/impulse.bzr. For Linux only, requires libpulse and libfftw-3. Captures output from PulseAudio system and delivers transformed snapshots optionally using Fast Fourier Transforms. The data collected may then be used to create visual effects based on sound levels of various frequencies.

  • 1.2
  • Source
  • Maven
  • Socket score

Version published
Maintainers
1
Source

JImpulse

Java port of impulse, a small library for analysing sound output captured from Pulse Audio on Linux.

Dependencies

You will need a couple of libraries, but both should be available on your Linux system.

  • libpulse0
  • libfftw-3

If you are building this project from source, you will also need the -dev packages for these too.

Configuring your project

The Java Bit

The library is available in Maven Central.

Maven

	<dependency>
		<groupId>uk.co.bithatch</groupId>
		<artifactId>jimpulse</artifactId>
		<version>1.0</version>
	</dependency>

Development versions (when available), will be the next version number, suffixed with -SNAPSHOT).

	<dependency>
		<groupId>uk.co.bithatch</groupId>
		<artifactId>jimpulse</artifactId>
		<version>1.1-SNAPSHOT</version>
	</dependency>

The Native Bit

The native part of JImpulse is written using C and JNI, which itself uses the https://launchpad.net/impulse.bzr library by Ian Halpern.

The jars distributed by Bithatch only currently contain x86_64 binaries. These are automatically extracted when needed.

For other platforms you will need build yourself. The native components are built using [http://maven-nar.github.io/index.html](Maven NAR plugin). If you want to add support for other platforms, you'll need to edit the POM and build on appropriate hardware. NOTE: I do not use NAR Native ARchives, due to some problems with modularity.

Try It

You can run the test application from the command line (requires Maven).

mvn compile exec:java

If all is well, it will simple dump out a never ending stream of floating point numbers.

Usage

Integration with your own project is very simple.

The Monitor test application does the following :-

	Impulse lib = new Impulse();
	
	lib.initImpulse();
	
	// You can set a different pulse device by it's index
	//	lib.setSourceIndex(0);
	
	// Set to true to turn on fast fourier transform
	boolean fft = false;
	
	while(true) {
		/* This is 256 bytes */
		double[] data = lib.getSnapshot(fft);
		
		for(double d : data) {
			System.out.print(d + " ");
		}
		System.out.println();
	}

FAQs

Package last updated on 02 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc