kandi background
Explore Kits

go-sound | Functional sound libraries for go | Audio Utils library

 by   padster Go Version: Current License: GPL-3.0

 by   padster Go Version: Current License: GPL-3.0

kandi X-RAY | go-sound Summary

go-sound is a Go library typically used in Audio, Audio Utils applications. go-sound has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has low support. You can download it from GitHub.
Functional sound libraries for go
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • go-sound has a low active ecosystem.
  • It has 94 star(s) with 14 fork(s). There are 7 watchers for this library.
  • It had no major release in the last 6 months.
  • There are 1 open issues and 0 have been closed. There are no pull requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of go-sound is current.
go-sound Support
Best in #Audio Utils
Average in #Audio Utils
go-sound Support
Best in #Audio Utils
Average in #Audio Utils

quality kandi Quality

  • go-sound has no bugs reported.
go-sound Quality
Best in #Audio Utils
Average in #Audio Utils
go-sound Quality
Best in #Audio Utils
Average in #Audio Utils

securitySecurity

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

license License

  • go-sound is licensed under the GPL-3.0 License. This license is Strong Copyleft.
  • Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.
go-sound License
Best in #Audio Utils
Average in #Audio Utils
go-sound License
Best in #Audio Utils
Average in #Audio Utils

buildReuse

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

kandi has reviewed go-sound and discovered the below as its top functions. This is intended to give you an instant insight into go-sound implemented functionality, and help decide if they suit your requirements.

  • NewResampler creates a new Resampler using the specified sourceRate and targetRate
    • NewCQKernel returns a new CQKernel .
      • NewConstantQ creates a ConstantQ .
        • NewCQInverse creates a new CQInverse .
          • Start the midi input .
            • playClairDeLune plays a chordDeLune
              • Play all the samples in a Sound .
                • Basic example for OpenGL .
                  • makeWindow creates a window based on the window size .
                    • ParseChord parses a chord string .

                      Get all kandi verified functions for this library.

                      Get all kandi verified functions for this library.

                      go-sound Key Features

                      Functional sound libraries for go

                      go-sound Examples and Code Snippets

                      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 go-sound

                      You can download it from GitHub.

                      Support

                      For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .

                      Find more information at:

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

                      Save this library and start creating your kit

                      Clone
                      • https://github.com/padster/go-sound.git

                      • gh repo clone padster/go-sound

                      • git@github.com:padster/go-sound.git

                      Share this Page

                      share link

                      See Similar Libraries in

                      Reuse Pre-built Kits with go-sound
                      Consider Popular Audio Utils Libraries
                      Try Top Libraries by padster
                      Compare Audio Utils Libraries with Highest Support
                      Compare Audio Utils Libraries with Highest Quality
                      Compare Audio Utils Libraries with Highest Security
                      Compare Audio Utils Libraries with Permissive License
                      Compare Audio Utils Libraries with Highest Reuse
                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
                      over 650 million Knowledge Items
                      Find more libraries
                      Reuse Solution Kits and Libraries Curated by Popular Use Cases
                      Explore Kits

                      Save this library and start creating your kit