Skip to content
/ crime Public

Concurrent real-time interface for multimedia engines

License

Notifications You must be signed in to change notification settings

rimelabs/crime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Concurrent real-time interface for multimedia engines

The crime crate is useful for real-time multimedia applications for providing different output audio formats where the input is a stream of samples, typically coming from a machine-learning model which generates a fixed amount of samples in fp32.

This crate operates entirely on streams, provides delay compensation for each supported operation, and thus eliminates the need for providing padding and/or flushing the buffer. The first audio signal in the input is guaranteed to correspond to the first audio signal in the output, and likewise for the last signal.

Current functionalities:

  • Input and outputs in futures::Stream.
  • Resampling.
  • Streaming audio codec (PCM, WAV, MP3).
  • Time scaling (using WSOLA).

Supported codecs:

  • Headerless sample stream
    • Linear PCM (i16, f16, f32, all little-endian)
    • G.711 μ-law
  • MP3
  • WAV
    • Linear PCM (i16, f16, f32, all little-endian)

About

Concurrent real-time interface for multimedia engines

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages