{"id":18675541,"url":"https://github.com/bithatch/jimpulse","last_synced_at":"2025-11-07T05:30:42.408Z","repository":{"id":57743560,"uuid":"320103093","full_name":"bithatch/jimpulse","owner":"bithatch","description":"A Java port of the impulse library","archived":false,"fork":false,"pushed_at":"2021-05-02T21:20:30.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-27T20:35:12.835Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bithatch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-09T23:13:45.000Z","updated_at":"2021-05-02T21:20:32.000Z","dependencies_parsed_at":"2022-08-26T01:43:20.262Z","dependency_job_id":null,"html_url":"https://github.com/bithatch/jimpulse","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bithatch%2Fjimpulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bithatch%2Fjimpulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bithatch%2Fjimpulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bithatch%2Fjimpulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bithatch","download_url":"https://codeload.github.com/bithatch/jimpulse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239520208,"owners_count":19652651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T09:25:21.170Z","updated_at":"2025-11-07T05:30:42.378Z","avatar_url":"https://github.com/bithatch.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JImpulse\n\nJava port of impulse, a small library for analysing sound output captured from Pulse Audio on Linux.\n\n## Dependencies\n\nYou will need a couple of libraries, but both should be available on your Linux system. \n\n * libpulse0\n * libfftw-3\n \nIf you are building this project from source, you will also need the `-dev` packages for these too.\n\n## Configuring your project\n\n### The Java Bit\n\nThe library is available in Maven Central.\n\n### Maven\n\n```xml\n\t\u003cdependency\u003e\n\t\t\u003cgroupId\u003euk.co.bithatch\u003c/groupId\u003e\n\t\t\u003cartifactId\u003ejimpulse\u003c/artifactId\u003e\n\t\t\u003cversion\u003e1.0\u003c/version\u003e\n\t\u003c/dependency\u003e\n```\n\nDevelopment versions (when available), will be the next version number, suffixed with -SNAPSHOT).\n\n```xml\n\t\u003cdependency\u003e\n\t\t\u003cgroupId\u003euk.co.bithatch\u003c/groupId\u003e\n\t\t\u003cartifactId\u003ejimpulse\u003c/artifactId\u003e\n\t\t\u003cversion\u003e1.1-SNAPSHOT\u003c/version\u003e\n\t\u003c/dependency\u003e\n```\n\n### The Native Bit\n\nThe native part of JImpulse is written using C and JNI, which itself uses the  [https://launchpad.net/impulse.bzr](Impulse) library by Ian Halpern. \n\nThe jars distributed by Bithatch only currently contain `x86_64` binaries. These are automatically extracted when needed.\n\nFor 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*.\n\n## Try It\n\nYou can run the test application from the command line (requires Maven).\n\n```sh\nmvn compile exec:java\n```\n\nIf all is well, it will simple dump out a never ending stream of floating point numbers.\n\n\n## Usage\n\nIntegration with your own project is very simple.\n\nThe `Monitor` test application does the following :-\n\n```java\n\tImpulse lib = new Impulse();\n\t\n\tlib.initImpulse();\n\t\n\t// You can set a different pulse device by it's index\n\t//\tlib.setSourceIndex(0);\n\t\n\t// Set to true to turn on fast fourier transform\n\tboolean fft = false;\n\t\n\twhile(true) {\n\t\t/* This is 256 bytes */\n\t\tdouble[] data = lib.getSnapshot(fft);\n\t\t\n\t\tfor(double d : data) {\n\t\t\tSystem.out.print(d + \" \");\n\t\t}\n\t\tSystem.out.println();\n\t}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbithatch%2Fjimpulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbithatch%2Fjimpulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbithatch%2Fjimpulse/lists"}