import React, {useEffect, useState, useRef} from "react"; import ReactDOM from "react-dom"; import {getCurrentUser, getJamTrackPublic} from '../../helpers/rest'; import JKJamTrackPreview from './JKJamTrackPreview'; import {AppDataProvider} from '../../context/AppDataContext'; import {JamTrackPreviewProvider} from '../../context/JamTrackPreviewContext' import {useHistory} from "react-router-dom"; import useJamTrackShopping from "../../hooks/useJamTrackShopping"; import UserAuth, {useAuth} from '../../context/UserAuth'; const awesome1 = '/img/landing/jamtracks/Top 10 Image - Number 1.png'; const awesome2 = '/img/landing/jamtracks/Top 10 Image - Number 2.png'; const awesome3 = '/img/landing/jamtracks/Top 10 Image - Number 3.png'; const awesome4 = '/img/landing/jamtracks/Top 10 Image - Number 4.png'; const awesome5 = '/img/landing/jamtracks/Top 10 Image - Number 5.png'; const awesome6 = '/img/landing/jamtracks/Top 10 Image - Number 6.png'; const awesome7 = '/img/landing/jamtracks/Top 10 Image - Number 7.png'; const awesome8 = '/img/landing/jamtracks/Top 10 Image - Number 8.png'; const awesome9 = '/img/landing/jamtracks/Top 10 Image - Number 9.png'; // To test this component in isolation, go to: // http://beta.jamkazam.local:4000/public/backing-tracks/artist/song // But this is only for development const BodyComponent = ({ id = "1", plan_code = "jamtrack-acdc-backinblack", slug = "ac-dc-back-in-black", artist = "AC/DC (defaulted)", song = "Back in Black (defaulted)", provided_jam_track = null }) => { const [jamTrack, setJamTrack] = useState(provided_jam_track) const [jamTrackLoading, setJamTrackLoading] = useState(false) const history = useHistory() const {addToCart} = useJamTrackShopping() const { currentUser } = useAuth(); console.log(`loading jamtrack with slug ${slug}`) const isLoggedIn = () => { return currentUser != null } const hasFreeJamTrack = () => { return currentUser == null || currentUser.show_free_jamtrack } const ctaClick = () => { const addJamTrackToCart = async () => { try { await addToCart(jamTrack, true); } catch (error) { console.error(error); alert("Unable to add JamTrack to your cart."); } } if (hasFreeJamTrack()) { if (isLoggedIn()) { // add to shopping cart automatically and then redirect to shopping cart page addJamTrackToCart() } else { console.log("no user") // redirect to the signup screen with the jamtrack & artist params set window.location.href = "/auth/signup?jamtrack=" + encodeURIComponent(slug) } } else { // This would mean there is a user in context, also, don't show the free option for this user (they already have a free jamtrack) addJamTrackToCart() } } const ConditionalLoader = () => { if (jamTrack == null) { return
Our JamTracks take backing tracks to another level. Click the play icons in the Preview box to hear the full backing track mix and each of its parts. You can use our free website or our free app to easily make custom backing track mixes – e.g. to hear just one part as you learn it, to mute that one part to play along with the band, to slow down playback for practice while building up your speed, to change pitch/key up or down, and to record yourself in high-quality audio and video playing or singing with the track to share with family and friends. Click the button below to get your {song} by {artist} backing track now! Or scroll down to learn more.
Join 300,000+ other musicians who love our backing tracks!
{artist} - {song}
Click the play buttons below to preview the master mix and 20-second samples of each fully isolated part of the backing track.
{jamTrack != null &&
JamKazam offers a catalog of 9,000+ backing tracks. We carefully curate each backing
track for quality, and every one includes fully isolated tracks for each part of the music -
.e.g. lead vocal, backing vocals, lead guitar, rhythm guitar, keys, bass, drums, etc. This gives
you complete creative control over every aspect of the music and how you want to use it for
learning, practice, recording, mixing, and other creative endeavors.
When learning to play a part, it's incredibly valuable to be able to hear just one part in
isolation. Once you've learned your part, you can turn around and mute just that one part of
the backing track, and then play along with the rest of the band. Or if you prefer, you can
turn that part down low but keep it around as a subtle hint. Or pan the recorded track into
your left ear while your live performance is panned into your right ear. You are in control.
When you've customized your backing track mix, you can easily save your custom mixes to
use them again later without having to recreate them. Your custom mixes are saved to the
JamKazam cloud, so you can access them from almost any Internet-connected device. If you want to use your mixes outside the JamKazam website or app, you can also export
custom mixes as a simple .mp3, .wav, or .ogg audio files to use anywhere.
You can easily slow down playback of your backing track by a specific % without changing
pitch, so the song still sounds "right", just slower. This is great for building your technique
on tougher sections while gradually increasing tempo. You can also make backing tracks
play faster if you want to hit the jets.
If you're a singer and you need to bring the song down into your vocal range, or if you're an
instrumentalist and want to change the piece to a different key, you can change the pitch of
any backing track up or down by a specified number of semitones (half steps).
Use the JamKazam app to make either audio-only or video + audio recordings of yourself
playing or singing along with your backing track. The app captures video from built-in or
external webcams and combines this video with the audio of the backing track mixed with
your live performance into a single integrated video, delivering far higher audio quality than
a smartphone recording.
If you want to use the individual parts of the backing track outside the JamKazam website
or app, you can also download all the individual parts (e.g. lead vocal, drums, bass, etc.) to
your computer to use in a DAW (digital audio workstation) or other apps for creating
remixes, etc.
The free JamKazam app lets you easily apply VST & AU plugins to your live performance,
mixed together seamlessly with your backing track. For example, guitarists can apply
popular amp sims like AmpliTube to get just the right guitar tone to match the song, and
vocalists can apply effects like reverb or pitch correction.
The free JamKazam app also lets you use MIDI instruments and mix and record this
instrumental audio with backing tracks. For example, keys players can use MIDI keyboard
controllers with plugins to generate traditional piano sounds, Rhodes electric piano,
Hammond organ, and other classic keys tones. And drummers who use electronic kits can
use their favorite plugins to power their percussive audio.