A TypeScript library for converting YouTube audio to nightcore. Pass a YouTube URL and get back processed audio with higher pitch and faster tempo.
npm install nightcoreifyFFmpeg is required for audio processing:
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Windows
# Download from https://ffmpeg.org and add to PATHVerify installation:
ffmpeg -versionimport nightcoreify from 'nightcoreify';
async function example() {
const youtubeUrl = 'https://youtube.com/watch?v=dQw4w9WgXcQ';
const result = await nightcoreify(youtubeUrl);
if (result) {
// result is a Buffer containing MP3 audio data
fs.writeFileSync('nightcore.mp3', result);
console.log('Nightcore generated successfully');
} else {
console.log('Failed to process video');
}
}import nightcoreify from 'nightcoreify';
app.post('/nightcore', async (req, reply) => {
try {
const { youtubeUrl } = req.body;
const audioBuffer = await nightcoreify(youtubeUrl);
if (!audioBuffer) {
return reply.code(400).send({ error: 'Failed to process video' });
}
reply
.type('audio/mpeg')
.header('Content-Disposition', 'attachment; filename="nightcore.mp3"')
.send(audioBuffer);
} catch (error) {
reply.code(500).send({ error: 'Processing failed' });
}
});Parameters:
youtubeUrl- Valid YouTube URL
Returns:
Buffer- MP3 audio data with nightcore processing appliedfalse- If processing fails
Supported URL formats:
https://youtube.com/watch?v=VIDEO_IDhttps://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_ID
- Download - Extracts highest quality audio from YouTube
- Convert - Converts to MP3 using ffmpeg
- Process - Applies speed and pitch adjustments
- Return - Provides processed audio as Buffer
Temporary files are created during processing and cleaned up automatically.
try {
const result = await nightcoreify(url);
if (result === false) {
// Handle processing failure
}
} catch (error) {
// Handle network errors, invalid URLs, etc.
}"ffmpeg not found" - Install ffmpeg and ensure it's in your PATH
Processing fails - Video may be private, restricted, or unavailable
"Could not extract functions" - YouTube player updates can break downloading; try updating the package
ISC
Note: This library is for educational and personal use. Please respect YouTube's Terms of Service and copyright laws when using this tool.