Skip to content
R interface to wavesurfer
JavaScript R Other
Branch: master
Clone or download
Latest commit 3ed616d Sep 15, 2019

README.md

wavesurfer

CRAN status Lifecycle: experimental

An interactive soundwave player and visualizer with rich set of plugins. It works well with pipe (%>%) and can be used in Shiny. It is an interface of ‘wavesurfer.js’ JavaScript library and it is based on ‘htmlwidgets’ R package.

Installation

# install.packages("remotes")
remotes::install_github("Athospd/wavesurfer")

Examples

Usage at shiny app:

library(wavesurfer)
library(shiny)

ui <- fluidPage(
  wavesurferOutput("my_ws"),
  tags$p("Press spacebar to toggle play/pause."),
  actionButton("mute", "Mute", icon = icon("volume-off"))
)

server <- function(input, output, session) {
  output$my_ws <- renderWavesurfer({
    wavesurfer(audio = "http://ia902606.us.archive.org/35/items/shortpoetry_047_librivox/song_cjrg_teasdale_64kb.mp3") %>%
      ws_set_wave_color('#5511aa') %>%
      ws_spectrogram() %>%
      ws_cursor()
  })
  
  observeEvent(input$mute, {
    ws_toggle_mute("my_ws")
  })
}

shinyApp(ui = ui, server = server)

Annotator

live app: athos.shinyapps.io/wavesurfer_annotator/

wavesurfer::runExample("annotator")

Plugins

live app: athos.shinyapps.io/wavesurfer_plugins/

wavesurfer::runExample("plugins")

Wave Decorations

live app: athos.shinyapps.io/wavesurfer_decoration/

wavesurfer::runExample("decoration")

Acknowledgement

The main actors that made this package possible were:

Thank you very much for your work.

You can’t perform that action at this time.