kandi background
Explore Kits

libnyquist | Cross platform C11 library for decoding audio | Audio Utils library

 by   ddiakopoulos C++ Version: Current License: Non-SPDX

 by   ddiakopoulos C++ Version: Current License: Non-SPDX

Download this library from

kandi X-RAY | libnyquist Summary

libnyquist is a C++ library typically used in Audio, Audio Utils applications. libnyquist has no bugs, it has no vulnerabilities and it has low support. However libnyquist has a Non-SPDX License. You can download it from GitHub.
Clang (OSX) & GCC (Linux). Libnyquist is a small C++11 library for reading sampled audio data from disk or memory. It is intended to be used an audio loading frontend for games, audio sequencers, music players, and more. The library does not include patent or license encumbered formats (such as AAC). For portability, libnyquist does not link against platform-specific APIs like Windows Media Foundation or CoreAudio, and instead bundles the source code of reference decoders as an implementation detail. Libnyquist is meant to be statically linked, which is not the case with other popular libraries like libsndfile (which is licensed under the LGPL). Furthermore, the library is not concerned with supporting very rare encodings (for instance, A-law PCM or the SND format). While untested, there are no technical conditions that preclude compilation on other platforms with C++11 support (Android NDK r10e+, Linux, iOS, etc).
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • libnyquist has a low active ecosystem.
  • It has 317 star(s) with 43 fork(s). There are 20 watchers for this library.
  • It had no major release in the last 12 months.
  • There are 8 open issues and 18 have been closed. On average issues are closed in 165 days. There are 1 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of libnyquist is current.
libnyquist Support
Best in #Audio Utils
Average in #Audio Utils
libnyquist Support
Best in #Audio Utils
Average in #Audio Utils

quality kandi Quality

  • libnyquist has no bugs reported.
libnyquist Quality
Best in #Audio Utils
Average in #Audio Utils
libnyquist Quality
Best in #Audio Utils
Average in #Audio Utils

securitySecurity

  • libnyquist has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
libnyquist Security
Best in #Audio Utils
Average in #Audio Utils
libnyquist Security
Best in #Audio Utils
Average in #Audio Utils

license License

  • libnyquist has a Non-SPDX License.
  • Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
libnyquist License
Best in #Audio Utils
Average in #Audio Utils
libnyquist License
Best in #Audio Utils
Average in #Audio Utils

buildReuse

  • libnyquist releases are not available. You will need to build from source code and install.
libnyquist Reuse
Best in #Audio Utils
Average in #Audio Utils
libnyquist Reuse
Best in #Audio Utils
Average in #Audio Utils
Top functions reviewed by kandi - BETA

Coming Soon for all Libraries!

Currently covering the most popular Java, JavaScript and Python libraries. See a SAMPLE HERE.
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.

libnyquist Key Features

:microphone: Cross platform C++11 library for decoding audio (mp3, wav, ogg, opus, flac, etc)

Community Discussions

Trending Discussions on Audio
  • How to get a smaller piece of audio from larger audio captured with browser's Web Audio Api
  • Audio widget within Jupyter notebook is **not** playing. How can I get the widget to play the audio?
  • FIXED Trying to Pause/Play MP3 file in HTML
  • Download audio file from html with javascript function
  • Result from audio FFT function makes it near impossible to inspect low/mid frequencies
  • Play multiple tracks <audio>
  • A problem with sound producing: How to make sound with Fourier coefficients
  • Get Latency of Bluetooth Headphoners UWP C++
  • Loading Wave File but there is random nonsense at the end of the data rather than the expected samples
  • How do i get the audio frequency from my mic using javascript?
Trending Discussions on Audio

QUESTION

How to get a smaller piece of audio from larger audio captured with browser's Web Audio Api

Asked 2022-Mar-22 at 12:33

I'm making a speech-to-text tool. I'm capturing audio in real time (using Web audio api from Chrome) and sending it to a server to convert the audio to text.

I'd like to extract pieces of the whole audio cause I only want to send sentences, avoiding silences. (cause the api I use has a cost). The problem is that I don't know how to convert the whole audio into pieces.

I was using MediaRecorder to capture the audio

    // recording 

    this.recorder = new MediaRecorder(stream)
    this.recorder.ondataavailable = async (e) => {
      const buffer = await e.data.arrayBuffer()
      this.chunks.add(new Uint8Array(buffer))
    }
    this.recorder.start(1000)

Now I have in this.chunks I have an array of buffers indexed by second.
If I try to reproduce the whole audio file by passing all captured buffer, it is able to decode it and reproduce it correctly:

    // reproduce the whole audio: <- this works
    const combinedChunks = this.chunks.reduce((prev, chunk) => [...prev,...chunk], [])
    const arrChunks = new Uint8Array(combinedChunks)
    this.repAudioContext = new AudioContext()
    this.repAudioBuffer = await this.repAudioContext.decodeAudioData(
      arrChunks.buffer
    )

    this.repSourceNode = this.repAudioContext.createBufferSource()
    this.repSourceNode.buffer = this.repAudioBuffer

    this.repSourceNode.connect(this.repAudioContext.destination)
    this.repSourceNode.start()

That works ^, because I'm using all of the pieces. But since I want to extract pieces of the audio, I want to be able to select only the buffer pieces I want to reproduce. And I can't do that. If I extract the first piece of audio, it stops working and I get: decodeAudioData - Unable to decode audio data.

    // reproduce a part of the audio captured: <- this won't work
    const combinedChunks = this.chunks.slice(1).reduce((prev, chunk) => [...prev,...chunk], []) // <- skipping first chunk
    const arrChunks = new Uint8Array(combinedChunks)
    this.repAudioContext = new AudioContext()
    this.repAudioBuffer = await this.repAudioContext.decodeAudioData(
      arrChunks.buffer
    )

    this.repSourceNode = this.repAudioContext.createBufferSource()
    this.repSourceNode.buffer = this.repAudioBuffer

    this.repSourceNode.connect(this.repAudioContext.destination)
    this.repSourceNode.start()

I understand this might be because in the first chunk there are headers or other metadata of the captured audio. But can't find a way of doing this.

Can anyone give me some advice? is there a different api I should be using? What's the proper way of extracting a smaller piece of audio from a larger one that I can reproduce and save as a file?

ANSWER

Answered 2022-Mar-22 at 12:33

I've found the answer to my own question, I was using the wrong approach.

What I need to use to get the raw audio inputs and be able to manipulate them is the AudioWorkletProcessor.

This video helped me to understand the theory behind:

https://www.youtube.com/watch?v=g1L4O1smMC0

And this article helped me understand how to make use of it: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_AudioWorklet

Source https://stackoverflow.com/questions/71470785

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install libnyquist

You can download it from GitHub.

Support

Regardless of input bit depth, the library produces a channel-interleaved float vector, normalized between [-1.0,+1.0]. At present, the library does not provide comprehensive resampling functionality.

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Explore Related Topics

Share this Page

share link
Reuse Pre-built Kits with libnyquist
Compare Audio Utils Libraries with Highest Support
Compare Audio Utils Libraries with Highest Quality
Compare Audio Utils Libraries with Highest Reuse
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.