Concat/join multiple audio files into one in Node.JS [closed]











up vote
0
down vote

favorite












Edit:



The question was marked as too broad so I will factorize it to one simple question:



How do I play a sequence of audio files from within a web page (React actually) without small gaps between plays ?





I have an audio file (in this case mp3 but could be any format) which was split in 100 separate files by Audacity.



I stored these files in MongoDB as binary entries to fetch them later. (Files could be stored as whole in a directory on the server if the solution is based on it)



In Node.JS with simple Buffet.concat(), I managed to join the binaries and I could download the entire file as a single mp3.



The problem is, the output file was only 3 seconds long (which is a single mp3 chunk is) but was playable for the real duration even if the player was confused about 3 seconds length. Also it was ~3MB bigger that the original complete file, probably because of headers between chunks being concatenated.



My question is, how could I possibly merge audio chunks with proper headers being in the output? I know ffmpeg can do some black magic but I mostly need a Buffer output to make the file playable as a stream inside a web page without download. That point is very important.



Thanks a lot in advance :)










share|improve this question















closed as too broad by pushkin, K.Nicholas, Graham, Shiladitya, lagom Nov 9 at 5:12


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.















  • MP3 is a compressed audio format, and each individual file will have it's own headers and self-contained data. You can't just concatenate the bytes together and expect it to work; you would have to decode the MP3 into raw audio data first and then concatenate the audio buffers.
    – Herohtar
    Nov 8 at 21:54










  • Also, storing a split audio file in a database seems like a really bad idea. It should just be hosted on your server and then loaded via an <audio> tag and played using the Web Audio API.
    – Herohtar
    Nov 8 at 21:58








  • 1




    @Herohtar Because I need to rearrange them on a "timeline" and let the user play the whole sound as a single one but with chunks organized in the order the user puts them
    – Igor VANIAN
    Nov 8 at 22:11






  • 1




    Ah, I see. Have you tried doing the concat using AudioBuffer? You should be able to put something together using that, as the Web Audio API is intended for exactly those kinds of scenarios. Either concatenating them together, or playing each buffer in succession.
    – Herohtar
    Nov 8 at 22:19








  • 1




    @Herohtar, actually I dug deeper and wrote a better version of code and it worked like a charm, there seems to be no delay between buffers. Thanks a lot for the tip !
    – Igor VANIAN
    Nov 11 at 19:21















up vote
0
down vote

favorite












Edit:



The question was marked as too broad so I will factorize it to one simple question:



How do I play a sequence of audio files from within a web page (React actually) without small gaps between plays ?





I have an audio file (in this case mp3 but could be any format) which was split in 100 separate files by Audacity.



I stored these files in MongoDB as binary entries to fetch them later. (Files could be stored as whole in a directory on the server if the solution is based on it)



In Node.JS with simple Buffet.concat(), I managed to join the binaries and I could download the entire file as a single mp3.



The problem is, the output file was only 3 seconds long (which is a single mp3 chunk is) but was playable for the real duration even if the player was confused about 3 seconds length. Also it was ~3MB bigger that the original complete file, probably because of headers between chunks being concatenated.



My question is, how could I possibly merge audio chunks with proper headers being in the output? I know ffmpeg can do some black magic but I mostly need a Buffer output to make the file playable as a stream inside a web page without download. That point is very important.



Thanks a lot in advance :)










share|improve this question















closed as too broad by pushkin, K.Nicholas, Graham, Shiladitya, lagom Nov 9 at 5:12


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.















  • MP3 is a compressed audio format, and each individual file will have it's own headers and self-contained data. You can't just concatenate the bytes together and expect it to work; you would have to decode the MP3 into raw audio data first and then concatenate the audio buffers.
    – Herohtar
    Nov 8 at 21:54










  • Also, storing a split audio file in a database seems like a really bad idea. It should just be hosted on your server and then loaded via an <audio> tag and played using the Web Audio API.
    – Herohtar
    Nov 8 at 21:58








  • 1




    @Herohtar Because I need to rearrange them on a "timeline" and let the user play the whole sound as a single one but with chunks organized in the order the user puts them
    – Igor VANIAN
    Nov 8 at 22:11






  • 1




    Ah, I see. Have you tried doing the concat using AudioBuffer? You should be able to put something together using that, as the Web Audio API is intended for exactly those kinds of scenarios. Either concatenating them together, or playing each buffer in succession.
    – Herohtar
    Nov 8 at 22:19








  • 1




    @Herohtar, actually I dug deeper and wrote a better version of code and it worked like a charm, there seems to be no delay between buffers. Thanks a lot for the tip !
    – Igor VANIAN
    Nov 11 at 19:21













up vote
0
down vote

favorite









up vote
0
down vote

favorite











Edit:



The question was marked as too broad so I will factorize it to one simple question:



How do I play a sequence of audio files from within a web page (React actually) without small gaps between plays ?





I have an audio file (in this case mp3 but could be any format) which was split in 100 separate files by Audacity.



I stored these files in MongoDB as binary entries to fetch them later. (Files could be stored as whole in a directory on the server if the solution is based on it)



In Node.JS with simple Buffet.concat(), I managed to join the binaries and I could download the entire file as a single mp3.



The problem is, the output file was only 3 seconds long (which is a single mp3 chunk is) but was playable for the real duration even if the player was confused about 3 seconds length. Also it was ~3MB bigger that the original complete file, probably because of headers between chunks being concatenated.



My question is, how could I possibly merge audio chunks with proper headers being in the output? I know ffmpeg can do some black magic but I mostly need a Buffer output to make the file playable as a stream inside a web page without download. That point is very important.



Thanks a lot in advance :)










share|improve this question















Edit:



The question was marked as too broad so I will factorize it to one simple question:



How do I play a sequence of audio files from within a web page (React actually) without small gaps between plays ?





I have an audio file (in this case mp3 but could be any format) which was split in 100 separate files by Audacity.



I stored these files in MongoDB as binary entries to fetch them later. (Files could be stored as whole in a directory on the server if the solution is based on it)



In Node.JS with simple Buffet.concat(), I managed to join the binaries and I could download the entire file as a single mp3.



The problem is, the output file was only 3 seconds long (which is a single mp3 chunk is) but was playable for the real duration even if the player was confused about 3 seconds length. Also it was ~3MB bigger that the original complete file, probably because of headers between chunks being concatenated.



My question is, how could I possibly merge audio chunks with proper headers being in the output? I know ffmpeg can do some black magic but I mostly need a Buffer output to make the file playable as a stream inside a web page without download. That point is very important.



Thanks a lot in advance :)







javascript node.js audio buffer concat






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 9 at 10:45

























asked Nov 8 at 21:40









Igor VANIAN

177




177




closed as too broad by pushkin, K.Nicholas, Graham, Shiladitya, lagom Nov 9 at 5:12


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.






closed as too broad by pushkin, K.Nicholas, Graham, Shiladitya, lagom Nov 9 at 5:12


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.














  • MP3 is a compressed audio format, and each individual file will have it's own headers and self-contained data. You can't just concatenate the bytes together and expect it to work; you would have to decode the MP3 into raw audio data first and then concatenate the audio buffers.
    – Herohtar
    Nov 8 at 21:54










  • Also, storing a split audio file in a database seems like a really bad idea. It should just be hosted on your server and then loaded via an <audio> tag and played using the Web Audio API.
    – Herohtar
    Nov 8 at 21:58








  • 1




    @Herohtar Because I need to rearrange them on a "timeline" and let the user play the whole sound as a single one but with chunks organized in the order the user puts them
    – Igor VANIAN
    Nov 8 at 22:11






  • 1




    Ah, I see. Have you tried doing the concat using AudioBuffer? You should be able to put something together using that, as the Web Audio API is intended for exactly those kinds of scenarios. Either concatenating them together, or playing each buffer in succession.
    – Herohtar
    Nov 8 at 22:19








  • 1




    @Herohtar, actually I dug deeper and wrote a better version of code and it worked like a charm, there seems to be no delay between buffers. Thanks a lot for the tip !
    – Igor VANIAN
    Nov 11 at 19:21


















  • MP3 is a compressed audio format, and each individual file will have it's own headers and self-contained data. You can't just concatenate the bytes together and expect it to work; you would have to decode the MP3 into raw audio data first and then concatenate the audio buffers.
    – Herohtar
    Nov 8 at 21:54










  • Also, storing a split audio file in a database seems like a really bad idea. It should just be hosted on your server and then loaded via an <audio> tag and played using the Web Audio API.
    – Herohtar
    Nov 8 at 21:58








  • 1




    @Herohtar Because I need to rearrange them on a "timeline" and let the user play the whole sound as a single one but with chunks organized in the order the user puts them
    – Igor VANIAN
    Nov 8 at 22:11






  • 1




    Ah, I see. Have you tried doing the concat using AudioBuffer? You should be able to put something together using that, as the Web Audio API is intended for exactly those kinds of scenarios. Either concatenating them together, or playing each buffer in succession.
    – Herohtar
    Nov 8 at 22:19








  • 1




    @Herohtar, actually I dug deeper and wrote a better version of code and it worked like a charm, there seems to be no delay between buffers. Thanks a lot for the tip !
    – Igor VANIAN
    Nov 11 at 19:21
















MP3 is a compressed audio format, and each individual file will have it's own headers and self-contained data. You can't just concatenate the bytes together and expect it to work; you would have to decode the MP3 into raw audio data first and then concatenate the audio buffers.
– Herohtar
Nov 8 at 21:54




MP3 is a compressed audio format, and each individual file will have it's own headers and self-contained data. You can't just concatenate the bytes together and expect it to work; you would have to decode the MP3 into raw audio data first and then concatenate the audio buffers.
– Herohtar
Nov 8 at 21:54












Also, storing a split audio file in a database seems like a really bad idea. It should just be hosted on your server and then loaded via an <audio> tag and played using the Web Audio API.
– Herohtar
Nov 8 at 21:58






Also, storing a split audio file in a database seems like a really bad idea. It should just be hosted on your server and then loaded via an <audio> tag and played using the Web Audio API.
– Herohtar
Nov 8 at 21:58






1




1




@Herohtar Because I need to rearrange them on a "timeline" and let the user play the whole sound as a single one but with chunks organized in the order the user puts them
– Igor VANIAN
Nov 8 at 22:11




@Herohtar Because I need to rearrange them on a "timeline" and let the user play the whole sound as a single one but with chunks organized in the order the user puts them
– Igor VANIAN
Nov 8 at 22:11




1




1




Ah, I see. Have you tried doing the concat using AudioBuffer? You should be able to put something together using that, as the Web Audio API is intended for exactly those kinds of scenarios. Either concatenating them together, or playing each buffer in succession.
– Herohtar
Nov 8 at 22:19






Ah, I see. Have you tried doing the concat using AudioBuffer? You should be able to put something together using that, as the Web Audio API is intended for exactly those kinds of scenarios. Either concatenating them together, or playing each buffer in succession.
– Herohtar
Nov 8 at 22:19






1




1




@Herohtar, actually I dug deeper and wrote a better version of code and it worked like a charm, there seems to be no delay between buffers. Thanks a lot for the tip !
– Igor VANIAN
Nov 11 at 19:21




@Herohtar, actually I dug deeper and wrote a better version of code and it worked like a charm, there seems to be no delay between buffers. Thanks a lot for the tip !
– Igor VANIAN
Nov 11 at 19:21












1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










In the first case, you're taking an audio file and converting it into many audio files.



In the second case, you're taking many binary files (yes, they're still audio files, but you're using a process that ignores that fact) and concatenating them into a single binary file.



Most audio files formats contain a bunch of information that describe their content (channels, bit rates, etc.). Using software designed for handling audio files, to split an audio files, generates more audio files, each with their own set of descriptive data.



Trying to concatenate those files without taking their content into consideration results in a single file containing the information for several audio files. Since most audio formats aren't designed for this scenario, some players will only see the first bit and consider the rest to be garbage while other players will tell you the content is one thing while playing something else.



Treat the files the same way at both ends of the process.





Javascript doesn't have a native way of easily manipulating audio the way you want. You do have a few options though:




  • Find a module that interfaces with audio software. There are a number of npm modules that use ffmpeg. Doing it this way may still not get you what you want as merging audio files is not an instant process.

  • Handle the audio manipulation from within the page. You can already load and play individual audio files; create/find something that can play them in sequence without needing to stitch them together. This will allow the kind of manipulation you want. When the user wants to download a finished product: send the sequence of clip ids back to the server for processing, use the above-mentioned modules to assemble them into a single audio file, then provide that file for download.






share|improve this answer





















  • The second option is what I'm trying to achieve but with normal HTML5 Audio class it seems impossible to play the sequence without gaps between chunks. As Herohtar mentioned, maybe AudioBuffer is the way to go but I'm struggling with the docs.
    – Igor VANIAN
    Nov 9 at 8:37












  • @IgorVANIAN Seems like AudioBuffer treats audio a lot like canvas does with graphics. You can create buffer arrays, either blank or from source material, and then copy chunks with a basic for loop. developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/… gives an example of adding static to a loaded audio file, but it seems feasible to change it so the played audio starts out as a zeroed buffer and the audio chunks from your database are copied in as needed.
    – Ouroborus
    Nov 9 at 22:14






  • 1




    @Outoborus, I struggled with AudioBuffer API but in the end that was the right tool. I can play a sequence with no gaps between buffers very easily now ! Thanks for the tip. You might want to add this to your answer.
    – Igor VANIAN
    Nov 11 at 19:23


















1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
0
down vote



accepted










In the first case, you're taking an audio file and converting it into many audio files.



In the second case, you're taking many binary files (yes, they're still audio files, but you're using a process that ignores that fact) and concatenating them into a single binary file.



Most audio files formats contain a bunch of information that describe their content (channels, bit rates, etc.). Using software designed for handling audio files, to split an audio files, generates more audio files, each with their own set of descriptive data.



Trying to concatenate those files without taking their content into consideration results in a single file containing the information for several audio files. Since most audio formats aren't designed for this scenario, some players will only see the first bit and consider the rest to be garbage while other players will tell you the content is one thing while playing something else.



Treat the files the same way at both ends of the process.





Javascript doesn't have a native way of easily manipulating audio the way you want. You do have a few options though:




  • Find a module that interfaces with audio software. There are a number of npm modules that use ffmpeg. Doing it this way may still not get you what you want as merging audio files is not an instant process.

  • Handle the audio manipulation from within the page. You can already load and play individual audio files; create/find something that can play them in sequence without needing to stitch them together. This will allow the kind of manipulation you want. When the user wants to download a finished product: send the sequence of clip ids back to the server for processing, use the above-mentioned modules to assemble them into a single audio file, then provide that file for download.






share|improve this answer





















  • The second option is what I'm trying to achieve but with normal HTML5 Audio class it seems impossible to play the sequence without gaps between chunks. As Herohtar mentioned, maybe AudioBuffer is the way to go but I'm struggling with the docs.
    – Igor VANIAN
    Nov 9 at 8:37












  • @IgorVANIAN Seems like AudioBuffer treats audio a lot like canvas does with graphics. You can create buffer arrays, either blank or from source material, and then copy chunks with a basic for loop. developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/… gives an example of adding static to a loaded audio file, but it seems feasible to change it so the played audio starts out as a zeroed buffer and the audio chunks from your database are copied in as needed.
    – Ouroborus
    Nov 9 at 22:14






  • 1




    @Outoborus, I struggled with AudioBuffer API but in the end that was the right tool. I can play a sequence with no gaps between buffers very easily now ! Thanks for the tip. You might want to add this to your answer.
    – Igor VANIAN
    Nov 11 at 19:23















up vote
0
down vote



accepted










In the first case, you're taking an audio file and converting it into many audio files.



In the second case, you're taking many binary files (yes, they're still audio files, but you're using a process that ignores that fact) and concatenating them into a single binary file.



Most audio files formats contain a bunch of information that describe their content (channels, bit rates, etc.). Using software designed for handling audio files, to split an audio files, generates more audio files, each with their own set of descriptive data.



Trying to concatenate those files without taking their content into consideration results in a single file containing the information for several audio files. Since most audio formats aren't designed for this scenario, some players will only see the first bit and consider the rest to be garbage while other players will tell you the content is one thing while playing something else.



Treat the files the same way at both ends of the process.





Javascript doesn't have a native way of easily manipulating audio the way you want. You do have a few options though:




  • Find a module that interfaces with audio software. There are a number of npm modules that use ffmpeg. Doing it this way may still not get you what you want as merging audio files is not an instant process.

  • Handle the audio manipulation from within the page. You can already load and play individual audio files; create/find something that can play them in sequence without needing to stitch them together. This will allow the kind of manipulation you want. When the user wants to download a finished product: send the sequence of clip ids back to the server for processing, use the above-mentioned modules to assemble them into a single audio file, then provide that file for download.






share|improve this answer





















  • The second option is what I'm trying to achieve but with normal HTML5 Audio class it seems impossible to play the sequence without gaps between chunks. As Herohtar mentioned, maybe AudioBuffer is the way to go but I'm struggling with the docs.
    – Igor VANIAN
    Nov 9 at 8:37












  • @IgorVANIAN Seems like AudioBuffer treats audio a lot like canvas does with graphics. You can create buffer arrays, either blank or from source material, and then copy chunks with a basic for loop. developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/… gives an example of adding static to a loaded audio file, but it seems feasible to change it so the played audio starts out as a zeroed buffer and the audio chunks from your database are copied in as needed.
    – Ouroborus
    Nov 9 at 22:14






  • 1




    @Outoborus, I struggled with AudioBuffer API but in the end that was the right tool. I can play a sequence with no gaps between buffers very easily now ! Thanks for the tip. You might want to add this to your answer.
    – Igor VANIAN
    Nov 11 at 19:23













up vote
0
down vote



accepted







up vote
0
down vote



accepted






In the first case, you're taking an audio file and converting it into many audio files.



In the second case, you're taking many binary files (yes, they're still audio files, but you're using a process that ignores that fact) and concatenating them into a single binary file.



Most audio files formats contain a bunch of information that describe their content (channels, bit rates, etc.). Using software designed for handling audio files, to split an audio files, generates more audio files, each with their own set of descriptive data.



Trying to concatenate those files without taking their content into consideration results in a single file containing the information for several audio files. Since most audio formats aren't designed for this scenario, some players will only see the first bit and consider the rest to be garbage while other players will tell you the content is one thing while playing something else.



Treat the files the same way at both ends of the process.





Javascript doesn't have a native way of easily manipulating audio the way you want. You do have a few options though:




  • Find a module that interfaces with audio software. There are a number of npm modules that use ffmpeg. Doing it this way may still not get you what you want as merging audio files is not an instant process.

  • Handle the audio manipulation from within the page. You can already load and play individual audio files; create/find something that can play them in sequence without needing to stitch them together. This will allow the kind of manipulation you want. When the user wants to download a finished product: send the sequence of clip ids back to the server for processing, use the above-mentioned modules to assemble them into a single audio file, then provide that file for download.






share|improve this answer












In the first case, you're taking an audio file and converting it into many audio files.



In the second case, you're taking many binary files (yes, they're still audio files, but you're using a process that ignores that fact) and concatenating them into a single binary file.



Most audio files formats contain a bunch of information that describe their content (channels, bit rates, etc.). Using software designed for handling audio files, to split an audio files, generates more audio files, each with their own set of descriptive data.



Trying to concatenate those files without taking their content into consideration results in a single file containing the information for several audio files. Since most audio formats aren't designed for this scenario, some players will only see the first bit and consider the rest to be garbage while other players will tell you the content is one thing while playing something else.



Treat the files the same way at both ends of the process.





Javascript doesn't have a native way of easily manipulating audio the way you want. You do have a few options though:




  • Find a module that interfaces with audio software. There are a number of npm modules that use ffmpeg. Doing it this way may still not get you what you want as merging audio files is not an instant process.

  • Handle the audio manipulation from within the page. You can already load and play individual audio files; create/find something that can play them in sequence without needing to stitch them together. This will allow the kind of manipulation you want. When the user wants to download a finished product: send the sequence of clip ids back to the server for processing, use the above-mentioned modules to assemble them into a single audio file, then provide that file for download.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 9 at 2:04









Ouroborus

6,1521533




6,1521533












  • The second option is what I'm trying to achieve but with normal HTML5 Audio class it seems impossible to play the sequence without gaps between chunks. As Herohtar mentioned, maybe AudioBuffer is the way to go but I'm struggling with the docs.
    – Igor VANIAN
    Nov 9 at 8:37












  • @IgorVANIAN Seems like AudioBuffer treats audio a lot like canvas does with graphics. You can create buffer arrays, either blank or from source material, and then copy chunks with a basic for loop. developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/… gives an example of adding static to a loaded audio file, but it seems feasible to change it so the played audio starts out as a zeroed buffer and the audio chunks from your database are copied in as needed.
    – Ouroborus
    Nov 9 at 22:14






  • 1




    @Outoborus, I struggled with AudioBuffer API but in the end that was the right tool. I can play a sequence with no gaps between buffers very easily now ! Thanks for the tip. You might want to add this to your answer.
    – Igor VANIAN
    Nov 11 at 19:23


















  • The second option is what I'm trying to achieve but with normal HTML5 Audio class it seems impossible to play the sequence without gaps between chunks. As Herohtar mentioned, maybe AudioBuffer is the way to go but I'm struggling with the docs.
    – Igor VANIAN
    Nov 9 at 8:37












  • @IgorVANIAN Seems like AudioBuffer treats audio a lot like canvas does with graphics. You can create buffer arrays, either blank or from source material, and then copy chunks with a basic for loop. developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/… gives an example of adding static to a loaded audio file, but it seems feasible to change it so the played audio starts out as a zeroed buffer and the audio chunks from your database are copied in as needed.
    – Ouroborus
    Nov 9 at 22:14






  • 1




    @Outoborus, I struggled with AudioBuffer API but in the end that was the right tool. I can play a sequence with no gaps between buffers very easily now ! Thanks for the tip. You might want to add this to your answer.
    – Igor VANIAN
    Nov 11 at 19:23
















The second option is what I'm trying to achieve but with normal HTML5 Audio class it seems impossible to play the sequence without gaps between chunks. As Herohtar mentioned, maybe AudioBuffer is the way to go but I'm struggling with the docs.
– Igor VANIAN
Nov 9 at 8:37






The second option is what I'm trying to achieve but with normal HTML5 Audio class it seems impossible to play the sequence without gaps between chunks. As Herohtar mentioned, maybe AudioBuffer is the way to go but I'm struggling with the docs.
– Igor VANIAN
Nov 9 at 8:37














@IgorVANIAN Seems like AudioBuffer treats audio a lot like canvas does with graphics. You can create buffer arrays, either blank or from source material, and then copy chunks with a basic for loop. developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/… gives an example of adding static to a loaded audio file, but it seems feasible to change it so the played audio starts out as a zeroed buffer and the audio chunks from your database are copied in as needed.
– Ouroborus
Nov 9 at 22:14




@IgorVANIAN Seems like AudioBuffer treats audio a lot like canvas does with graphics. You can create buffer arrays, either blank or from source material, and then copy chunks with a basic for loop. developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/… gives an example of adding static to a loaded audio file, but it seems feasible to change it so the played audio starts out as a zeroed buffer and the audio chunks from your database are copied in as needed.
– Ouroborus
Nov 9 at 22:14




1




1




@Outoborus, I struggled with AudioBuffer API but in the end that was the right tool. I can play a sequence with no gaps between buffers very easily now ! Thanks for the tip. You might want to add this to your answer.
– Igor VANIAN
Nov 11 at 19:23




@Outoborus, I struggled with AudioBuffer API but in the end that was the right tool. I can play a sequence with no gaps between buffers very easily now ! Thanks for the tip. You might want to add this to your answer.
– Igor VANIAN
Nov 11 at 19:23



Popular posts from this blog

How to pass form data using jquery Ajax to insert data in database?

National Museum of Racing and Hall of Fame

Guess what letter conforming each word